在 Inkscape 中,我可以链接到 pdf/svg 而不是嵌入其内容吗?

平面设计 墨景 pdf svg 进口
2022-01-05 15:00:35

我使用 Inkscape 作为画布来布局我在 Python 中制作的现有 PDF/SVG/PNG 图,然后在整体图中添加一些细节和文本。当我通过 导入 PDF/SVG 文件时File >> Import... >> Link,它们嵌入在 Inkscape 中。我注意到,如果我使用光栅图像执行此操作,我可以选择链接到文件而不是嵌入它,因此当我在 Python 中更新绘图时,它们会在 Inkscape 中自动更新。

我找不到如何以同样的方式链接到 PDF/SVG 文件。我希望保留全分辨率 PDF/SVG 图,而不是使用栅格。我的朋友向我展示了如何在带有 PDF 的 Adob​​e Illustrator 中做到这一点,但这在 Inkscape 中是否可行?

3个回答

Inkscape 1.0(发行说明)可以链接到外部 SVG 文件(但显然不是 pdf 文件)。在 Inkscape 中,它仍会转换为光栅图像,但您可以在导入时甚至之后设置 DPI。光栅化发生在 Inkscape 内部,因此不会增加文件大小。

此外,如果在浏览器中查看,链接的 svg 文件似乎按原样显示(无光栅化)

Inkscape 1.0 目前作为 alpha 版本提供

您可以将 Inkscape SVG 链接到另一个 Inkscape SVG 中,以便链接文件在所有使用它的文件中自动更新,就像链接的光栅图像一样。这是使用<image />标签完成的,如下所示:

  1. 创建一个名为dummy.png.
    • 使用与 SVG 相同的位置进行链接。
    • 使用与链接图像相同的尺寸将在父 SVG 中。
  2. 导入dummy.png为光栅图像。
  3. 右键单击图像。
  4. 选择图像属性
  5. URL设置为 SVG 文件(使用相对 URL)。

每次更新链接的 SVG 时,图形都会自动更新,但无法在宿主 SVG 文件中进行编辑。

或者,渲染源 SVG 本身的光栅图像并将其 URL 替换为 SVG 文件的 URL。

当您将矢量文件导入到 inkscape 中时,它会以一组矢量对象的形式出现。因此分辨率不是问题。我对来自 origin 和 python/matplotlib 的图做了很多。这很容易检查 - 单击图表中的曲线并选择“按节点编辑路径”工具 (F2) - 您将能够编辑节点。

自动更新会很好,但我不认为它可以作为用户完成(我在这里包括简单的扩展)。我刚刚尝试手动破解 svg 文件以链接 pdf(或 svg)而不是 png,但找不到新文件(我得到一个包含“☒ Linked image not found”的占位符图像)。

如果您的源 svg/pdf 文件中嵌入了栅格,我不确定分辨率会发生什么。我唯一一次不得不处理这个图像(从显微镜照片中裁剪)的分辨率太低了,无论如何它们都被放大了,我没有进一步失去。无论如何,我怀疑您在 python 图中嵌入栅格有问题。