2

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

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

那里有一些名称为 的文件-03.png,我需要比其他文件具有更小的页码。但是我得到了一个 PDF,其中 -01 的页码为 1,-02 的页码为 2 等,而 01 从第 6 页开始。

PDF 是一本扫描的书,其中包含一些不包含在页码中的元素,如目录等。vii我记得在普通阿拉伯数字开始之前看过一些具有特殊页码的 PDF 。

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

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

4

1 回答 1

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 等的任意数量的页面。根据您的需要进行修改。

于 2013-11-10T04:14:56.300 回答