来自SVG的Foreignobject未转换并通过TCPDF显示在PDF中

时间:2016-11-24 09:21:58

标签: php pdf d3.js svg tcpdf

我正在使用TCPDF php库将我的svg转换为pdf。我的svg使用带有body,div和span的foreignObject来显示文本中的一些注释。 当我在浏览器中打开SVG时,它看起来很好,但是当我使用TCPDF将其转换为PDF时,我的空白区域会出现我的文本以及灰色背景。

1 个答案:

答案 0 :(得分:1)

如果在SVG中使用<foreignObject>,则需要一个转换器,它不仅可以呈现SVG,还可以呈现HTML。也许有人销售支持HTML的SVG转换器,但我不知道。

SVG标准提供<foreignObject>元素,以便用户可以在SVG中嵌入非SVG内容。 SVG标准不需要SVG渲染来支持可能放在foreignObject中的任何特定类型的内容。

浏览器在foreignObject中支持HTML的事实显然纯粹是因为它们是HTML查看器。

除了避免使用foreignObject之外,没有明确而明显的解决方法。

如果您不关心SVG内容在转换为PDF时保留为矢量,那么您可以使用像phantomjs这样的东西将SVG转换为位图。然后将该位图转换为PDF。但这不是一个非常好的解决方案。