将文本转换为服务器上的路径(svg)?

Wal*_*ker 7 php svg imagemagick inkscape

如何从TTF字体创建文本并将其转换为静态SVG路径?所以任何人都可以在插画中打开它并看到这个词(作为.SVG).

我们的服务器是Debain,我们主要使用PHP进行后端编码.

很高兴使用Imagemagick或Inkscape - 无论如何完成它!

Hav*_*vok 10

试试这个:

  1. 在Inkscape中创建一个svg模板文件(参见下面的示例).
  2. 使用文本编辑器打开该文件,并为要更改的变量放置一些占位符标记:字体和文本.
  3. 创建一个网页,以便用户可以选择字体并编写文本.
  4. 在服务器中检索该数据.
  5. 读取模板文件,并使用用户数据更改占位符标记.
  6. 通过命令行调用Inkscape.
inkscape template.svg --export-text-to-path --export-id=maintext --export-pdf=new_file.pdf
Run Code Online (Sandbox Code Playgroud)

现在,我知道,我知道,你说你想要一个svg输出......我尝试了这个选项:

--export-plain-svg=new_file.svg
Run Code Online (Sandbox Code Playgroud)

但根据Inkscape手册页:

-T, --export-text-to-path
    Convert text objects to paths on export, where applicable (for PS, EPS, and PDF export).
Run Code Online (Sandbox Code Playgroud)

Soooo ...无法获得普通的svg导出和导出文本到路径:S ... BTW这应该填充为一个bug.

您可以提供PDF,或再次致电:

inkscape -l new_file.svg new_file.pdf
Run Code Online (Sandbox Code Playgroud)

哪个......我知道,这是非常愚蠢的.不,真的,在Inkscape上提出错误: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>
Run Code Online (Sandbox Code Playgroud)

亲切的问候.

  • 偶然发现了 2011 年的这篇文章。检查 inkscape 文档 (https://inkscape.org/doc/inkscape-man.html) **export-text-to-path to SVG** 现已实现 (2认同)