我有一个Adobe Indesign indd文件,我需要合并数据(MailMerge)。
我使用Adobe InDesign Server5.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脚本时,我仍然不知道如何使性能更快。
有谁能给我提个建议吗?
发布于 2013-08-23 10:34:11
我在CS5 Jp版本(不是ID服务器)/OSX10.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); // -> 108https://stackoverflow.com/questions/18374611
复制相似问题