Ghostscript: разделение большого PDF вызывает ошибку «pdfmark destination page» - PullRequest
2 голосов
/ 23 января 2009

Я пытаюсь разделить PDF на 2 меньших PDF, используя gs (Ghostscript версия 8.62 на Debian Ленни). У меня только Debian Linux под рукой, поэтому, пожалуйста, не предлагайте решения для Windows или Mac.

При указании -dLastPage=740 я получаю сообщение об ошибке:

GPL Ghostscript 8.62: ERROR: A pdfmark destination page 1203 points
beyond the last page 740.

Я изучил документацию Ghostscript, чтобы узнать, как отключить pdfmark полностью (мне не нужны ссылки или закладки для прямой печать pdf). -dDOPDFMARKS=false не работает.

Я искал в интернете всех, кто сообщает об аналогичной ошибке. я пока не нашел решения.

Пожалуйста, помогите!

Для справки я использую команду:

gs -dSAFER -dBATCH -sDEVICE=pdfwrite -DNOPAUSE -sPAPERSIZE=halfletter -
dFIXEDMEDIA -dEmbedAllFonts=true -sOutputFile=library.1of2.pdf -
dLastPage=740 -dPDFFitPage library.pdf

Ответы [ 3 ]

1 голос
/ 23 января 2009

Как оказалось, ошибка не смертельная. PDF-файл генерируется в любом случае, и, поскольку меня не волнует функционирование PDF-ссылок или закладок, эта проблема для меня решена.

В целом, было бы неплохо узнать, почему pdfmark или ghostscript терпят неудачу, и как создать действительный pdf с работающими ссылками. Если у кого-то есть ответ, я все равно хотел бы услышать.

1 голос
/ 23 января 2009

Дайте CAM :: PDF попробовать (примечание: я автор). Синтаксис будет:

deletepdfpage.pl library.pdf 741- library.1of2.pdf
deletepdfpage.pl library.pdf -740 library.2of2.pdf

или программно, это будет примерно так:

use CAM::PDF;
my $pdf = CAM::PDF->new('library.pdf') || die;
$pdf->deletePages('741-');
$pdf->cleanoutput('library.1of2.pdf');

Это открытый исходный код, и он тоже довольно быстрый.

0 голосов
/ 11 июня 2010

Вам следует задать новый вопрос, в котором подробно указано, как и где вы хотите создать «PDF-файлы с работающими ссылками».

...