如何使用Imagemagik替换单个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]

可以使用带零基索引的括号语法指定特定页面或页面范围。例如,[8]指第九页,[0-6]指前七页。使用此功能,可以实现PDF的复制,并替换第8页,如下所示:

convert my-file.pdf[0-6] page-8.png my-file.pdf[8] output-file.pdf

正如问题和评论中所指出的,Imagemagik不是执行此任务的好工具,因为它可以光栅化PDF的输出。避免这种情况的另一种解决方案是使用pdftk来替换页面。虽然插入的页面仍然是图像,但未插入的页面不会被光栅化。

首先,使用能够扫描的应用程序将页面保存为PDF。然后,使用pdftkcat操作组合PDF:

pdftk A=my-file.pdf B=page-8.pdf cat A1-7 B A9 output output-file.pdf

最新更新