Я новичок в написании сценариев indesign. Я хотел бы получить несколько советов по написанию jsx-скриптов. У меня есть шаблон indesign (файл indt), и мне нужно создать из него файл indd (просто копию). Затем мне нужно заменить имя/фамилию, дату и т. д. содержимым, которое я прочитал из xml.
Мне пока это нравилось:
function buildIndesignDocument(templatePath, templateFileName, targetPath, xmlFile, orderNumber, jobNumber) {
DEBUGG("buildIndesignDocument execution start");
//check wheher target path is writable. If not exit from further processing
var canSaveToServerFlag = checkServerWritable(targetPath.toString());
if(!canSaveToServerFlag) {
DEBUGG("Exiting from the process");
return;
}else{
var originalTemplateFilePath = templatePath+templateFileName;
DEBUGG("Original Template Path is " + originalTemplateFilePath);
var originalTemplate = new File(originalTemplateFilePath);
var filePrefix =jobNumber.toString()+"_"+orderNumber.toString()+ "_";
if (originalTemplate.exists) {
//create a copy of the template in target folder and name it as indd
targetFileName= filePrefix+templateFileName.replace(".indt", ".indd");
DEBUGG("target FileName is " + targetFileName);
var targetFile =targetPath.toString() + targetFileName ;
DEBUGG("target FilePath and name is " + targetFile);
var targetFileCreated=originalTemplate.copy(File(targetFile));
// if(targetFileCreated.exists){
// TODO####hardcoded true need to change
if(true) {
DEBUGG("targetFile Created Successfully" + targetFileCreated);
var xmlFormFile =getGenericXmlFile(xmlFile);
DEBUGG("xmlFormFile is -----------" +xmlFormFile);
var firstName = xmlFormFile.xpath("/formData/firstName");
var lastName = xmlFormFile.xpath("/formData/lastName");
DEBUGG("firstName----------"+firstName + " and last name is ----------" +lastName );
//Open the indd file and replace the content with form data preserving format and style
var inddFile = new File(targetFile);
try {
DEBUGG("inside try");
//open file for write -mode w is write
inddFile.open ("w", null, null);
var myDoc=inddFile.read ();
DEBUGG("after opening"+myDoc.toString());
inddFile.close;
} catch(e) {
DEBUGG("Exception in opening " + e.description);
inddFile.close;
}
} else {
DEBUGG("targetFile did not create successfully");
}
} else {
DEBUGG("Template not Found");
logError("Missing template file with name ==" +originalTemplateFilePath);
}
DEBUGG("buildIndesignDocument execution end");
}
}
}
Я не могу правильно открыть файл и заменить содержимое. Может кто-нибудь пролить свет на это.
var myDocument = app.open(File(targetFile))
? - person cybernetic.nomad   schedule 15.08.2018