pdf - ImageMagick 生成带有特殊页码的 pdf

标签 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等,而之前的页面有一些其他数字(负数或拉丁文等)并出现在文档的开头?

最佳答案

首先,您想要对文件进行数字排序,计算可选的减号,但您不会使用显示的命令来执行此操作。

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

关于pdf - ImageMagick 生成带有特殊页码的 pdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19877257/

相关文章:

perl - 如何将PDF文件与Perl合并?

pdf - 在 Grails Web Flow 结束状态下渲染 PDF

ffmpeg - 从图案/平铺图像创建滑动视频

c# - iTextSharp PdfWriter 在不应该旋转的情况下旋转页面布局

linux - 将 PDF 的内容打印到命令行

imagemagick - ImageMagick:转换为转换后的图像保留相同的名称

imagemagick - 在Imagemagick中模糊图像的一部分

imagemagick - 尝试将200个jpg文件转换为带有ImageMagick的mp4。一遍又一遍地收到相同的错误

javascript - 导出为 PDF 时如何在表格中保留垂直标题?

c++ - 在 ImageMagick 中创建具有字符特定颜色的文本标签