[Acr X] Скрипт перевода PDF в развороты

  • Автор темы Автор темы LeshikSan
  • Дата начала Дата начала

LeshikSan

Топикстартер
15 лет на форуме
Сообщения
271
Реакции
187
Скрипт переводит PDF в развороты, начиная со второй страницы.
Все страницы должны быть одного размера.
! Полученный документ pdf не подходит для типографской печати.

Установка:
Инструменты > Мастер операций > Создать операцию > Дополнительные инструменты > Выполнить сценарий JavaScript:
Исходный объект: Файл, открытый в Acrobat
Шаги > значек "Параметры": вставить код
Конечный объект: Не сохранять изменения

Код:
JavaScript:
var width = this.getPageBox("Media",1)[2]*2;
var height = this.getPageBox("Media",1)[1];

var spreadPdf = app.newDoc( {nWidth: width, nHeight: height} );
for (var k = 1; k < this.numPages; k++) { // начинаем со второй стр.
    if( k%2  ){ // четная
        if( k == this.numPages-1 ) // но не последняя
            break;
        if( k > 1 )
            spreadPdf.newPage( {nPage: spreadPdf.numPages, nWidth: width, nHeight: height} );
        spreadPdf.addWatermarkFromFile({
            cDIPath:  this.path,
            nSourcePage: k, // The 0-based index of the page in the source file to be used as the watermark.
            nStart: spreadPdf.numPages-1,
            nEnd: spreadPdf.numPages-1,
            nHorizAlign: app.constants.align.left,
            nVertAlign: app.constants.align.top
        });
    }
    else{
        spreadPdf.addWatermarkFromFile({
            cDIPath:  this.path,
            nSourcePage: k, // The 0-based index of the page in the source file to be used as the watermark.
            nStart: spreadPdf.numPages-1,
            nEnd: spreadPdf.numPages-1,
            nHorizAlign: app.constants.align.right,
            nVertAlign: app.constants.align.top
        });
    }
}

// добавляем первую и последнюю
spreadPdf.insertPages({ nPage: -1, cPath: this.path, nStart: 0 });

if( !(this.numPages%2) ) // если последняя страница - четная
    spreadPdf.insertPages({ nPage: spreadPdf.numPages-1, cPath: this.path, nStart: this.numPages-1 });
 
  • Спасибо
Реакции: Oleg Butrin
Скрипт переводит PDF в развороты, начиная со второй страницы.
Все страницы должны быть одного размера.
! Полученный документ pdf не подходит для типографской печати.

Установка:
Инструменты > Мастер операций > Создать операцию > Дополнительные инструменты > Выполнить сценарий JavaScript:
Исходный объект: Файл, открытый в Acrobat
Шаги > значек "Параметры": вставить код
Конечный объект: Не сохранять изменения

Код:
JavaScript:
var width = this.getPageBox("Media",1)[2]*2;
var height = this.getPageBox("Media",1)[1];

var spreadPdf = app.newDoc( {nWidth: width, nHeight: height} );
for (var k = 1; k < this.numPages; k++) { // начинаем со второй стр.
    if( k%2  ){ // четная
        if( k == this.numPages-1 ) // но не последняя
            break;
        if( k > 1 )
            spreadPdf.newPage( {nPage: spreadPdf.numPages, nWidth: width, nHeight: height} );
        spreadPdf.addWatermarkFromFile({
            cDIPath:  this.path,
            nSourcePage: k, // The 0-based index of the page in the source file to be used as the watermark.
            nStart: spreadPdf.numPages-1,
            nEnd: spreadPdf.numPages-1,
            nHorizAlign: app.constants.align.left,
            nVertAlign: app.constants.align.top
        });
    }
    else{
        spreadPdf.addWatermarkFromFile({
            cDIPath:  this.path,
            nSourcePage: k, // The 0-based index of the page in the source file to be used as the watermark.
            nStart: spreadPdf.numPages-1,
            nEnd: spreadPdf.numPages-1,
            nHorizAlign: app.constants.align.right,
            nVertAlign: app.constants.align.top
        });
    }
}

// добавляем первую и последнюю
spreadPdf.insertPages({ nPage: -1, cPath: this.path, nStart: 0 });

if( !(this.numPages%2) ) // если последняя страница - четная
    spreadPdf.insertPages({ nPage: spreadPdf.numPages-1, cPath: this.path, nStart: this.numPages-1 });
Сто раз же уже подобные тут постили? И через темплейт и через ватермарку и т.д.
 
  • Спасибо
Реакции: zollinger
Ну да, погорячился с отдельной темой
А смысл вообще было велосипед изобретать? Проще было поискать по форуму - там и для спуска и антиспуска полно готовых скриптов, не говоря уж о том, что, действительно,
Полученный документ pdf не подходит для типографской печати.
 
  • Спасибо
Реакции: Dmelnikov184