Applescript zum Bestimmen des Dateityps und Auswählen des richtigen Programms zum Öffnen und Drucken der Datei (innerhalb der Stapelsequenz)

Ich habe mit großer Hilfe von @chuck und anderen Forenbeiträgen ein Applescript zusammengestellt, um eine Liste der aus Filemaker-Containern exportierten Dateien in einen Ordner namens "print" auf meinem Desktop zu drucken.

Das Problem, auf das ich jetzt stoße, ist, dass einige dieser Containerexporte keine PDF-Dateien sind (eine Mischung aus Jpg, PNG, Tif und PDF) und nicht mit Acrobat geöffnet werden können (die Verwendung der PDF-Vorschau oder eines anderen PDF-Viewers ist nicht möglich) die Frage aus einer Vielzahl von Gründen) ... Dieses Problem führt dazu, dass der Workflow aufgrund von Fehlermeldungen von Acrobat, die manuell angeklickt werden müssen, um mit der nächsten Datei fortzufahren, effektiv beendet wird.

Meine Frage ist, ob applescript angewiesen werden kann, zuerst den Dateityp zu bestimmen und ein anderes Programm zum Öffnen des Dokuments auszuwählen, den Druckbefehl auszulösen und das Fenster zu schließen, bevor mit dem nächsten Dokument in der Sequenz fortgefahren wird.

(d. h. wenn .pdf, dann Acrobat-Druck verwenden, Fenster schließen, wenn Vorschau nicht zum Öffnen der Datei verwenden, Fenster schließen, wiederholen, bis alle Dateien gedruckt wurden.)

Unten ist mein aktueller Arbeitscode.(FYI) Dieses Skript wird in einem Filemaker-Skript ausgeführt, das den Ordner "Print" auf dem Desktop erstellt und die Containerfelder in den Ordner exportiert.

`set myFolder to (path to desktop folder as text) & "Print:"

set myfiles to list folder myFolder without invisibles

repeat with myfile in myfiles

set mycurrentfile to ((myFolder as string) & (myfile as string)) as string
batchprint(mycurrentfile)

end repeat

on batchprint(mycurrentfile)

tell application "Adobe Acrobat Pro"
    activate -- bring up acrobat
    open alias mycurrentfile -- acrobat opens that new file    
    tell application "System Events"
        tell process "Acrobat"
            click menu item "Print..." of menu 1 of menu bar item "File" of menu bar 1
            click button "Print" of window "Print"
            tell application "System Events"
                tell process "Acrobat"
                    click menu item "Close" of menu 1 of menu bar item "File" of menu bar 1
                end tell
            end tell
        end tell
    end tell
end tell

tell application "Finder" -- to move the printed file out 
    set x to ((path to desktop folder as text) & "Printed PDFs:")
    if alias x exists then
        beep
    else
        make new folder at the desktop with properties {name:"Printed PDFs"}
    end if
    move alias mycurrentfile to folder "Printed PDFs"
end tell

Batchdruck beenden "

Antworten auf die Frage(1)

Ihre Antwort auf die Frage