2015-01-27 3 views
1

Я бы хотел напечатать только последнюю страницу пакета .pdf-файлов в команде Windows и объединить их.Ghostscript: печатать только последнюю страницу пакета файлов

Количество страниц каждого .pdf-файла варьируется.

можно определить последнюю страницу с

gs -q -c "(file.pdf) (r) file runpdfbegin pdfpagecount =" -f file.pdf 

Но как они могут быть напечатаны и в сочетании с Ghostscript?

ответ

1

Вы не можете просто сказать «LastPage», что вам нужно запускать каждый файл индивидуально и изменять FirstPage и LastPage между ними. Я не пробовал, но что-то вроде:

gs -dFirstPage=10 -dLastPage=10 file1.pdf -dFirstPage=2 -dLastPage=2 file2.pdf.... 

может работать. Конечно, вам нужно будет получить FirstPage и LastPage правильно для каждого файла. Это почти наверняка не будет работать в будущих версиях, потому что действие FirstPage и LastPage меняется. Когда эта работа будет завершена, вам понадобится другой подход.

Вы могли написать PostScript программу, которая открыта каждый из группы PDF файлов, определяется на последней странице в каждом (с использованием кода у вас уже есть) и множество Firstpage и Lastpage перед выполнением файл снова, чтобы сделать его ,

1

Этот ответ не используется Ghostscript, но pdftk.

Для решения этой задачи это лучший инструмент для использования. Пример команды:

pdftk    \ 
    A=file1.pdf \ 
    B=file2.pdf \ 
    C=file3.pdf \ 
    cat    \ 
    Aend   \ 
    Bend   \ 
    Cend   \ 
    output   \ 
    result.pdf 

Это использует 2 маленькие хитрости, доступные при работе pdftk:

  1. 'ручки'A, B и C для file1.pdf, file2.pdf и file3.pdf
  2. в end ключевое слово прикрепленные к ручкам, чтобы указать последнюю страницу.

pdftk ручка может быть использована для указания страницы диапазона, такие как C4-6 (имеется в виде 4-6 страниц из file3.pdf) или Bodd (имеется в виде все нечетных страниц file2.pdf).

Найти другие варианты, просмотрев выход pdftk --help.

Как правило, использование pdftk для данного конкретного вида работы значительно быстрее, чем при использовании Ghostscript.

Если необходимо использовать Ghostscript для других своих функций (то есть, что она в основном создает совершенно новый PDF-файл каждый раз, когда он записывает выходные данные в формате PDF), вы можете запустить result.pdf через Ghostscript. Я предполагаю, что даже комбинированное время прогона pdftk + gs будет ниже, чем позволяет gs выполнять всю работу в одиночку.