Je tente d'effectuer une importation XML automatiquement à partir d'un script de démarrage lorsqu'un document est chargé. J'ai réussi à remplir la majeure partie du contenu, mais les images sont ignorées. Tout fonctionne, y compris les images, quand je fais un manuel 'Import XML' via l'interface utilisateur, ou via un script manuel.Problème avec le script de démarrage d'InDesign ne chargeant pas les images à partir de l'importation XML
ci-dessous est mon script manuel:
var myDocument = app.activeDocument;
var xmlFile = File('/c/Full/Path/To/data.xml');
myDocument.importXML(xmlFile);
Mais le but est de le faire au démarrage. Voici mon script de démarrage:
#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);
});
est en dessous de la balise XML pour l'image:
<Image href="file:///C:/Full/Path/To/Image/02.png" />
Je me demande s'il y a un problème avec le rappel d'un événement 'afterOpen'
, et c'est la raison pour laquelle il fonctionne manuellement en utilisant la même méthode, mais pas dans le script de démarrage.
Pourquoi est-il nécessaire de fermer l'application? – Loic
Je ne veux pas qu'InDesign utilise des ressources lorsque ce n'est pas nécessaire. J'ai un script PowerShell qui écoute les modifications apportées aux fichiers XML dans un répertoire spécifique et lance InDesign lorsqu'il détecte une modification. Ensuite, le script de démarrage ouvre le (s) document (s) nécessaire (s), effectue l'importation, exporte vers PDF, puis ferme l'application. – SchattenJager
Ok réservoirs pour l'explication. – Loic