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

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

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

после чего проделать вышеописанное.
т.е. даже если файл сохранен, но прав административных нет, он игнорирует файл?
Права получить не могу. Может можно как то создать скрипт из программы, чтобы он выполнялся напрямую?
 
Может можно как то создать скрипт из программы, чтобы он выполнялся напрямую?
Можно, но вам удобнее делать таким образом
Если не работает то надо разобраться, что мы сделали не так
 
  • Спасибо
Реакции: AgPilot
Если файл действительно поместился в папку, то попробуйте открыть отладчик (по моему Tools-Javascript или чтото в этом духе,восьмерки под рукой нет) Должно получиться вот такое окно, скриншот скопируйте и пришлите сюда
upload_2017-9-7_14-57-55.png
 
  • Спасибо
Реакции: AgPilot
@_MBK_, как всё сложно. :)
И как просто было на видео в поддерживаемом формате. :))
 
  • Спасибо
Реакции: _MBK_
Можно, но вам удобнее делать таким образом
Если не работает то надо разобраться, что мы сделали не так
О, заработало! Спасибо огромное! Просто перезагрузила систему, и появилось.
Хотела еще дополнительно 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 КБ · Просм.: 561
И как просто было на видео в поддерживаемом формате.
Вот видишь, какая толковая девушка оказалась, а ты оскорблял ее неприличными подозрениями! :4)
Чтобы экран не мелькал, можно что то вроде application.screenupdate FALSE, как в экселе прописать во время выполнения кода?
К сожалению, имхо, нет, ибо скрипт создает во время работы временный документ, этого спрятать никак не получится. :(
Скажите,а можно поправить в коде кол-во страниц для разбивки?
Самая верхняя отмеченная строка (k==4)
 
  • Спасибо
Реакции: Aniriann и AgPilot
Вот видишь, какая толковая девушка оказалась, а ты оскорблял ее неприличными подозрениями! :4)
А так я вообще больше по экселю продвинутый пользователь. Хотя бы объектную модель программы знаю и могу простенькие макросы писать. С явой не знакома, хотя, зная английский, немного понимаю сам код.
К сожалению, имхо, нет, ибо скрипт создает во время работы временный документ, этого спрятать никак не получится. :(

Самая верхняя отмеченная строка (k==4)
Спасибо Вам огромное! Сделала - и все работает. Вы меня очень сильно выручили.
 
В принципе, чтоб каждый раз акробат не перегружать, можно задавать вопрос о количестве страниц в начале скрипта:
Код:
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);"});
}
 
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~
Миша, что-то у меня не хочет отрабатывать этот скрипт на первом же попавшемся файле. Пишет, an internal error occurred.

Акробат девятка.
 
С другой стороны, в девятке же штатный split имеется вроде
Ну, ты ведь согласен, что это совершенно неспортивно? '))'
В отладчик не залезал, сейчас посмотрю (если найду его '%)' )
 
Ну и?