0

我有一个 Adob​​e Indesign indd 文件,我需要合并数据 (MailMerge)。
我使用 Adob​​e InDesign Server 5.5 在 InDesign 脚本下运行。

var _Path_INDD = "/c/ServerTestFiles/Dummy/Template.indd";
var _Path_CSV = "/c/ServerTestFiles/Dummy/Input.csv";
var _Path_PDF = "/c/ServerTestFiles/Dummy/Output.pdf";

var myDocument = app.open(File(_Path_INDD), OpenOptions.OPEN_COPY);     
var myDataSource = File(_Path_CSV);     
myDocument.dataMergeProperties.selectDataSource(myDataSource);
myDocument.dataMergeProperties.mergeRecords();
app.documents.item(0).exportFile(ExportFormat.pdfType, File(_Path_PDF),     app.pdfExportPresets.item("[Press Quality]"));

它运行并按照我的意愿给我PDF文件。

但我的问题是性能。使用单行 CSV 文件生成 PDF 文件需要 10 秒。因此,如果我的 CSV 是 100k 行,那么完成该过程将需要 10 天以上的时间。

这太有趣了。但是我仍然不知道如何在 InDesign 脚本方面获得更快的性能。

有人可以给我建议吗?

4

1 回答 1

0

我在 CS5 Jp 版本(不是 ID 服务器)/OSX 10.7 上测试了这个脚本(有一点修复)

这里有一个问题,需要 10 秒包括数据合并?还是只导出pdf?你可以使用 asynchronousExportFile() 方法吗?这对我来说更快地导出 pdf X4。

// ~> DATA MERGING HERE

var s1 = new Date().getTime();
myDocument.exportFile(ExportFormat.pdfType, File(_Path_PDF), false, app.pdfExportPresets.item("[プレス品質]"));
$.writeln(new Date().getTime() - s1); // -> 399

var s2 = new Date().getTime();
myDocument.asynchronousExportFile(ExportFormat.pdfType, File(_Path_PDF2), false, app.pdfExportPresets.item("[プレス品質]"));
$.writeln(new Date().getTime() - s2); // -> 108
于 2013-08-23T02:34:11.193 回答