在不更改字体的情况下将SVG转换为PNG

时间:2018-08-28 17:28:44

标签: javascript node.js svg imagemagick graphicsmagick

我正在尝试制作一个简单的应用程序,该应用程序可以从用户那里获取文本并编辑svg文件(由illustrator生成)中的文本,并将最终结果发送回用户。

我可以在javascript中更改SVG文件文本,但在将其转换为png时遇到问题。当我这样做时,它将更改为其他类似字体的机械手。

这是我的svg

val df = Seq((Option.empty[Int],Option.empty[Int])).toDF("a","b")

这是我用来转换的代码,

critframe <- data.frame(k = 1:12, asw = scale(clustering.asw$crit))  

SVG看起来像这样,

enter image description here

但是当我转换它时,它看起来像这样, enter image description here

那么我该如何解决? :(

2 个答案:

答案 0 :(得分:0)

那些天我也有类似的事情,其中​​svg包含阿拉伯字体,不仅是从右到左书写的,而且还有很多连字。我开始使用imagemagick。为了使用正确的字体,需要将字体安装在系统上进行转换的系统上(在本例中是Web服务器,而我们无法安装该字体)。但是在本地环境中,我注意到imagemagick不能很好地处理文本方向和连字,因此我们需要找到另一个解决方案。最终的赢家是apache batik project,它是用Java实现的。在这种情况下,我们很幸运,因为shell_exec('java -jar …')方面可能有php。如果进入Projects的examples / tests目录,则可以找到使用外部字体的图形,这些图形通过@fontface {}指令包括在内。使用蜡染布时,做的很棒,只需记住所有路径都需要相对于svg本身

答案 1 :(得分:0)

所以这也是我的问题。根据我的研究,我提出了可以解决该问题陈述的有效POC。请阅读自述文件以了解项目本身。

Github:https://github.com/nirus/SVG-PNG-Convert

我已经整理了我遇到的所有问题以及解决该问题的解决方案。试试吧!