我想从纸张中提取一些pdf图像用于演示目的。在Windows中,Adobe Illustrator工作正常,但我现在必须在Debian框中执行此任务。
我在网上找到的两个流行解决方案正在使用
pdfimage不符合我的需求,因为我想要矢量图形(pdf)而不是jpgs所以我更喜欢使用Inkscape,但它不能按预期工作。我希望我可以使用一些选择器工具来拖动一个框并像我通常使用Illustrator一样选择内部的所有内容,但是Inkscape中没有任何工具可以工作。
如果我使用“选择和变换对象”工具(黑色箭头),则选择整个pdf页面,而我只需要一小部分;如果我使用“按节点编辑路径”工具(带有一些节点的黑色三角形箭头),我一次只能选择一个对象。拖放(即使按下shift键)也不起作用。
我想知道是否有办法解决这个问题,或者Debian中是否有更好的工具来实现相同的目标?感谢。
答案 0 :(得分:18)
在我的拙见中,我可以建议我用来从pdf获取 vector 图像的方式
有一个名为
的工具pdftocairo ,包含在 poppler-utils
中语法:
pdftocairo [options] <PDF-file> [<output-file>]
pdftocairo能够在输出中生成栅格和矢量格式,在这些格式之间,它能够转换单个pdf页面的内容(如果你有倍数< / strong> pdf doc,您首先需要在其单个pdf页面中爆炸,例如 pdftk ),进入:
- -ps:生成PostScript文件
- -eps:生成Encapsulated PostScript(EPS)
- -svg:生成可缩放矢量图形(SVG)文件
您需要的最佳输出格式可能是 svg ,因此在转换pdf页面后,您可以使用任何svg应用程序打开此svg(使用 inkscape 或好的例如,旧的 sodipodi ,选择要提取的矢量元素并保存
RESUMING:
如果您有 MULTIPAGE PDF
您首先将此多页pdf拆分为单页(创建一个 这个单页的文件夹)
pdftk file.pdf burst
然后使用 pdftocairo 将任何pdf页面转换为 svg
for f in *.pdf; do pdftocairo -svg $f; done
答案 1 :(得分:12)
您可以使用pdftk拆分多页pdf文件,然后使用inkscape使用命令行将pdf转换为svg文件,例如
inkscape --without-gui --file=input.pdf --export-plain-svg=output.svg