Ditiz
Ditiz

Reputation: 171

Ghostscript: ERROR: A pdfmark destination page x points beyond the last page y when use %003d

This command:

gs -sOutputFile=/destination/%003d.pdf \
  -sDEVICE=pdfwrite \
  -dBATCH \
  -dNOPAUSE \
  initial.pdf

give me the error:

GPL Ghostscript 9.26: ERROR: A pdfmark destination page 10 points beyond the last page 1.

for each page, but the same command without the 003 doesn't return any error:

gs -sOutputFile=/destination/%d.pdf \
  -sDEVICE=pdfwrite \
  -dBATCH \
  -dNOPAUSE \
  initial.pdf

Upvotes: 1

Views: 1359

Answers (1)

KenS
KenS

Reputation: 31141

You are producing each page of the input PDF file as a separate PDF file when you specify %d. Thus each destination output file only has one page.

Your input file has 'something' (could be an outline, a Link, a Dest or possibly something else) which points to page 10 in the original file. Ghostscript's PDF interpreter converts that to a pdfmark and emits it.

Now in both cases you should be emitting one file per page, so I would expect both command lines to give you an error because page 10 is, clearly, outside the range of pages in any file.

It's hard to see why %d instead of %003d doesn't give an error, I would expect that it should. However without the original PDF file to experiment with I can't tell what is going on. Your best bet, if you think this is a bug, is to open a bug report at https://bugs.ghostscript.com

You should also try the current version (9.50) the one you are using is somewhat out of date.

Upvotes: 3

Related Questions