linux上是否有一个命令行工具可以从pdf文件中提取数据,并以矢量格式保存?我知道pdfimages,但这会创建一个位图,而这不是我需要的。
答案 0 :(得分:15)
仅适用于 图片 ,因为您似乎需要,但
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这些工具,这些工具不完全基于命令行,但仍然很有用。