我使用以下命令从一组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等,而之前的那些有其他数字(负数或拉丁语,任何东西)并出现在文档的开头?
答案 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等的任意数量的页面。根据您的需要进行修改。