Доброго времени господа!
Я пытаюсь экспортировать текст из Индизайна в CSV, так чтобы каждый абзац был записан в отдельную строку по его стилю. (скрины ниже)
Нашел вроде подходяший описанию скрипт, но не работает (у меня InDesign CC2015). Может ли кто либо из знатоков подсказать/подправить код ниже?
Original indd file
Desired SCV
Код скрипта
Я пытаюсь экспортировать текст из Индизайна в CSV, так чтобы каждый абзац был записан в отдельную строку по его стилю. (скрины ниже)
Нашел вроде подходяший описанию скрипт, но не работает (у меня InDesign CC2015). Может ли кто либо из знатоков подсказать/подправить код ниже?
Original indd file
Desired SCV
Код скрипта
Код:
//Exportascsv.js
var myStory, myParagraph, myParagraphTemp, myString, myTag, myStartTag;
var myEndTag, myTextStyleRange, myTable;
if(app.documents.length !=0){
if(app.documents.item(0).stories.length != 0){
//Open a new text file.
var myTextFile = File.saveDialog("Save CSV As", undefined);
//If the user clicked the Cancel button, the result is null.
if(myTextFile != null){
//Open the file with write access.
myTextFile.open("w");
var myCounterArt = 0;
//walk through the stories.
for(var myCounter = 0; myCounter < app.documents.item(0).stories.length; myCounter++){
myStory = app.documents.item(0).stories.item(myCounter);
// we have stories inside stories (articles in articles sometimes)
var myParagraphCounter = 0;
myParagraphTemp = "";
myString = "";
do{
myParagraph = myStory.paragraphs.item(myParagraphCounter);
myParagraphTemp = "";
switch(myParagraph.appliedParagraphStyle.name){
//Headline paragraph style
case "Title":
myString = '"'+myParagraph.contents+'","';
myParagraphCounter++;
break;
case "Ingredients":
//Text paragraph style
myString = myString+myParagraph.contents;
myParagraphCounter++;
break;
default:
myParagraphCounter++;
break;
}
} while (myParagraphCounter < myStory.paragraphs.length)
myString = myString+'"';
myTextFile.writeln(myString);
}
myTextFile.write("\r");
myTextFile.close();
}
}
}