[Acr 9 и ранее] Извлечение страниц блоками в разные файлы

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Гм, я ж вроде ясно написал
сохраните мой скрипт
Это означает, что в скриптовом каталоге, который вы (полдела сделано) благополучно нашли, нужно создать новый файл, нпример, split4.js в который через клипбоард аккуратно скопировать код из сообщения №14
 
  • Спасибо
Реакции: AgPilot и Aniriann

AgPilot

Участник
Топикстартер
Сообщения
9
Реакции
0
Гм, я ж вроде ясно написал

Это означает, что в скриптовом каталоге, который вы (полдела сделано) благополучно нашли, нужно создать новый файл, нпример, split4.js в который через клипбоард аккуратно скопировать код из сообщения №14
Попыталась сохранить с этим расширением текстовый файл с кодом. При попытке сохранить в эту папку, вышло сообщение, что у меня нет administrative rights to save the file to this folder. Пошла другим путем, вырезала этот файл из другой папки, и вставила в эту. Опять ругнулся на отсутствие прав, но файл сохранил. Открыла программу, но искомого пункта в меню нет. Скажите, есть ли другие варианты?
 

~RA~

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

AgPilot

Участник
Топикстартер
Сообщения
9
Реакции
0
Получить

после чего проделать вышеописанное.
т.е. даже если файл сохранен, но прав административных нет, он игнорирует файл?
Права получить не могу. Может можно как то создать скрипт из программы, чтобы он выполнялся напрямую?
 

_MBK_

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

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Может можно как то создать скрипт из программы, чтобы он выполнялся напрямую?
Можно, но вам удобнее делать таким образом
Если не работает то надо разобраться, что мы сделали не так
 
  • Спасибо
Реакции: AgPilot

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Если файл действительно поместился в папку, то попробуйте открыть отладчик (по моему Tools-Javascript или чтото в этом духе,восьмерки под рукой нет) Должно получиться вот такое окно, скриншот скопируйте и пришлите сюда
upload_2017-9-7_14-57-55.png
 
  • Спасибо
Реакции: AgPilot

~RA~

Одарённая.
12 лет на форуме
Сообщения
11 808
Реакции
3 434
@_MBK_, как всё сложно. :)
И как просто было на видео в поддерживаемом формате. '))'
 
  • Спасибо
Реакции: _MBK_

AgPilot

Участник
Топикстартер
Сообщения
9
Реакции
0
Можно, но вам удобнее делать таким образом
Если не работает то надо разобраться, что мы сделали не так
О, заработало! Спасибо огромное! Просто перезагрузила систему, и появилось.
Хотела еще дополнительно 2 вопроса задать.
1. Чтобы экран не мелькал, можно что то вроде application.screenupdate FALSE, как в экселе прописать во время выполнения кода?
2. Скажите,а можно поправить в коде кол-во страниц для разбивки? Если допустим нужно не на 4, а на 3, или 2 ,или 5. Я сохраню столько шаблонов, сколько нужно. Ниже скрин, где как я думаю нужно поправить. Или надо под это дело еще и дополнительно переписывать часть кода, относящуюся к созданию пользовательской кнопки в меню?
upload_2017-9-7_15-4-9.png
 

Вложения

  • upload_2017-9-7_14-53-49.png
    upload_2017-9-7_14-53-49.png
    26.7 КБ · Просм.: 540

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
И как просто было на видео в поддерживаемом формате.
Вот видишь, какая толковая девушка оказалась, а ты оскорблял ее неприличными подозрениями! :4)
Чтобы экран не мелькал, можно что то вроде application.screenupdate FALSE, как в экселе прописать во время выполнения кода?
К сожалению, имхо, нет, ибо скрипт создает во время работы временный документ, этого спрятать никак не получится. :(
Скажите,а можно поправить в коде кол-во страниц для разбивки?
Самая верхняя отмеченная строка (k==4)
 
  • Спасибо
Реакции: Aniriann и AgPilot

AgPilot

Участник
Топикстартер
Сообщения
9
Реакции
0
Вот видишь, какая толковая девушка оказалась, а ты оскорблял ее неприличными подозрениями! :4)
А так я вообще больше по экселю продвинутый пользователь. Хотя бы объектную модель программы знаю и могу простенькие макросы писать. С явой не знакома, хотя, зная английский, немного понимаю сам код.
К сожалению, имхо, нет, ибо скрипт создает во время работы временный документ, этого спрятать никак не получится. :(

Самая верхняя отмеченная строка (k==4)
Спасибо Вам огромное! Сделала - и все работает. Вы меня очень сильно выручили.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
В принципе, чтоб каждый раз акробат не перегружать, можно задавать вопрос о количестве страниц в начале скрипта:
Код:
var myIconStream = "ff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000";

var oIcon = { count: 0, width: 20, height: 20,
  read: function(nBytes) {return myIconStream.slice(this.count, this.count += nBytes)},
  GetIcon: function() {this.count = 0; return this;} };

var myButtonPress = app.trustedFunction(function(){
  app.beginPriv();
    var newDoc = app.newDoc();
    var np=app.response({
        cQuestion: "Input pages count:",
        cDefault: 4,
    });
  

    var i = 0;
    var k = 0;
    var ndoc = 0;
    var curname=this.path.split('.')[0];
    while (i < this.numPages)
    {
        newDoc.insertPages( {
            nPage: newDoc.numPages-1,
            cPath: this.path,
            nStart: i
        });
        k++;
       if (k==np)
       {
            newDoc.deletePages(0);
           newDoc.saveAs(curname+"_"+ndoc+".pdf");
           newDoc.closeDoc();
           newDoc = app.newDoc();
           k=0;
           ndoc++;
       }
        i++;
    }
    if (k!=0)
       {
            newDoc.deletePages(0);
           newDoc.saveAs(curname+"_"+ndoc+".pdf");
           newDoc.closeDoc();
          
       }
  app.endPriv();
  return;
});

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

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
1. Чтобы экран не мелькал, можно что то вроде application.screenupdate FALSE, как в экселе прописать во время выполнения кода?
Если честно, я протупил, конечно можно, причем разбивать будет практически мгновенно:
Код:
var myIconStream = "ff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffff00fdffffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2ffff00d2fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00fff6ff00ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000";

var oIcon = { count: 0, width: 20, height: 20,
  read: function(nBytes) {return myIconStream.slice(this.count, this.count += nBytes)},
  GetIcon: function() {this.count = 0; return this;} };

var myButtonPress = app.trustedFunction(function(){
  app.beginPriv();

    var np=~~app.response({
        cQuestion: "Input pages count:",
        cDefault: 4,
    });
  

    var i = 0;
    var k = 0;
    var ndoc = 0;
    var curname=this.path.split('.')[0];
    while (i < this.numPages)
    {
           var ep=i+np-1;
          
           if (ep>this.numPages-1) ep=this.numPages-1;
           this.extractPages({nStart:i,
                                       nEnd: ep,
                                       cPath: curname+"_"+ndoc+".pdf"
                                      });
           ndoc++;
           i+=np;
    }
  app.endPriv();
  return;
});

if (app.viewerVersion < 10) {
  app.addMenuItem({ cName: "Split4", cUser: "Split4", cParent: "Tools", cExec: "myButtonPress()",
    cEnable: "event.rc = (event.target != null);"});
} else {  app.addToolButton({ cName: "Split4", cLabel: "Split4", oIcon: oIcon,  cExec: "myButtonPress()",
    cEnable: "event.rc = (event.target != null);"});
}
 
  • Спасибо
Реакции: Jeine и ~RA~

Jeine

Да здравствует разум! Да сгинет маразм!
15 лет на форуме
Сообщения
7 246
Реакции
6 280
Миша, что-то у меня не хочет отрабатывать этот скрипт на первом же попавшемся файле. Пишет, an internal error occurred.

Акробат девятка.
 

_MBK_

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

Jeine

Да здравствует разум! Да сгинет маразм!
15 лет на форуме
Сообщения
7 246
Реакции
6 280
С другой стороны, в девятке же штатный split имеется вроде
Ну, ты ведь согласен, что это совершенно неспортивно? '))'
В отладчик не залезал, сейчас посмотрю (если найду его '%)' )
 

_MBK_

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

Jeine

Да здравствует разум! Да сгинет маразм!
15 лет на форуме
Сообщения
7 246
Реакции
6 280

_MBK_

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

Elsynor

Tesseract
12 лет на форуме
Сообщения
1 282
Реакции
1 377