【问题标题】:Printing wide SVG image with embedded PNG/JPG使用嵌入的 PNG/JPG 打印宽 SVG 图像
【发布时间】:2020-06-09 17:20:57
【问题描述】:

我正在努力寻找一种打印宽 SVG 图像的方法。这是一个常见问题,所以让我解释一下我的具体问题。

图像很宽,所以我需要将它(海报样式)平铺在大约 5 或 6 张 A4 纸上(实际数量并不重要)。我的第一个问题是,在 Windows 下,我的 Firefox 或 Chrome 浏览器中的默认打印对话框不允许我缩放图像高度以适应页面高度,同时还将图像宽度分散到多个页面。

其他人建议使用 Inkscape 转换为 PDF 格式,因为 Acrobat 阅读器中的“打印”对话框对平铺有更好的支持。好吧,确实如此,但 Inkscape 不处理嵌入式图像(例如 PNG 或 JPG)。更糟糕的是,它会产生巨大的方形错误标记,上面写着“找不到链接的图像”。这些也保留在生成的 PDF 中,使其无用。

有很多在线工具声称可以将 SVG 转换为 PDF。我尝试了一些,但没有一个能够处理嵌入式图像。他们只是被丢弃了。

所以,我基本上是在寻找将宽 SVG 图像打印到一系列水平页面上的任何方法,并且保留任何嵌入的 PNG/JPG 图像。

[编辑] 部分在线结果:
zamzar -- 图片被丢弃
cloudconvert -- 简单地使用inkscape
convertio -- 最好的,但在图像上忽略不透明度
online-convert.com -- 图片被丢弃
pdfresizer -- 简单地使用了 inkscape
freefileconvert -- 简单地使用了 inkscape
onlineconvertfree -- 基本 SVG 失败
pdfaid -- 基本 SVG 严重失败

[编辑 2] 下面是几行代码,显示了基于 Internet 的嵌入式 PNG 参考之一。这个设计用于在随后的 SVG 形状下方提供微弱的背景图像。因此不透明度为 12%。

<defs>
    <pattern id="img2" width="50%" height="100%" >
        <image xlink:href="https://clipartart.com/images/tree-branch-clipart-png-4.png" x="0" y="0" width="50%" height="100%" />
    </pattern>
</defs>


<rect width="100%" height="100%" fill="url(#img2)" fill-opacity="0.12" />

【问题讨论】:

  • 当 Inkscape 显示“未找到链接图像”时,可能就是这样 - 你确定它们是嵌入的吗?您可以共享文件或其中的一部分吗?此外,Inkscape 使用的库中存在一个错误,导致无法读取特定的 jpg 图像 (gitlab.com/inkscape/inbox/issues/964)。 (顺便说一句。知道谁在使用 Inkscape 即服务很有趣!)。我不知道它也会影响 png 图像,但谁知道...
  • 图片很好,可以被浏览器等其他软件引用。我在 Inkscape 网站上发现了一些“小字体”,上面写着“出于安全原因”,不支持基于 Internet 的图像。这听起来有点像围绕 SVG 的 Wordpress 危言耸听。如果它在我的机器上运行,并且我创建了引用,那么这是我的责任。这真的很烦人,无论是在实践中还是原则上。
  • 是的,这确实是故意的。不是每个人都自己创建这些文件。
  • 但是你应该可以关闭它,Moni。我认为没有理由完全破坏视图并将其保留在保存的 PDF 中,而不是仅仅丢弃这些图像。
  • 对于错误报告和功能请求,请使用inkscape.org/report,@ACProctor。

标签: svg printing inkscape


【解决方案1】:

我有时间进一步试验这一点(因此浪费了打印纸)。

1) Inkscape 出于“安全原因”故意不支持 Internet 图像引用(例如 http)。如前所述,它在加载的 SVG 视图中放置了一个可怕的错误标记,我找不到将其编辑出来的方法。因此,它可以保存在任何 PDF 版本中。

2) 如果我下载图像的本地副本并将它们的 http:// 引用更改为等效的 file:///(是的,3 个斜线),那么它们就会被接受。

3) 这允许保存 PDF 副本,但如果任何图像具有不透明度(例如背景图像),则该图像会丢失并且在 PDF 中是完全不透明的。这可能是转换问题或 PDF 限制——我不知道。

4) 由于我拥有图像的本地副本,因此可以更改它们以实现“在源头”所需的任何模糊。

5) Acrobat 打印对话框有一个海报选项,用于平铺宽图像的页面。确保没有添加“剪切标记”或“标签”,您可以设置一个“平铺比例”,将高度保持在一页内,并将其分布在宽度所需的多页上。在缩放的基础上,它会选择横向/纵向本身,并忽略您自己的任何选择。

那么,有问题吗?是的,Acrobat 的“重叠”设置是一个谜,在输出中的一个或两个相邻工作表上留下薄薄的白边。我无法将此页边距的宽度或一张或两张纸上的外观与此设置相关联。

通过首选项按钮,我可以进入正常的打印机首选项对话框,我可以在其中请求“无边框打印”。这不仅没有解决问题,反而使相关性更加神秘。

【讨论】:

  • 对于 3) pdf 版本、操作系统和 Inkscape 版本(如帮助 > 关于)以及有关对象过滤器的信息和 pdf 导出的光栅化设置可能是相关的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-01
  • 2012-12-12
  • 1970-01-01
  • 1970-01-01
  • 2018-01-04
相关资源
最近更新 更多