Извлечение страниц из PDF с помощью javascript в Acrobat Pro

#javascript #pdf #acrobat

#javascript #PDF #acrobat

Вопрос:

Я пытаюсь создать скрипт, который будет извлекать все страницы из PDF-документа и называть их по номеру pdf (скажем, имя PDF-файла 5047.pdf), а затем увеличивать имя для каждой страницы PDF, чтобы он создавал 5048.pdf, 5049.pdf и т.д. Однако мой скрипт ничего не делает.

 var filename = 0;
for (var i = 0; i < this.numpages; i  )
this.extractpages

({
nStart: i,
cpath: filename   i   ".pdf"

});
  

Комментарии:

1. Я не уверен, что вы используете для извлечения страниц, но, конечно, вы хотите сделать это перед циклом .. Или как еще цикл узнает, сколько страниц. 🙂

2. Я скопировал приведенный выше скрипт из ADOBE ACROBAT SDK :-), пожалуйста, помогите мне исправить это, если сможете.

3. не могли бы вы попробовать this.extractpages(i, i);

4. И делайте this.NumPages, а не this.numpages

5. О, и это.extractPages(i,i); javascript чувствителен к регистру.. Поэтому я предполагаю, что Adobe тоже.

Ответ №1:

Исходная ссылка: https://forums.adobe.com/thread/969135

Решение, основанное на ответе с форума Adobe:

 /* Extract Pages to Folder */

var re = /.*/|.pdf$/ig;

var filename = this.path.replace(re,"");
var lastPage=this.numPages-1;
{
    for ( var i = 0;  i < this.numPages; i   ) 
    this.extractPages
     ({
        nStart: i,
        nEnd: lastPage,
        cPath : filename   "_page_"   (i 1)   ".pdf"
    });
};
  

Комментарии:

1. cPath: Number(filename) (i 1) «.pdf» позволяет корректно увеличивать имя файла. 5145, 5146, 5147 и т. Д. Вместо 5145, 51451, 51452 и т. Д.

2. Он не создает одностраничные PDF-файлы, он создает многостраничные PDF-файлы.

Ответ №2:

Это сработало для меня, необходимо было извлечь 2 страницы подряд:

 /* Extract Pages to Folder */

var re = /.*/|.pdf$/ig;

var filename = this.path.replace(re,"");
var lastPage=this.numPages-1;
{
    for ( var i = 0;  i < this.numPages; i = i   2 ) 
    this.extractPages
     ({
        nStart: i,
        nEnd: i   1,
        cPath : filename   "_page_"   (i 1)   ".pdf"
    });
};