Php 使用自定义字体将SVG转换为PDF/JPG/PNG

Php 使用自定义字体将SVG转换为PDF/JPG/PNG,php,pdf,svg,tcpdf,imagick,Php,Pdf,Svg,Tcpdf,Imagick,我有一个输出SVG文件、文本和图像的应用程序。SVG文件中的文本元素具有自定义字体 我需要PDF文件来显示这些与SVG完全相同的文本元素。我试着用TCPDF做这个。SVG到PDF的转换成功,但当我尝试将PDF转换为JPG或PNG时,文本不会显示。我正在用Imagick将PDF转换为JPG 有人知道如何在JPG图像中包含文本吗?尝试使用Inkscape。这是一个开源的SVG编辑器。 您可以保存为PDF,导出为PNG,并且学习曲线足够温和 但它不直接支持jpeg。您确实可以从PHP调用Inkscap

我有一个输出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服务器上,因此您必须使用具有根访问权限的服务器(如VPS),然后自己安装


您应该记住,Inkscape中存在一个允许用户创建的文件窃取服务器文件并导致服务器内存不足(即崩溃)的漏洞。该修复程序现已公开,但我不确定是否已发布。因此,如果您正在渲染用户上传的SVG文件,请小心地取消着色。

您可以从alt-soft尝试。

谢谢您的回答。您还可以从PHP文件中使用Inkscape吗?大多数服务器上都安装了Inkscape吗?