Ich habe kürzlich eine große Forschungssammlung von PDF-Dateien von einer Snow Leopard 10.6.8 TimeMachine-Festplatte auf mein neues rMBP (auf den internen Flash-Speicher) verschoben. Ich habe das manuell gemacht, nicht über die TimeMachine-Schnittstelle. Auf dem rMBP wird Mavericks 10.9.3 ausgeführt.
Wenn ich auf die PDFs doppelklicke, öffnen sie sich problemlos in der Vorschau.
Aber wenn ich zum Beispiel ein kleines AppleScript schreibe, um eines zu öffnen:
tell application "Preview"
activate
open "/Users/me/Desktop/test.pdf"
end tell
Beim Ausführen des AppleScripts erhalte ich folgenden Fehler:
Die Datei „test.pdf“ konnte nicht geöffnet werden, da Sie keine Berechtigung zum Anzeigen haben. Um Berechtigungen anzuzeigen oder zu ändern, wählen Sie das Objekt im Finder aus und wählen Sie „Datei“ > „Informationen“.
Ich suche in Get Info nach test.pdf. Auf der Registerkarte "Freigabe und Berechtigungen" spielt es keine Rolle, auf welche Berechtigungen ich setze, selbst wenn alle Benutzer die Datei lesen und schreiben können, erhalte ich immer noch den Fehler.
Wenn ich umgekehrt eine PDF-Datei aus dem Internet direkt auf den Desktop herunterlade und das Applescript zum Öffnen ausführe, wird sie problemlos in der Vorschau geöffnet.
(ps Ich muss PDF mit AppleScript öffnen, als Teil eines größeren Systems, das ich habe, ich mache es nicht nur zum Spaß!)
für mich Shell-Skript .. fehlgeschlagen, aber dieses hier unten hat funktioniert.
set filepath to POSIX path of "Users:student:Desktop:Yourfile.pdf" try set command to "open " & quoted form of filepath do shell script command end try
Hinweis: Anstelle von ":" für den Dateipfad habe ich "/" verwendet, eine Änderung, die man ausprobieren kann.
set file_path to POSIX path of "Users:student:Desktop:Yourfile.pdf"
tell application id "com.apple.Preview"
activate
set theDocument to open quoted form of file_path
save theDocument in file_path
Dieses Problem wird durch Apples Sandboxing von Preview (und anderen Apps) verursacht. Preview erhält keine Berechtigung zum Zugriff auf das PDF, wenn Sie ihm nur einen String zum Öffnen übergeben. Aus den Versionshinweisen von Apple :
Kompatibilitätshinweise
Beim Senden von Befehlen an eine Sandbox-Anwendung, wie z. B. TextEdit in OS X Mountain Lion, müssen Parameter, die sich auf Dateien beziehen, einen expliziten dateiähnlichen Typ und keine bloße Zeichenfolge haben, oder die Zielanwendung kann nicht auf die Datei zugreifen. Beispielsweise wären die Datei „Macintosh HD:Users:me:sample.txt“, die POSIX-Datei „/Users/me/sample.txt“ oder das Ergebnis der Dateiauswahl akzeptabel, aber die Zeichenfolge „/Users/me/ sample.txt" nicht.
Warum funktioniert das für die Datei in Ihrem Downloads-Ordner? Wenn Sie eine Datei manuell öffnen, behält die Anwendung die Berechtigung zum Öffnen (z. B. in Recents). Wenn Sie also eine Datei ausprobieren, die Sie bereits geöffnet haben, funktioniert es wahrscheinlich, aber es funktioniert nicht bei neuen Dateien.
Um das Problem zu beheben, ändern Sie Ihren Code wie folgt:
tell application "Preview"
activate
open POSIX file "/Users/me/Desktop/test.pdf"
end tell
open POSIX file theString
. Ich habe meinen Code so umgestaltet, dass die App die Datei direkt übergibt und die Hilfsfunktion diese Datei einfach öffnet ( theFunction(POSIX file theString)
und open theFile
).Der Kommentar von Edouard hat dieses Problem behoben. Seltsamerweise umgeht die Verwendung der Befehlszeile zum Starten der Vorschau das Berechtigungsproblem.
Hier ist das modifizierte AppleScript, das für PDFs mit Leerzeichen im Namen robust gemacht wurde:
do shell script "open -a Preview " & quoted form of "/Users/me/Desktop/this has spaces and 'punctuation'.pdf"
Ich habe jetzt ein ähnliches Problem mit der Vorschau. Ich habe einige Dateien von Apple heruntergeladen. Ich kann Quicklook im Finder verwenden, um ihren Inhalt anzuzeigen, aber nicht mit Vorschau öffnen, obwohl ich die Berechtigungen in „Informationen erhalten“ auf „Jeder lesen und schreiben“ festlegen kann.
Ich habe überprüft, und andere Dateien, die im selben Ordner in Ordnung waren, haben jetzt dieses Problem. Ein Blick in Terminal zeigte, was sich geändert hat, obwohl ich nicht weiß, warum
drwxr-xr-x 5 andydent 501 170 22 Jul 00:21 Android
drwx------ 182 andydent 501 6188 2 Sep 23:08 Apple various
drwxr-xr-x@ 5 andydent 501 170 23 Dec 2007 AppleScript
Die Apple- Berechtigung für verschiedene Verzeichnisse schien etwas seltsam zu sein, obwohl ich als Besitzer nicht dachte, dass die fehlenden Berechtigungen einen Unterschied machen würden.
Das Ändern der Berechtigungen für das Verzeichnis hat nicht funktioniert.
Das Kopieren der Datei an einen anderen Ort hat nicht funktioniert.
Die Verwendung sudo open iTunesConnect_Guide.pdf
hat nicht funktioniert - ich habe immer noch einen Fehlerdialog in der Vorschau.
Als ich jedoch die Vorschau beendete und neu startete, konnte sie diese Dateien ohne Probleme öffnen. Es könnte so einfach sein - beenden Sie einfach die App.
Ich habe seltsame Finder-Verlangsamungen auf meinem System erlebt, wenn der Spinner beim Öffnen eines Verzeichnisses viele Sekunden lang läuft. Ich weiß nicht, ob die beiden Probleme zusammenhängen. Ich habe mich auch gefragt, ob dies irgendwie mit der Neustarteinstellung zusammenhängt, die Fenster erneut öffnet.
Das Neustarten der Vorschau löste auch das Problem, dass Dateien aufgrund dieses Berechtigungsproblems nicht einmal vom Finder aus geöffnet werden konnten, wie Andy Dent vorgeschlagen hatte.
Zwieback
Edouard
do shell script open -a Preview /Users/me/Desktop/test.pdf
?