В Adobe Acrobat Javascript, как я могу заставить страницу стать редактируемой до того, как на нее подействует определенная часть скрипта?

Что я пытаюсь сделать: перебирать каждую страницу в PDF и извлекать количество слов на каждой странице.
Что происходит вместо этого: приведенный ниже код вернет 0 слов для любой страницы, которая не стала редактируемой. Хотя я выбрал, чтобы все страницы стали редактируемыми одновременно, Adobe не будет поддерживать редактируемость страницы в течение очень долгого времени после того, как я покину эту страницу. Боковое примечание: кажется, что это также ограничивает количество страниц, которые я могу редактировать одновременно. Это проблема, потому что сейчас я работаю с 10-страничным выбором pdf-файла. Этот же код должен будет работать с pdf-файлом на 120+ страниц. Пожалуйста, нажмите "Редактировать PDF" --> "Отсканированные документы" --> "Настройки", чтобы увидеть, что я имею в виду под редактируемым. Я уже выбрал вариант, чтобы все страницы стали редактируемыми одновременно.
Что я пробовал до сих пор: я испробовал различные способы заставить Acrobat сделать повторяющуюся страницу. активный, чтобы он стал редактируемым. Я попытался вручную установить номер страницы после каждой итерации цикла for и включить искусственную задержку, например, с переменной h для цикла в примере кода. Я пытался найти какой-то метод, который определяет, какая страница является активной, но пока мне не повезло.

CurrDoc = app.activeDocs[0]
CurrDoc.title;
NumPagesInDoc = CurrDoc.numPages;

console.println("Document has "+NumPagesInDoc+" pages");
for (j=0; j<NumPagesInDoc; j++)
{
     
    NumWordsOnPage = CurrDoc.getPageNumWords(j);
    CurrDoc.pageNum = j;
    
    for(h=0; h<10000;h++); //<--I've tried adding in delays to give time so that 
                           //Acrobat can catch up, but this hasn't worked.
    
    console.println("Page number: "+j+" has this number of words: "+ NumWordsOnPage);
    
    
        
};

Вывод:

Document has 10 pages
Page number: 0 has this number of words: 309
Page number: 1 has this number of words: 0
Page number: 2 has this number of words: 0
Page number: 3 has this number of words: 0
Page number: 4 has this number of words: 0
Page number: 5 has this number of words: 0
Page number: 6 has this number of words: 0
Page number: 7 has this number of words: 0
Page number: 8 has this number of words: 0
Page number: 9 has this number of words: 158

true

Примечание. Разные страницы могут работать с выводом в разное время в зависимости от того, на какие страницы я нажимал в последний раз перед запуском скрипта.

Любое руководство или помощь будет принята с благодарностью. Спасибо за ваше время.


person JavoctopusPrime    schedule 16.11.2020    source источник


Ответы (1)


Так. Я до сих пор не совсем уверен, в чем проблема, но я нашел способ заставить Acrobat работать большую часть времени.

Прежде чем щелкнуть параметр «Сделать все страницы редактируемыми», полностью уменьшите масштаб, пока не увидите все страницы в документе. По какой-то причине, когда я это сделал, казалось бы, что-то освежить в настройках и снова сделать все страницы редактируемыми. Кажется, это даже сработало, когда я открыл совершенно другой pdf-файл и нажал сделать все страницы редактируемыми даже без уменьшения масштаба.

person JavoctopusPrime    schedule 17.11.2020