使用命令行替换PDF中的图像


11

我需要处理一些PDF文件。任务包括彼此交换给定的图像文件。我的第一个问题是如何在批处理过程中从命令行替换PDF图像。接下来,我将尝试解决其他问题,例如如何识别需要替换的图像(因为PDF文件可能包含多个图像)。但是首先,我想解决第一个问题:如何用另一个替换PDF中的图像。

我已经阅读了有关poppler-utils和pdftk的信息,但据我所知,这些工具都不允许将图像替换为PDF。


1
如果您找到答案,那么知道它将会非常有趣。隔离“问题页面”后,您可以使用ImageMagick将图像插入到另一个图像中,然后将其转换回pdf:imagemagick.org/Usage/layers 另外:superuser.com/questions/614784/…–
Konstantinos

感谢@pidosaurus,我正考虑使用此选项,但它有一个大问题:它意味着将PDF(或签名页)转换为图像。这是一个问题,因为生成的PDF的尺寸会大得多,并且用户无法选择一段文本进行复制和粘贴。
伊万2015年

从imagemagick进行lookup转换,还有从openoffice ooconv(实际上是libreoffice)提供的工具,我曾经雇用过某人编写PPT到PDF转换器,这些都是使用的工具。
数学

我知道没有一个PDF工具能够做到这一点,但是使用具有该功能的PDF库编写新工具并不难。您必须解决的一个问题是如何在PDF中指定特定图像。
Dirkt

Answers:


1

好的...我想这pdflatex是丢失的部分。

OP说他已经调查poppler-utilspdftk。让我补充一下pdfimages。这些,以及pdflatex解决方案的各个部分。

pdfimages -f 4 -l 20 -j -png target.pdf imageroot

在上面的示例代码中,pdfimages 浏览第4页到第20页,target.pdf并将所有图像提取到名称以开头的文件中imageroot

poppler-utils提供pdftotext。我建议使用该-layout选项,可以使文档易于阅读。

pdftotext -layout $1.pdf $1.txt

OP对pidosaurusimagemagick提供的解决方案的反对意见是,图像没有可提取的文本。使用我概述的实用程序,OP现在将具有所有图像以及所有提取的文本,并且该选项保留页码和内容。OP可以识别正确的文本页面,并将其吸附到以指令结尾并按文件名引用替换图片的文件中。然后,您将得到一个新的.pdf单页,并使用插入到文档的其余部分。如果您知道图像在原始页面的文本中的位置,则可以将图像放在正确的位置。-layout.tex%includegraphicspdflatexpdftk%includegraphics [h]

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.