Я получаю Data out of range
с помощью скрипта indesign jsx. Мои сценарии останавливаются по адресу: Line 102 Source: pageWidth = width;
Данные вне диапазона с помощью скриптов Indesign, из-за небольшого размера страницы
Я думаю, что из-за края больше размера бумаги. Я попытался обработать сценарий наименьшего размера бумаги: A11
, с if else statement
.
И я попытался удалить главную страницу с помощью app masterpages remove and pop
, но я не знаю, как это сделать.
Как я могу отдать все размеры бумаги в поле «5 мм», а «A11» - «0 мм»? Я использую Indesign CS6 на ОС Windows 7.
Это мой JSON данные:
var papersizes = [
{
"name": "4A0",
"length": 2378,
"width": 1682
},
{
"name": "2A0",
"length": 1682,
"width": 1189
},
{
"name": "A0",
"length": 1189,
"width": 841
},
{
"name": "A1",
"length": 841,
"width": 594
},
{
"name": "A2",
"length": 594,
"width": 420
},
{
"name": "A3",
"length": 420,
"width": 297
},
{
"name": "A4",
"length": 297,
"width": 210
},
{
"name": "A5",
"length": 210,
"width": 148
},
{
"name": "A6",
"length": 148,
"width": 105
},
{
"name": "A7",
"length": 105,
"width": 74
},
{
"name": "A8",
"length": 74,
"width": 52
},
{
"name": "A9",
"length": 52,
"width": 37
},
{
"name": "A10",
"length": 37,
"width": 26
},
{
"name": "A11",
"length": 26,
"width": 18
}
];
Это мой код:
var bleed = "4mm";
var margin = "10mm";
for (index = 0; index < papersizes.length; ++index) {
papersize = papersizes[index];
name = papersize["name"];
length = papersize["length"];
width = papersize["width"];
var doc = app.documents.add();
with(doc.viewPreferences) {
horizontalMeasurementUnits = MeasurementUnits.MILLIMETERS;
verticalMeasurementUnits = MeasurementUnits.MILLIMETERS;
}
with(doc.documentPreferences) {
pageHeight = length;
//Here does my script stops
pageWidth = width;
pageOrientation = PageOrientation.PORTRAIT;
pagesPerDocument = 1;
documentBleedBottomOffset = bleed;
documentBleedTopOffset = bleed;
documentBleedInsideOrLeftOffset = bleed;
documentBleedOutsideOrRightOffset = bleed;
}
//Here I try to handle the paper size
if(name != "A11") {
with (doc.pages.item(0).marginPreferences){
bottom = margin;
//When document.documentPreferences.facingPages == true,
//"left" means inside; "right" means outside.
left = margin;
right = margin;
top = margin;
}
} else {
with (doc.pages.item(0).marginPreferences){
bottom = 0;
//When document.documentPreferences.facingPages == true,
//"left" means inside; "right" means outside.
left = 0;
right = 0;
top = 0;
}
}
//If the active document has not been saved (ever), save it.
if(app.activeDocument.saved == false){
//If you do not provide a file name, InDesign will display the Save dialog box.
app.activeDocument.save(new File("C:/IndesignOutput/DIN_"+name+"_"+length+"mm_"+width+"mm.indd"));
app.activeDocument.close();
}
}
Это работает, когда вы делаете это вручную? – usr2564301
Когда я создаю A11 бумагу с 0 маркой из графического интерфейса, тогда это возможно. Так почему же он не работает со сценарием? –