Листинг 9.4. Импорт многостраничного PDF-файла

with (арр)

<

if (documents.length < 1) {

alert("Нет открытых документов"); exit();

}

var myDoc = activeDocument;

var myPDFFile = File.openDialog('Выберите файл', 'Файлы PDF: *.pdf'); if(myPDFFile == null) { exit();

)

var myDlg = dialogs.add({name: "Импорт многостраничного PDF"}) myLabelColumn = myDlg.dialogColumns.add() with (myLabelColumn) {

staticTexts.add({StaticLabel:"Диапазон страниц:"));

staticTexts.add({staticLabel:"Начальная страница для помещения:"});

staticTexts.add()

staticTexts.add({staticLabel:"Опции размещения:"}); staticTexts.add({staticLabel:"Границы:"});

)

myControlsColumn = myDlg.dialogColumns.add() with(myControlsColumn){

var myRangeField = integerEditboxes.add({editValue: 1-, minWidth:60}) ;

var myFirstPage = integerEditboxes.add({editValue: 1, minWidth:60}); staticTexts.add()

var myPlaceOptions = dropdowns.add({stringList:["На всю страницу (включая поля)", "На всю страницу (без полей)",

"В центр страницы", "В левый верхний утол страницы"], selectedlndex:2}); var myCropOptions = dropdowns.add({stringList:['Bounding Box', 'Artwork', 'Bleed', 'Media', 'Crop', 'Trim'], selectedlndex:3});

}

var myResult = myDlg.show(); if(ImyResult) exit();

if(myRangeField.editValue.split("-")[0] == 0) { alert("Начальная страница равна 0"); exit();

}

if (myFirstPage.editValue = 0) (

alert("Значение стартовой страницы для размещения PDF в публикации равно 0"); exit () ;

}

if (myRangeField.editValue.split("-")[1] == '1) { alert("Конечная страница PDF не указана"); exit();

}

// Конец формирования диалога

var myPlacePref = pdfPlacePreferences;

// Считывание введенных значений with(myPlacePref){

switch (myCropOptions.selectedlndex) { case 0:

pdfCrop = PDFCrop.cropContent; break; case 1:

pdfCrop = PDFCrop.cropArt; break; case 2:

pdfCrop = PDFCrop!cropBleed; break; case 3:

pdfCrop = PDFCrop.cropMedia; break; case 4:

pdfCrop = PDFCrop.cropPDF; break; case 5:

pdfCrop = PDFCrop.cropTrim; break;

}

transparentBackground = true

myRange = myRangeField.editValue.split("-"); myStartPage = myRange[0] myEndPage = myRange[1]

// Определение конечного числа страниц

newPageRange = (myEndPage - myStartPage) + myFirstPage

// Добавление требуемых страниц while(newPageRange > myDoc.pages.length) { myDoc.pages.add(LocationOptions.atEnd);

for (i = myFirstPage-1; i < newPageRange + 1; i++) {

myPlacePref.pageNumber = i; var myMap = myDoc.pages[i]; var myFrame = myMap.rectangles.add();

// Вставка страницы

myFrame.place(myPDFFile);

myFrame.fit(FitOptions.frameToContent);

var myBounds = myFrame.geometricBounds;

var myMapBound = myMap.bounds;

var myMargins = myMap.marginPreferences;

PDF_Height = myBounds[2] - myBounds[0];

PDF_Width = myBounds[3] - myBounds[1];

pageHeight = myDoc.documentPreferences.pageHeight; pageWidth = myDoc.documentPreferences.pageWidth;

// Установка необходимых параметров в зависимости от значений,


⇐ вернуться назад | | далее ⇒