如何使用 Imagemagick 替换单个 PDF 页面?
How can I replace a single PDF page using Imagemagick?
我有一个多页 PDF 文档,我想要一个中间有一页的文档版本,并带有扫描副本,因为我需要文档中的物理签名。我如何使用 ImageMagick 做到这一点?我知道 ImageMagick 不一定是完成这项工作的最佳工具。但是,生成的 PDF 不需要是高质量或高保真副本,所以它应该足以满足我的需求。
举个具体的例子,我有一个第 9 页 my-file.pdf
,我想创建一个 PDF 副本,第 8 页替换为 page-8.png
。看起来我应该能够使用 convert
工具实现这个目标,尽管语法是什么并不是很明显。我怎样才能实现这个目标?
如果我只想将新页面附加到文件末尾,我知道我可以执行以下操作:
convert my-file.pdf page-8.png output-file.pdf
然而,这最终是原来的第 1-9 页,然后是新的第 8 页。我真正想要的是用新的第 8 页替换原来的第 8 页。我想要的输出是:
[original pages 1 - 7],[new page 8],[original page 9]
可以使用带 zero-based 索引的方括号语法指定特定页面或页面范围。例如,[8]
将指向第九页,而 [0-6]
将指向前七页。使用这个,替换第 8 页的 PDF 副本可以实现如下:
convert my-file.pdf[0-6] page-8.png my-file.pdf[8] output-file.pdf
如问题和评论中所述,Imagemagick 不是完成此任务的好工具,因为它会栅格化 PDF 的输出。避免这种情况的替代解决方案是使用 pdftk 替换页面。虽然插入的页面仍然是图像,但替换的页面不会被光栅化。
首先,使用支持此功能的应用程序将扫描输入的页面保存为 PDF。然后,使用pdftk cat
操作合并PDF:
pdftk A=my-file.pdf B=page-8.pdf cat A1-7 B A9 output output-file.pdf
我有一个多页 PDF 文档,我想要一个中间有一页的文档版本,并带有扫描副本,因为我需要文档中的物理签名。我如何使用 ImageMagick 做到这一点?我知道 ImageMagick 不一定是完成这项工作的最佳工具。但是,生成的 PDF 不需要是高质量或高保真副本,所以它应该足以满足我的需求。
举个具体的例子,我有一个第 9 页 my-file.pdf
,我想创建一个 PDF 副本,第 8 页替换为 page-8.png
。看起来我应该能够使用 convert
工具实现这个目标,尽管语法是什么并不是很明显。我怎样才能实现这个目标?
如果我只想将新页面附加到文件末尾,我知道我可以执行以下操作:
convert my-file.pdf page-8.png output-file.pdf
然而,这最终是原来的第 1-9 页,然后是新的第 8 页。我真正想要的是用新的第 8 页替换原来的第 8 页。我想要的输出是:
[original pages 1 - 7],[new page 8],[original page 9]
可以使用带 zero-based 索引的方括号语法指定特定页面或页面范围。例如,[8]
将指向第九页,而 [0-6]
将指向前七页。使用这个,替换第 8 页的 PDF 副本可以实现如下:
convert my-file.pdf[0-6] page-8.png my-file.pdf[8] output-file.pdf
如问题和评论中所述,Imagemagick 不是完成此任务的好工具,因为它会栅格化 PDF 的输出。避免这种情况的替代解决方案是使用 pdftk 替换页面。虽然插入的页面仍然是图像,但替换的页面不会被光栅化。
首先,使用支持此功能的应用程序将扫描输入的页面保存为 PDF。然后,使用pdftk cat
操作合并PDF:
pdftk A=my-file.pdf B=page-8.pdf cat A1-7 B A9 output output-file.pdf