我正在使用TCPDF php库将我的svg转换为pdf。我的svg使用带有body,div和span的foreignObject来显示文本中的一些注释。 当我在浏览器中打开SVG时,它看起来很好,但是当我使用TCPDF将其转换为PDF时,我的空白区域会出现我的文本以及灰色背景。
答案 0 :(得分:1)
如果在SVG中使用<foreignObject>
,则需要一个转换器,它不仅可以呈现SVG,还可以呈现HTML。也许有人销售支持HTML的SVG转换器,但我不知道。
SVG标准提供<foreignObject>
元素,以便用户可以在SVG中嵌入非SVG内容。 SVG标准不需要SVG渲染来支持可能放在foreignObject中的任何特定类型的内容。
浏览器在foreignObject中支持HTML的事实显然纯粹是因为它们是HTML查看器。
除了避免使用foreignObject之外,没有明确而明显的解决方法。
如果您不关心SVG内容在转换为PDF时保留为矢量,那么您可以使用像phantomjs这样的东西将SVG转换为位图。然后将该位图转换为PDF。但这不是一个非常好的解决方案。