InDesign启动脚本未从XML导入加载图像时出现问题

Issue with InDesign startup script not loading images from XML import

本文关键字:图像 问题 加载 导入 脚本 启动 XML InDesign      更新时间:2023-09-26

我正在尝试在加载文档时从启动脚本自动导入XML。我成功地填充了大部分内容,但图像被忽略了。当我通过UI或手动脚本手动"导入XML"时,一切都正常,包括图像。

以下是我的手动脚本:

var myDocument = app.activeDocument;
var xmlFile = File('/c/Full/Path/To/data.xml');
myDocument.importXML(xmlFile);

但我们的目标是在创业时做到这一点。下面是我的启动脚本:

#targetengine "session"
app.addEventListener('afterOpen', function(myEvent) {
    if (myEvent.target.constructor.name !== 'Document') {
        return;
    }
    var myDocument = myEvent.target;
    var xmlFile = File('/c/Full/Path/To/data.xml');
    myDocument.importXML(xmlFile);
});

下面是图像的XML标记:

<Image href="file:///C:/Full/Path/To/Image/02.png" />

我想知道'afterOpen'事件回调是否有问题,这就是为什么它使用相同的方法手动工作,但不在启动脚本中。

我完全避开了事件侦听器,从而解决了这个问题。

main();  
function main () {  
    // create a path for a file object  
    var curFile = File('/c/Path/To/file.indd');  
    var xmlFile = File('/c/Path/To/data.xml');  
    // close app if files don't exist  
    if (!curFile.exists || !xmlFile.exists) {  
        app.quit(SaveOptions.NO);  
    }  
    // open the file  
    var curDoc = app.open(curFile);  
    // import the xml  
    curDoc.importXML(xmlFile);  
    // create a new file object  
    var pdfFile = new File(curFile.parent + '/' + curFile.name + '.pdf');  
    // export to pdf  
    curDoc.exportFile(ExportFormat.PDF_TYPE, pdfFile);  
    // close app  
    app.quit(SaveOptions.NO);  
}