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