如何从TTF字体创建文本并将其转换为静态SVG路径?这样任何人都可以在illustrator中打开它并看到单词(以。svg的形式)。
我们的服务器是Debain,我们主要使用PHP进行后端编码。
很高兴使用Imagemagick或Inkscape -无论什么都可以完成!
试试这个:
- 在Inkscape中创建svg模板文件(见下面的示例)。
- 使用文本编辑器打开该文件,并为您想要更改的变量放置一些占位符标记:字体和文本。
- 创建一个网页,用户可以选择字体和书写文本。
- 在服务器中检索数据
- 读取模板文件,并用用户数据更改占位符令牌
- 通过命令行调用Inkscape
inkscape template.svg --export-text-to-path --export-id=maintext --export-pdf=new_file.pdf
现在,我知道,我知道,你说你想要一个svg输出…我尝试了以下选项:
--export-plain-svg=new_file.svg
但是根据Inkscape手册页:
-T, --export-text-to-path
Convert text objects to paths on export, where applicable (for PS, EPS, and PDF export).
如此如此……不能得到纯svg导出和导出文本到路径:S…顺便说一句,这个应该填为bug。
您可以提供PDF,或者再次调用:
inkscape -l new_file.svg new_file.pdf
…我知道,这很愚蠢。不,真的,在Inkscape上写一个bug:P
这是示例Inkscape模板:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
version="1.1"
width="440.29297"
height="39.824219"
id="svg2">
<defs
id="defs4" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<text
x="-3.4374955"
y="30.390625"
id="maintext"
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:[FONT_PLACEHOLDER]"><tspan
x="-3.4374955"
y="30.390625"
id="tspan3006"
style="fill:#000000">[TEXT_PLACEHOLDER]</tspan></text>
</svg>
亲切的问候。
您还可以告诉inkscape以gui模式打开文件,然后发出命令。下面的命令行输入打开svg,选择所有节点,并将它们转换为路径。这将允许您将转换后的svg保存回svg。
inkscape -f your.svg --with-gui --verb EditSelectAll --verb ObjectToPath --verb FileSave --verb FileQuit
小心,这将覆盖你的文件!
或者更简单,使用EasySVG,这个库将文本转换为SVG定义。然后你可以把这个定义放在一个路径中,或者其他什么。
该定义基于字体的SVG文件,但您可以轻松地将TTF文件转换为SVG…