我有一个应用程序可以输出带有文本和图像的 SVG 文件。SVG 文件中的文本元素具有自定义字体。
我需要 PDF 文件来像在 SVG 上一样显示这些文本元素。我试图用 TCPDF 做到这一点。SVG 到 PDF 的转换成功,但是当我尝试将 PDF 转换为 JPG 或 PNG 时,没有显示文本。我正在使用 Imagick 将 PDF 转换为 JPG。
有谁知道如何在 JPG 图像中包含文本?
尝试使用 Inkscape。这是一个开源的 SVG 编辑器。您可以保存为 PDF,导出为 PNG,学习曲线足够适中。
它不直接支持jpeg。
您确实可以从 PHP 调用 Inkscape - 我已经完成了,请参见此处。使用这种方法,您可以将 SVG 渲染为您需要的所有格式:PDF、PNG 和 JPG。
如果您的服务器上安装了自定义字体,那么您可以使用这些字体进行渲染 - 请注意,这可能会使您成为发布者,因此您需要确保您拥有使用这些字体(或您的用户)进行渲染的许可证做,取决于它的内容)。
默认情况下,Inkscape 很少安装在 Web 服务器上,因此您必须使用具有 root 访问权限的服务器(例如 VPS)并自行安装。
您应该记住,Inkscape 中存在一个安全漏洞,它允许用户创建的文件窃取服务器文件并导致服务器内存不足(即崩溃)。该修复程序现已公开,但我不确定它是否已发布。因此,如果您正在渲染用户上传的 SVG 文件,请小心清除。
你可以试试alt-soft 的xml2pdf