【发布时间】:2016-01-29 12:27:07
【问题描述】:
我的目标:在 Chrome(电子)中从 html 页面将 SVG 打印到单个页面(任何纸张大小)全尺寸。
我正在努力实现这个目标,这是我的故事:
我生成了一个 SVG,其中包含应该以特定字体显示的文本。这是我包含在 css 中的自定义字体(使用 Font Squirrel),也用于网站中的文本。当我在我的网站内联显示 SVG 时,字体呈现良好。
内联意味着它是一个元素,是你可以检查的 dom 的一部分。这个问题是你不能真正改变宽度样式而不必重新渲染 svg。因为我想打印它,所以能够只做 'width=100%' 就好了。
为此,我将 SVG 序列化为 dataURL,并使用 an 并将其 src 设置为 dataURL。现在我可以设置我想要的宽度。但是:自定义字体不再起作用了!
所以我将 SVG img 保存到文件中进行编辑。显然,您可以在 SVG 中包含 css,这就是我所做的。然后,当您直接在浏览器中打开文件时,它会再次正常工作。但是,当您在网页的 IMG 中打开它时,字体不再起作用。
接下来我尝试将 svg 字体直接复制到文件中(字形的东西......)。是的,这行得通!哦,不,不是,只是在 Safari 中而不是在 Chrome 中,该死。
目前我正在考虑将其栅格化,但这当然不是一个好的解决方案。
正如你所理解的,我在这里有点沮丧。谁能给我关于 SVG 字体问题的见解,或者您有关于打印的任何提示吗?
【问题讨论】:
标签: google-chrome svg printing fonts