我必须直接从浏览器打印我的SVG,但我不知道该怎么做。
SVG元素的位置和大小很重要,这就是数字全部以mm为单位的原因。 它必须在预先打印的纸张上打印,并在预打印的容器中打印。
SVG目前看起来像这样:
<svg xmlns="http://www.w3.org/2000/svg" class="col-md-12 designerCanvas" id="svgLabel" width="240mm" height="90mm" viewbox="0 0 240 90">
<image class="svg" id="img-160-68" visibility="visible" x="160.202" y="68.0135" width="14.0043" height="14.0043" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/images/Icons/icon02.png" />
<image class="svg" id="img-175-68" visibility="visible" x="175.791" y="68.0135" width="14.0043" height="14.0043" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/images/Icons/icon05.png" />
<image class="svg" id="img-191-68" visibility="visible" x="191.381" y="68.0135" width="14.0043" height="14.0043" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/images/Icons/icon07.png" />
<text class="svg" id="txt-0-5" font-family="Arial" font-size="1.64233" visibility="visible" text-anchor="start" x="0.5285" y="5.5489" height="33.29333142498542" width="79.26983672615574">
<tspan x="0.5285" dy="1.6423">[EN] Some Title: </tspan>
<tspan x="0.5285" dy="1.6423">There is some text here.</tspan>
<tspan x="0.5285" dy="1.6423">Even more text here. </tspan>
<tspan x="0.5285" dy="1.6423">WOW, a third line.</tspan>
<tspan x="0.5285" dy="1.6423">You're overdoing it</tspan>
<tspan x="0.5285" dy="1.6423">Please</tspan>
<tspan x="0.5285" dy="1.6423">STAHP</tspan>
<tspan x="0.5285" dy="1.6423">No More!!</tspan>
<tspan x="0.5285" dy="1.6423">That's it</tspan>
<tspan x="0.5285" dy="1.6423">I'm outta here....</tspan>
</text>
</svg>
请注意纸张(= SVG画布)的宽度和高度来自数据库,并且可以有多个值。
元素的x,y,宽度和高度现在没有mm,因为SVG画布的视图框和单位组合可以解决这个问题,但我可以根据需要添加它。
客户只希望我支持IE11 +,不过我自己也想支持最近的Chrome和FF。
我可以将图纸装入一个新的(临时)窗口进行打印,但我不确定它是否会打印出正确的版本。 也许创建PDF和打印是可行的方法,但不知道如何将svg发送给它。
Web应用程序本身是一个ASP.NET MVC(Core),在前端添加了简单的javascript和jQuery。
除了在默认纸张上以像素为单位打印SVG外,无法在网页上找到关于该主题的更多信息,但我非常确定这些元素会以错误的位置/大小打印出来。
有什么想法吗?