2017-08-22 5 views
0

Ich benutze dieses Skript (unten), um PDF: s aus mehreren Indesign-Dateien für eine Aufgabe, die ich jede Woche mache, zu exportieren. Die Dateinamen sind immer gleich, ich benutze 8-10 verschiedene indd Dateien um 12-15 verschiedene PDFs zu erstellen.Suche nach einem schnelleren Weg zum Batch-Export PDF: s in InDesign

Das Skript wird wie folgt aufgebaut:

//Sets variables for print and web presets 
var myPDFExportPreset = app.pdfExportPresets.item("my-present-for-print-pdf"); 
var myPDFExportPreset2 = app.pdfExportPresets.item("my-preset-for-web-pdf"); 

//sample of one pdf exported first with print, then web pdf preset as two different files 

var firstFileIntoPdfs = function(){ 

var openDocument= app.open(File("MYFILEPATH/firstfile.indd")); 

    openDocument.exportFile(
     ExportFormat.pdfType, 
     File("MYFILEPATH/print-pdfs/firstfile-print.pdf"), 
     false, 
     myPDFExportPreset 
    ); 

    openDocument.exportFile(
     ExportFormat.pdfType, 
     File("MYFILEPATH/web-pdfs/firstfile-web.pdf"), 
     false, 
     myPDFExportPreset2 
    ); 
}; 

ich alle Exporte wie die definieren, wie oben genannten Funktionen, manche nur eine der Voreinstellungen verwenden, einige zwei, wie die oben. Ich rufe all diese Funktionen am Ende der Datei

firstFileIntoPdfs(); 
secondFileIntoPdfs(); 
thirdFileIntoPdfs(); 
fourthFileIntoPdfs(); 

und so weiter ... ¨

Das Skript ist jedoch recht langsam, 10 Dateien in 1 oder 2 pdfs jeweils wie die Funktion oben, kann 10 Minuten dauern. Ich glaube nicht, dass dies ein CPU-Problem ist. Mir ist aufgefallen, dass das Skript darauf wartet, dass die Dateien in "firstFileIntoPdfs()" erstellt werden, was einige Minuten dauert, bevor die nächste Funktion ausgeführt wird . Dann wieder warten ...

Wählen Sie Datei -> Exportieren manuell können Sie neue Dateien zum Exportieren festgelegt, während die vorherigen noch die PDF-Dateien verarbeitet, was für mich schien schneller als dieses Skript funktioniert. Manuelles Klicken ist jedoch natürlich fehleranfällig und mühsam.

Gibt es eine bessere Möglichkeit, dieses Batch-Export-Skript zu schreiben als das, was ich oben getan habe, dass alle Funktionen ausgeführt werden, während PDFs aus früheren Funktionen noch im System verarbeitet werden? Ich möchte sie als separate Funktionen behalten, um einige auskommentieren zu können, wenn nur bestimmte spezifische PDFs benötigt werden. (es sei denn, der Exportprozess wird fast so schnell wie der Export von nur 1 pdf).

Ich hoffe meine Frage ergibt Sinn!

+0

lesen tag Beschreibung verwenden! 'BATCH-FILE' ** ** bedeutet NICHT die Verarbeitung/den Export mehrerer Dateien! – SteveFest

+0

oops, danke für das Entfernen. – Julius

Antwort

2

Es ein asynch Verfahren verfügbar ist, ersetzen Exportdatei mit asynchrousExportFile:

var openDocument= app.open(File("MYFILEPATH/firstfile.indd")); 
openDocument.asynchronousExportFile(
    ExportFormat.pdfType, 
    File("MYFILEPATH/print-pdfs/firstfile-print.pdf"), 
    false, 
    myPDFExportPreset 
); 

, die eine Hintergrundaufgabe

+0

oh, ich hatte keine Ahnung! Das war genau das, wonach ich gesucht habe, danke! – Julius

Verwandte Themen