【发布时间】:2023-03-14 09:35:01
【问题描述】:
我正在我的 php 服务器 (https://tcpdf.org/examples/example_058/) 上尝试 TCPDF 和示例 058。 该示例本身效果很好。我下载了其他 SVG 文件以尝试一切是否正确,但其中一些无法正确渲染,或者完全损坏。
在示例 058 代码中,我更改了两件事: 1)svg文件路径 2)高度和宽度分别为100和100
这是我得到的损坏的 SVG 渲染之一,带有在 wikipedia 上找到的 Firefox 徽标: On the left, the SVG rendered in Chrome, on the right, the pdf with Firefox logo inside
我正在使用 PHP 7.1.x 和 TCPDF 6.2.25。是 TCPDF 中的错误还是 SVG 文件中的错误?
【问题讨论】:
-
为什么不在这里分享你的代码而不是描述你做了什么?
-
这是一个常见的抱怨。您的问题很可能是由于 TCPDF 中 SVG 解析器/转换器的缺陷。我认为你能做的最好的事情就是用 TCPDF 提交一个错误。
-
感谢您的回复。我没有分享代码,因为这与示例 058 的代码完全相同(参见第一个链接)。我更改了第 80 行: $pdf->ImageSVG($file='images/Mozilla_Firefox_logo_2013.svg', $x=30, $y=100, $w=100, $h=100, $link='', $align ='', $palign='', $border=0, $fitonpage=false);我会直接用 TCPDF 看。
-
不久前我回答了一个类似的问题。 stackoverflow.com/a/51109754/395384 - 几乎可以肯定这是 TCPDF 的限制。你最好的选择是光栅化它。事先或
setRasterizeVectorImages -
谢谢@EPB,我想我别无选择,只能进行光栅化