从pdf文件中提取矢量图像

时间:2012-03-28 08:37:21

标签: linux image pdf command-line

linux上是否有一个命令行工具可以从pdf文件中提取数据,并以矢量格式保存?我知道pdfimages,但这会创建一个位图,而这不是我需要的。

3 个答案:

答案 0 :(得分:15)

仅适用于 图片 ,因为您似乎需要,但

  • pdftocairo

http://poppler.freedesktop.org/

http://www.manpagez.com/man/1/pdftocairo/ (联署页面)

能够将pdf页面渲染为其他矢量格式,例如 PS / EPS / SVG

假设您有一个带矢量化图像的pdf页面,您可以将此页面渲染为svg,然后仅复制您感兴趣的图像

注意: pdftocairo 无法将多页pdf渲染为多页svg

如果您需要转换为svg几个pdf页面,首先需要选择此页面范围,然后将pdf页面分成单个pdf页面

示例(如果我们需要将pdf文件的1-10页转换为svg)

pdftk file.pdf cat 1-10 output 1-10.pdf

pdftk 1-10.pdf burst

for f in *.pdf; do pdftocairo -svg $f; done

最后,使用sodipodi或inkscape,您可以从svg渲染pdf页面中提取您感兴趣的图像

答案 1 :(得分:3)

你认为什么是“人物”?这是PDF中不存在的概念。有这么多工具可以从PDF文件中提取图像的原因是因为图像是一个非常清晰的实体。

然而,你的“数字”的定义要少得多。 PDF文件可能包含许多您不会称之为数字的矢量内容。例如,文本可以被描边,这将使它成为矢量艺术,因此可能会与您的数字混淆。其他装饰元素可以在页面的背景中使用。文字可以加下划线,这是一个向量元素......

在另一个方向,你的“数字”可能包含一个文字标题,使事情更加复杂。

由于PDF没有图形的概念,您必须弄清楚如何在PDF页面上隔离一个(可能是因为创建者应用程序总是向其添加元数据,或者因为它们使用特殊颜色或...如果您可以隔离它们,应该可以修剪页面上不相关的所有内容,并使用其他答案中描述的一些技术将您需要的内容导出为EPS或SVG。

答案 2 :(得分:2)

This article描述了gpdfx,inkscape和pdf2svg这些工具,这些工具不完全基于命令行,但仍然很有用。