ImageMagick生成带有特殊页面编号的pdf

时间:2013-11-09 14:45:58

标签: pdf imagemagick-convert

我使用以下命令从一组PNG文件生成PDF:

convert --  $(ls -v -- src/*.png) out/book.pdf

其中有些文件的名称类似于-03.png,我需要使用比其他文件更小的页码。但是我得到一个PDF,其中-01有页码1,-02号码2等,01从第6页开始。

PDF是一本扫描的书,它有一些内容,如目录等,不包括在页码编号中。我记得在正常的阿拉伯数字开始之前,我已经看过一些有特殊页码的PDF,例如vii

我尝试使用-scene -5为页码添加偏移量,但这并没有改变结果。

那么我应该做些什么来使页面“01.png”具有页码1等,而之前的那些有其他数字(负数或拉丁语,任何东西)并出现在文档的开头?

1 个答案:

答案 0 :(得分:2)

首先,您希望对数字进行排序,对可选的减号进行数字计数,您不会对显示的命令进行排序。

其次,您谈论PDF页面的 PageLabels ,您可以使用Ghostscript和pdfmark运算符添加。

尝试此命令:

ls src/*.png | \
sort -n | \
convert @- pdf:- | \
gs \
  -sDEVICE=pdfwrite \
  -o out/book.pdf \
  -c '[{Catalog}<</PageLabels<</Nums[0<</P(-3)>>1<</P(-2)>>2<</P(-1)>>3<</S/D>>]>>>>/PUT pdfmark' \
  -f -

这是3页-3,-2和-1,然后是标记为1,2,3等的任意数量的页面。根据您的需要进行修改。