2011-12-07 18 views
5

TTFフォントからテキストを作成し、それを静的SVGパスに変換するにはどうすればよいですか?誰もがイラストレーターでそれを開き、単語を(.SVGとして)見ることができるように。サーバー上のテキストをパス(svg)に変換しますか?

私たちのサーバーはDebainで、主にPHPをバックエンドコーディングに使用しています。

ImagemagickまたはInkscapeを使用して幸せになれます。

+0

を参照してくださいにhttp:// stackoverflowの。com/questions/8296964/is-there-a-php-library-for-drawing-as-a-vector-outline –

答えて

7

これを試してみてください:

  1. InkscapeのSVGでテンプレートファイルを作成します(以下の例を参照)。
  2. ファイルをテキストエディタで開き、変更する変数のプレースホルダトークンを置きます。フォントとテキスト。
  3. ユーザーがフォントを選択してテキストを書き込めるようにWebページを作成します。
  4. サーバー内のそのデータを取得します。
  5. テンプレートファイルを読み、ユーザーデータでプレースホルダトークンを変更します。
  6. コマンドラインでInkscapeを呼び出します。今
inkscape template.svg --export-text-to-path --export-id=maintext --export-pdf=new_file.pdf 

、私が知っている、私が知っている、あなたはSVG出力をしたいと述べた...私はオプションを試してみました:

--export-plain-svg=new_file.svg 

しかし、Inkscapeのmanページによると:

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

Soooo ...普通のsvgをエクスポートし、テキストをパスにエクスポートすることはできません:S ... BTWこれはバグとして埋めるべきです。

あなたがPDFに仕え、または再び呼び出すことができます...私は知っている、非常に愚かである

inkscape -l new_file.svg new_file.pdf 

を。いや、本当に、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> 

敬具。

+0

これは私を完璧に助けてくれてありがとう! – Justin

1

また、inkscape guiモードでファイルを開き、commandsを発行するように指示することもできます。次のコマンドライン入力は、svgを開き、すべてのノードを選択してパスに変換します。これにより、変換されたsvgをsvgに保存することができます。

inkscape -f your.svg --with-gui --verb EditSelectAll --verb ObjectToPath --verb FileSave --verb FileQuit 

これはあなたのファイルを上書きします、注意してください!

0

さらに簡単に言えば、EasySVGを使用すると、このライブラリはテキストをSVG定義に変換します。次に、この定義をパスなどに入れておくことができます。

定義は、フォントのSVGファイルに基づいていますが、簡単にSVGにTTFファイルを変換することができます...

関連する問題