【问题标题】:Extracting vector graphics from pdf with Inkscape [closed]使用 Inkscape 从 pdf 中提取矢量图形
【发布时间】:2012-08-18 13:29:52
【问题描述】:

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

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

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

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

我想知道是否有办法解决这个问题,或者 Debian 中是否有更好的工具来实现这一点?谢谢。

【问题讨论】:

    标签: pdf graphics inkscape


    【解决方案1】:

    以我的拙见,我可以建议我用来从 pdf 获取 矢量 图像的方式

    有个工具叫

    pdftocairo,包含在 poppler-utils

    语法:

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

    pdftocairo 能够在输出中生成光栅和矢量格式,在这两者之间,它能够转换单个 pdf 页面的内容(如果你有一个多页 pdf doc,您首先需要在其单个 pdf 页面中explode,以 pdftk 为例),进入:

    • -ps : 生成 PostScript 文件
    • -eps : 生成 Encapsulated PostScript (EPS)
    • -svg : 生成可缩放矢量图形 (SVG) 文件

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

    正在恢复:

    如果您有多页 PDF

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

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

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

    【讨论】:

    • 它不起作用。我把它转成svg后,Inkscape仍然无法选择我想要的对象
    • 您可能需要先取消组合元素才能选择单个项目
    【解决方案2】:

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

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

    【讨论】:

    • 是否允许批量提取矢量图形?
    • 太好了,成功了!使用splitpdf.com 完成拆分,然后运行建议的命令
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-11
    • 1970-01-01
    • 2010-09-29
    • 1970-01-01
    相关资源
    最近更新 更多