2013-03-18 80 views
0

我有一个输出SVG文件的应用程序,它带有文本和图像。 SVG文件中的文本元素具有自定义字体。使用自定义字体将SVG转换为PDF/JPG/PNG

我需要PDF文件才能像在SVG上一样显示这些文本元素。我试图用TCPDF来做到这一点。 SVG to PDF转换成功,但是当我尝试将PDF转换为JPG或PNG时,文本不会显示。我使用Imagick将PDF转换为JPG。

有谁知道如何在JPG图像中包含文本?

回答

0

尝试使用Inkscape。这是一个开源的SVG编辑器。 您可以另存为PDF,导出为PNG,学习曲线足够适中。

虽然它不直接支持jpeg。

+0

感谢您的回答。你能否也使用PHP文件中的Inkscape? Inkscape是否安装在大多数服务器上? – 2013-03-18 22:48:39

0

确实可以从PHP调用Inkscape - 我已经完成了,请参阅here。使用该方法,您可以将SVG呈现为您需要的所有格式:PDF,PNG和JPG。

如果您的服务器上安装了自定义字体,那么您可以使用这些字体进行渲染 - 请注意这可能会使您成为发布商,因此您需要确保您拥有使用这些字体进行渲染的许可证(或者你的用户根据其内容而定)。

默认情况下,Inkscape很少安装在Web服务器上,因此您必须使用您拥有超级用户访问权的服务器(例如VPS)并自行安装。

您应该记住Inkscape中有一个security vulnerability,它允许用户发起的文件窃取服务器文件并导致服务器耗尽内存(即崩溃)。该修复程序现已公开,但我不确定它是否已发布。所以,如果你正在渲染用户上传的SVG文件,请仔细修改。