[Acr 9 и ранее] >4000 файлов, добавить чётную страницу

GSM

Участник
Топикстартер
Сообщения
6
Реакции
0
Добрый день, коллеги.
Acrobat 9 Pro / QIP 2 / PitStop09 upd 3
Есть >4000 файлов PDF (10гб)
Задача: в документе с нечетным кол-вом страниц добавить в конце пустую страницу, сохранить.
Раньше были по 50-200 файлов, руками втроем за 15 минут справлялись.
Опыта в скриптах и подобной автоматизации нет. Готовы монетизировать свое незнание.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 281
Реакции
10 862
Примерно так, работоспособность не успел проверить
JavaScript:
AddPage=function() {
        
        if (app.viewerVersion >= 7) {app.beginPriv();}
        var cp=this.numPages;
        if (cp%2)
        {
            
            this.insertPages( {
            nPage: cp,
            nStart: cp
            });
        }
 
        if (app.viewerVersion >= 7)  {app.endPriv();}
        return;
}




if (app.viewerVersion < 7)
{
Join2Pages=fnc;
}
else
{
Join2Pages = app.trustedFunction(fnc);
}

if (app.viewerVersion < 10) {
    app.addMenuItem({ cName: "AddPage", cUser: "Add One Page", cParent: "Tools", cExec: "AddPage()",
        cEnable: "event.rc = (event.target != null);"});
    
} else {
    app.addToolButton({ cName: "AddPage", cLabel: "Add One Page", cExec: "AddPage()",
        cEnable: "event.rc = (event.target != null);"});
    
}
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 281
Реакции
10 862
Проверил, правильно вот так:
JavaScript:
fnc=function() {
        
        if (app.viewerVersion >= 7) {app.beginPriv();}
        var cp=this.numPages;
        if (cp%2)
        {
            
            this.newPage( {
            nPage: cp
            });
        }
 
        if (app.viewerVersion >= 7)  {app.endPriv();}
        return;
}




if (app.viewerVersion < 7)
{
AddPage=fnc;
}
else
{
AddPage = app.trustedFunction(fnc);
}

if (app.viewerVersion < 10) {
    app.addMenuItem({ cName: "AddPage", cUser: "Add One Page", cParent: "Tools", cExec: "AddPage()",
        cEnable: "event.rc = (event.target != null);"});
    
} else {
    app.addToolButton({ cName: "AddPage", cLabel: "Add One Page", cExec: "AddPage()",
        cEnable: "event.rc = (event.target != null);"});
    
}
 

~RA~

Одарённая.
12 лет на форуме
Сообщения
12 035
Реакции
3 495

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 281
Реакции
10 862
Тьфу я только сейчас заметил что это для пакетной обработки. У меня скрипт только для одного открытого, но думаю, можно и под пакетную перепилить, подождем топикстартера
 

~RA~

Одарённая.
12 лет на форуме
Сообщения
12 035
Реакции
3 495
Готовы монетизировать свое незнание.
Главное-то я пропустил. ;)
Готов написать высокопроизводительное решение без использования платных программ вовсе. Вам под какую ОС?
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 281
Реакции
10 862

~RA~

Одарённая.
12 лет на форуме
Сообщения
12 035
Реакции
3 495

GSM

Участник
Топикстартер
Сообщения
6
Реакции
0
Я тут. Под РС.
 

~RA~

Одарённая.
12 лет на форуме
Сообщения
12 035
Реакции
3 495

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 281
Реакции
10 862
А смысл? Понятное дело, любое акробатовское решение будет медленнее консольного
Если автор хочет консоль - делай
Хочешь, можем померяться консольными решениями :4)
 

~RA~

Одарённая.
12 лет на форуме
Сообщения
12 035
Реакции
3 495
Концевая пустая полоса будет одного формата или разных?
 

GSM

Участник
Топикстартер
Сообщения
6
Реакции
0
Win7pro_sp2
Формат последней полосы - в принципе не важно, главное наличие пустой полосы. Но можно брать размер первой полосы, например.
 

~RA~

Одарённая.
12 лет на форуме
Сообщения
12 035
Реакции
3 495
А может я вам просто обработаю эти файлы за какую-нибудь копеечку малую? ;)
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 281
Реакции
10 862
Вы мой скрипт то попробовали, это оно?'fp'
 

zollinger

Участник
Сообщения
568
Реакции
168
А файлы у вас в одной папке лежат все?
там 3 строчки скрипта
Вон, на оcнове скрипта _MBK_ + заморочки с добавлением кнопок и меню убрать + пакетная обработка - создать новую команду с выполнением JS

Фюнф минут, Савва Игнатьич!
Консоли, сделаю за копеечку малую...
Как все непросто...
 
Последнее редактирование:

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 281
Реакции
10 862
А файлы у вас в одной папке лежат все?
А как кстати сделать перебор файлов в каталоге? Я чтото так и не вкурил как это средствами акробатовского скриптинга можно
 

zollinger

Участник
Сообщения
568
Реакции
168
Мне кажется, никак, если имена не серией какой-то идут, которую можно алгоритмически воссоздать. Т.е. получить имена из папки никак. пакетная обработка наше/иха всё!
 
Последнее редактирование: