[ID CC-CC2021] Помогите подстроить PlaceMultipagePDF.jsx

Статус
Закрыто для дальнейших ответов.

csnoj

Участник
Топикстартер
Сообщения
5
Реакции
0
Уважаемые специалисты помогите подстроить скрипт PlaceMultipagePDF.jsx - который присутствует в indesign по умолчанию. Мне нужно при импорте файла PDF сделать так чтобы все страницы размещались по центру относительно полей страницы.
Вот фрагмент кода:
(переменных X,Y по умолчанию не существует я сам их создал, но не знаю как к ним применить выравнивание)
var X = 0;
var Y = 0;
app.pdfPlacePreferences.pageNumber = myCounter;
myPDFPage = myPage.place(File(myPDFFile), [X,Y])[0];
этот фрагмент кода указывает координаты страницы [0,0].
Подскажите как настроить переменную X - чтобы помещаемая странрица располагалась по центру по горизонтали (относительно полей), и аналогично для переменной Y - по центру по вертикали относительно полей.

А может найдется специалист который напишет код с диалоговым окном, где я смогу указывать выравнивание помещаемой страницы относительно полей, или относительно страницы, или относительно разворота. Готов купить скрипт.

Возможно кто-нибудь подскажет хотя бы скрипт для выравнивания объектов по стилю.
 

csnoj

Участник
Топикстартер
Сообщения
5
Реакции
0
Спасибо, как раз по умолчанию этот скрипт помещает по центру относительно полей
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 188
Реакции
10 844
  • Спасибо
Реакции: csnoj

csnoj

Участник
Топикстартер
Сообщения
5
Реакции
0
Я ошибся :) в этом скрипте нельзя выровнять PDF страницы, по центру относительно полей. Только относительно страниц. Может както отредактировать этот скрипт
 

azz

alexey
15 лет на форуме
Сообщения
711
Реакции
359
подправил функцию myPlacePDF
правда там глючит, почему-то плейсит последнюю страницу из пдфа на предпоследнюю документа поверх другой...

Код:
function myPlacePDF(myDocument, myPage, myPDFFile){
    var myPageWidth = myDocument.documentPreferences.pageWidth;
    var myPageHeight = myDocument.documentPreferences.pageHeight;
    var myPDFPage;
    app.pdfPlacePreferences.pdfCrop = PDFCrop.cropMedia;
    var myCounter = 1;
    var myBreak = false;
    while(myBreak == false){
        if(myCounter > 1){
            myPage = myDocument.pages.add(LocationOptions.after, myPage);
        }
        var y_MarginTop = myPage.marginPreferences.top;
        var y_MarginBottom = myPage.marginPreferences.bottom;
        var x_MarginLeft = myPage.marginPreferences.left;
        var x_MarginRight = myPage.marginPreferences.right;
        app.pdfPlacePreferences.pageNumber = myCounter;
        myPDFPage = myPage.place(File(myPDFFile), [0,0]);

        myPDFPage[0].parent.geometricBounds = [y_MarginTop, x_MarginLeft, myPageHeight-y_MarginBottom, myPageWidth-x_MarginRight];
        myPDFPage[0].fit (FitOptions.CENTER_CONTENT);
        myPDFPage[0].fit (FitOptions.FRAME_TO_CONTENT)

        if(myCounter == 1){
            var myFirstPage = myPDFPage[0].pdfAttributes.pageNumber;
        }
        else{
            if(myPDFPage[0].pdfAttributes.pageNumber == myFirstPage){
                myPage.remove();
                myBreak = true;
            }
        }
        myCounter = myCounter + 1;
    }
}
 

csnoj

Участник
Топикстартер
Сообщения
5
Реакции
0
Спасибо за помощь. Я взял ваш код "function myPlacePDF" заменил всю эту функцию однако совсем не правильно работает.
1) В ставляет страницы только на четную страницу.
2) Абсолютно не выравнивает страницу по центру оносительно полей, а как попало 'hz'
 

azz

alexey
15 лет на форуме
Сообщения
711
Реакции
359

Не по теме:
ну значит хороший повод вам разобраться самому ))
отлаживать реально некогда...

 

csnoj

Участник
Топикстартер
Сообщения
5
Реакции
0
а вы мне можете написать как называется объектная модель выравнивание по горизонтали центер (относительно полей), выравнивание по вертикали центер (относительно полей)
 

azz

alexey
15 лет на форуме
Сообщения
711
Реакции
359
нет такого в индизайне...
 

Oleg Butrin

20 лет на форуме
Сообщения
1 990
Реакции
1 213
Не мучьте дитю, напишите отдельный скрипт центровки фреймов с pdf. Исправлять чужой код -- то еще приятное времяпрепровождение.
 
  • Спасибо
Реакции: csnoj и vbatushev
Статус
Закрыто для дальнейших ответов.