寻找在InDesign中批量导出pdf:s的更快方法

时间:2017-08-22 06:05:04

标签: pdf adobe-indesign

我正在使用这个脚本(下面)从几个indesign文件中批量导出pdf:s,这是我每周都要完成的任务。文件名总是一样的,我使用8-10个不同的indd文件来创建12-15个不同的pdf:s。

脚本设置如下:

//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
    );
};

我将上面的所有导出定义为命名函数,有些只使用其中一个预设,有两个像上面那样。我在文件的末尾调用所有这些函数

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

依此类推......¨

但是脚本很慢,10个文件分别为1或2个pdf,就像上面的函数一样,可能需要10分钟。我不认为这是一个CPU问题,我注意到,似乎脚本正在等待创建“firstFileIntoPdfs()”中的文件,这个过程需要几分钟,然后才能继续执行下一个函数。然后再等一下......

选择文件 - >手动导出您可以设置要导出的新文件,而之前的文件仍在处理pdf文件,这对我来说似乎比这个脚本的工作方式更快。但是,当然,手动点击是容易出错和繁琐的。

有没有更好的方法来编写这个批处理导出脚本,而不是我上面的方法,这会使所有函数执行,而以前函数的pdf仍在系统中处理?我会喜欢将它们作为单独的函数保存,以便在只需要某些特定的pdf:s时能够注释掉一些。 (除非导出全部的过程几乎与仅导出1个pdf一样快)。

我希望我的问题有道理!

1 个答案:

答案 0 :(得分:2)

有一个asynch方法可用,将exportFile替换为asynchrousExportFile:

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

使用后台任务