使用Inkscape从pdf中提取矢量图形



我想从一篇论文中提取一些pdf图像用于演示。在windows中,Adobe Illustrator工作得很好,但我现在必须在Debian框中执行此任务。

我在网上找到的两个流行的解决方案是使用

  • pdfimage
  • Inkscape

pdfimage不能满足我的需求,因为我想要矢量图形(pdf)而不是jpgs,所以我更喜欢使用Inkscape,但它并没有按预期工作。我希望我可以像使用Illustrator一样,使用一些选择器工具来拖动一个框并选择里面的所有东西,但Inkscape中的工具都不起作用。

如果我使用"选择和转换对象"工具(黑色箭头),整个pdf页面都会被选中,而我只想要一小部分;如果我使用"按节点编辑路径"工具(带有一些节点的黑色三角形箭头),我一次只能选择一个对象。拖放(即使按下了shift键)也不起作用。

我想知道是否有办法绕过这一点,或者Debian中是否有更好的工具可以实现这一点?谢谢

在我看来,我可以建议从pdf 中获取矢量图像的方法

有一种叫做的工具

pdftocairo,包含在poppler utils

  • http://poppler.freedesktop.org/

语法:

pdftocairo [options] <PDF-file> [<output-file>]

pdftocairo能够在输出中生成光栅和矢量格式,最后,它能够将单个pdf页面的内容转换为:

  • -ps:生成PostScript文件
  • -eps:生成封装的PostScript(eps)
  • -svg:生成可缩放矢量图形(svg)文件

适合您需求的最佳输出格式可能是svg,因此在转换pdf页面后,您可以使用任何svg应用程序(例如,使用inkscape或旧的sodipodi)打开此svg,选择您想要提取的矢量元素并保存

恢复:

如果您有MULTIPAGE PDF

  1. 您首先将此多页pdf拆分为单个页面(创建该单页的文件夹)

    pdftk file.pdf burst
    
  2. 然后使用pdftocairo将任何pdf页面转换为svg

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

您可以使用pdftk拆分多页pdf文件,然后使用inkscape使用命令行将pdf转换为svg文件,例如

inkscape --without-gui --file=input.pdf --export-plain-svg=output.svg

相关内容

  • 没有找到相关文章

最新更新