Convertire il text in path (svg) sul server?

Come posso creare del text da un font TTF e convertirlo in un path SVG statico? In modo che chiunque possa aprirlo in Illustrator e vedere la parola (come .SVG).

Il nostro server è Debain e utilizziamo principalmente PHP per la codifica backend.

Felice di usare Imagemagick o Inkscape – qualunque cosa si realizzi!

Prova questo:

  1. Creare un file di model svg in Inkscape (vedere un esempio sotto).
  2. Apri quel file con un editor di text e posiziona alcuni token segnaposto per le variables che desideri modificare: il font e il text.
  3. Creare una pagina Web in modo che l'utente possa select il carattere e scrivere il text.
  4. Recupera i dati nel server.
  5. Leggi il file del model e modifica i token segnaposto con i dati dell'utente.
  6. Chiama Inkscape attraverso la row di command.
inkscape template.svg --export-text-to-path --export-id=maintext --export-pdf=new_file.pdf 

Ora, lo so, lo so, hai detto che vuoi un output SVG … Ho provato l'opzione:

 --export-plain-svg=new_file.svg 

Ma secondo la pagina man di Inkscape:

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

Soooo … non è ansible get svg esportre ed esportre il text nel path: S … BTW questo dovrebbe essere riempito come un bug.

Puoi pubblicare il PDF o call di nuovo:

 inkscape -l new_file.svg new_file.pdf 

Quale … lo so, è abbastanza stupido. No, davvero, presenta un bug su Inkscape: P

Questo è il model Inkscape di esempio:

 <?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> 

Cordiali saluti.

Inkscape è anche ansible aprire il file in modalità GUI e quindi emettere comandi . Il seguente command da row di command apre un file svg, seleziona tutti i nodes e li converte in tracciati. Questo ti permetterà di salvare il tuo svg convertito in svg.

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

Attenzione, questo sovrascriverà il tuo file!

O ancora più semplice, usa EasySVG , questa libreria converte un text in una definizione SVG. È quindi ansible inserire questa definizione in un path o qualsiasi altra cosa.

La definizione è basata sul file SVG di un font, ma puoi facilmente convertire i file TTF in SVG …