当前位置: 首页>>技术教程>>正文


从PDF中提取嵌入的图像

,

问题描述

在我开始使用Ubuntu之前,我使用Nitro PDF阅读器自动从PDF文件中提取图像。有没有一个Linux的PDF阅读器,这样做?

我希望能够比拍摄快照时更快/更轻松地提取图像。

最佳解决方案

使用pdfimages

pdfimages是一种PDF图像提取工具,可将PDF文件中的图像保存为PPM,PBM,JPEG或JPEG 2000文件格式。

它是poppler-utils软件包的一部分,您需要安装它。

用法:pdfimages [options] <PDF-file> <image-root>

示例:以下内容从PDF文件中提取所有图像,并以JPEG格式保存。

pdfimages -j in.pdf /tmp/out

将文件/tmp/out-000.jpg(或/tmp/out-000.pbm;见下文),/tmp/out-001.jpg等文件中的图像保存为PDF文件in.pdf


pdfimages man page说明:

-j:  Normally, all images are written as PBM (for monochrome images) or PPM for
     non-monochrome images) files. With this option,  images in DCT format are
     saved as JPEG files. All non-DCT images are saved in PBM/PPM format as usual.

次佳解决方案

我经常为此使用Inkscape。加载页面,并删除所有其他的东西。优点是可以在SVG中获取矢量图像并根据您的选择进行修改。

第三种解决方案

您也可以尝试pdfmod。它是一个GUI(图形界面),可以提取图像并执行其他基本的PDF操作。

第四种方案

我使用pdfimages这是一个命令行工具,它对我很好。它非常易于使用,您可以使用–help选项来了解有关其用法的更多信息。我使用Ubuntu,它来自pre-installed。如果您的PDF文件是加密的或密码保护有选项,所以这个工具很好。您可以阅读更多关于pdfimages here

第五种方案

我有一个double-column PDF文件,其中包含使用LaTeX创建的嵌入图像,其中原始图像以EPS形式提供。我尝试了基于pdfimages的建议解决方案,但不幸的是,它没有返回任何图像。然后我尝试使用Inkscape,但它生成的SVG图像被扭曲,我没有将它们导出为EPS。

为我们工作的软件是MasterPdfEditor

这是程序

  • 使用主PDF编辑器打开您的文件

  • 使用编辑工具(Alt + 1)选择您需要提取的图像

  • 复制图形(Ctrl + C)

  • 点击图像周围的虚线框,检查右侧边栏(对象检查器)并点击”Geomerty”。在那里你可以看到你的选择的大小

  • 创建一个新文件(Ctrl + N)。它会提示您提供页面大小。提供图像的确切大小并创建新文件

  • 现在有点棘手:粘贴图像(Ctrl + V)。图像可能不会显示在新文件中。使用箭头移动它直到你能够追踪它。

  • 使用箭头将图像居中在新页面中

  • 另存为PDF

结果是非常高的质量,但该软件不是免费的。有一个演示版本“允许您尝试所有功能”,但随附“在输出文件中添加水印”。坦率地说,我没有注意到生成的PDF中有任何水印。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/404.html,未经允许,请勿转载。