pdf mit Optionen Öffnen (acrobat)

  • RE: pdf mit Optionen Öffnen (acrobat)

    Original von macmoonshine
    Du musst das PDF hinter das Programm setzen, so wie es in der Man-Page steht:

    Quellcode

    1. open -a /Applications/Adobe\ Reader\ 9/Adobe\ Reader.app HandbuchEibPC.pdf --args /a zoom=200

    Ja, das hatte ich schon getestet, aber der Zoom wird dann nicht ausgeführt. Kann man den Aufruf auch direkt machen ohne den Umweg über den open-Befehl?

    Leider ist die Reihenfolge beim Aufruf (zumindest unter Linux) wichtig für den acroread und ich vermute, dass die Optionen nachgestellt werden: Die Syntax müsste aber sein:

    AcroReaderBinary OPTIONEN File
  • RE: pdf mit Optionen Öffnen (acrobat)

    Bist Du Dir sicher, dass Du die richtigen Parameter verwendest? Nach partners.adobe.com/public/deve…bat/PDFOpenParameters.pdf müsste die Zeile so aussehen:

    Quellcode

    1. open -a /Applications/Adobe\ Reader\ 9/Adobe\ Reader.app --args /A zoom=200=OpenActions HandbuchEibPC.pdf

    Alternativ solltest Du es mal per AppleScript probieren.

    Viele Programme kannst Du auch direkt über das Binary im MacOS-Unterordner des App-Bundles starten. Für Dein Problem sieht das dann so aus:

    Quellcode

    1. /Applications/Adobe\ Reader\ 9/Adobe\ Reader.app/Contents/MacOS/Adobe\ Reader /A zoom=200=OpenActions HandbuchEibPC.pdf
    „Meine Komplikation hatte eine Komplikation.“
  • RE: pdf mit Optionen Öffnen (acrobat)

    Original von macmoonshine
    Bist Du Dir sicher, dass Du die richtigen Parameter verwendest? Nach partners.adobe.com/public/deve…bat/PDFOpenParameters.pdf müsste die Zeile so aussehen:

    Quellcode

    1. open -a /Applications/Adobe\ Reader\ 9/Adobe\ Reader.app --args /A zoom=200=OpenActions HandbuchEibPC.pdf


    Steht zwar dort, aber unter Windows und Linux ist das ohne das OpenActions gegangen. Probiert habe ich das - erfolglos.

    Alternativ solltest Du es mal per AppleScript probieren.

    Kenn ich gar nicht, seufz.

    Viele Programme kannst Du auch direkt über das Binary im MacOS-Unterordner des App-Bundles starten. Für Dein Problem sieht das dann so aus:

    Quellcode

    1. /Applications/Adobe\ Reader\ 9/Adobe\ Reader.app/Contents/MacOS/Adobe\ Reader /A zoom=200=OpenActions HandbuchEibPC.pdf

    Immerhin ging der Direktaufruf. Aber das Ergebnis war auch nicht besser. Er scheint nun "/A" einlesen zu wollen. Ich bin ratlos. Laut dem zitierten Dokument, sollte der Reader doch mit Optionen gestartet werden können (wie problemlos in Linux und Windows).
    Hm...
  • Auf Seite 5 steht:
    When opening a PDF document from a command shell, you can pass the parameters to the open command using the /A switch using the following syntax: ...

    Danach würde ich vermuten, dass das auch UNIX-Shells miteinschließt. Anscheinend mag die MacOS-Version die Parameter aber nicht.

    Mit AppleScript geht's so

    Quellcode

    1. set theFile to choose file
    2. tell application "Adobe Reader"
    3. open theFile options "zoom=200"
    4. end tell
    „Meine Komplikation hatte eine Komplikation.“
  • Quellcode

    1. on open inFiles
    2. set theFile to item 1 of inFiles
    3. tell application "Adobe Reader" to open inFiles options "zoom=200"
    4. end open
    5. on run inArguments
    6. set theFile to item 1 of inArguments
    7. tell application "Adobe Reader" to open theFile options "zoom=200"
    8. end run

    Der erste Handler erlaubt die Ausführung als Droplet. Dazu musst Du die Datei als Programm speichern. Du kannst dann einfach PDFs auf das Programm ziehen und das Skript öffnet sie.

    Der zweite Handler erlaubt die Ausführung über die Kommandozeile. Dazu musst Du das Skript als Skript abspeichern, das Du mit osascript (1) ausführen kannst; z. B.:

    Quellcode

    1. osascript openpdf.scpt /Users/bla/test.pdf

    Der Pfad für die PDF-Datei muss hier immer absolut sein.
    „Meine Komplikation hatte eine Komplikation.“
  • Wenn Du das Script mit der Shebang #!/usr/bin/osascript in der ersten Zeile versiehst, es als Textdatei abspeicherst und das (die) Execute-Dateiattribute setzt, dann kannst Du es direkt aus der Shell aus aufrufen; also

    Quellcode

    1. ~ bla> cat openpdf.applescript
    2. #!/usr/bin/osascript
    3. on open inFiles
    4. set theFile to item 1 of inArguments
    5. tell application "Adobe Reader" to open inFiles options "zoom=200"
    6. end open
    7. on run inArguments
    8. set theFile to item 1 of inArguments
    9. tell application "Adobe Reader" to open theFile options "zoom=200"
    10. end run
    11. ~ bla> chmod +x openpdf.applescript
    12. ~ bla> ./openpdf.applescript /Users/bla/test.pdf
    Alles anzeigen
    „Meine Komplikation hatte eine Komplikation.“
  • PERFEKT! Das hat funktioniert.
    Nun aber noch eine Frage (ich hoffe das ist nicht allzu unverschämt, wenn ich das hier frage): Wie kann ich weitere Optionen hinzufügen (was wäre das Trennzeichen) bzw. eine zweite Option übernehmen? Im Prinzip bräuchte ich sowas wie:

    Quellcode

    1. #!/usr/bin/osascript
    2. on open inFiles
    3. set theFile to item 1 of inArguments
    4. tell application "Adobe Reader" to open inFiles options "zoom=200"
    5. end open
    6. on run inArguments
    7. set theFile to item 1 of inArguments
    8. set theArg to item 2 of inArguments
    9. # ######## Geht nicht #############
    10. tell application "Adobe Reader" to open theFile options "pagemode=bookmarks" "zoom=200" "nameddest=$theArg"
    11. end run
    Alles anzeigen

    Danke schon mal!
  • Laut Scripting-Verzeichnis der App müssen alle Optionen in einem String stehen. Wie die Optionen trennst Du durch ein Ampersand (&). Der AppleScript-Operator zum verknüpfen von Zeichenketten ist ebenfalls ein Ampersand. Eine Variablenersetzung in Zeichenketten wie in Shellskriptsprachen gibt's in AppleScript nicht.

    Quellcode

    1. tell application "Adobe Reader" to open theFile options "pagemode=bookmarks&zoom=200&nameddest=" & theArg
    „Meine Komplikation hatte eine Komplikation.“
  • Original von macmoonshine
    Laut Scripting-Verzeichnis der App müssen alle Optionen in einem String stehen. Wie die Optionen trennst Du durch ein Ampersand (&). Der AppleScript-Operator zum verknüpfen von Zeichenketten ist ebenfalls ein Ampersand. Eine Variablenersetzung in Zeichenketten wie in Shellskriptsprachen gibt's in AppleScript nicht.

    VIELEN DANK, das hat super funktioniert - es kommt zwar in der shell noch eine Meldung "missing value" die ich mir nicht erklären kann, aber das ist egal, so lange das nur nun so gut funktioniert.
    Nochmal herzlichen Dank und ein Gutes Neues Jahr.