使用嵌入式PNG / JPG打印宽SVG图像

问题描述 投票:1回答:1

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

图像很宽,因此我需要将其(海报形式)平铺在大约5或6张A4纸上(实际计数并不重要)。我的第一个问题是,在Windows下,Firefox或Chrome浏览器中的默认“打印”对话框不允许我缩放图像高度以适合页面高度,同时也将图像宽度分布在多个页面上。

有人建议使用Inkscape转换为PDF格式,因为Acrobat Reader中的“打印”对话框具有更好的平铺支持。可以,但是Inkscape不能处理嵌入的图像(例如PNG或JPG)。更糟糕的是,它会生成巨大的方形错误标记,这些错误标记到处都显示“找不到链接的图像”。这些也保留在生成的PDF中,使其变得无用。

[有许多在线工具声称它们可以将SVG转换为PDF。我尝试了少数,但都没有解决嵌入式图像的问题。他们只是被丢弃了。

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

[编辑]一些在线结果:zamzar-丢弃的图像cloudconvert-只需使用inkscapeconvertio-最好的,但是图像上的不透明度被忽略online-convert.com-图像被丢弃pdfresizer-只需使用inkscapefreefileconvert-只需使用inkscapeonlineconvertfree-使用基本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" />
svg printing inkscape
1个回答
0
投票

我有时间做进一步的试验(因此,减少了打印机的打印纸浪费。)

1]出于“安全原因”,Inkscape故意不支持Internet图像引用(例如http)。如前所述,它在加载的SVG的视图中放置了一个可怕的错误标记,而我发现没有办法对其进行编辑。因此,它可以保存为任何PDF版本。

2)如果我下载图像的本地副本并将其http://引用更改为等效的文件:///(是,三个斜杠),则它们被接受。

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

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

5)“ Acrobat打印”对话框具有“海报”选项,用于平铺宽幅图像的页面。确保不添加“裁切标记”或“标签”,您可以设置“平铺比例”,以将高度保持在一页之内,并且将其按宽度分布在尽可能多的页面上。根据缩放比例,它会自行选择风景/人像,而忽略您自己的任何选择。

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

通过“首选项”按钮,我可以进入常规的打印机首选项对话框,在该对话框中可以请求“无边界打印”。而不是解决问题,这只会使相关性更加神秘。

© www.soinside.com 2019 - 2024. All rights reserved.