2011-12-07 16 views
5

Bir TTF yazı tipinden metin oluşturabilir ve bunu statik bir SVG yoluna nasıl dönüştürebilirim? Böylece herkes illüstratörde açabilir ve sözcüğü görebilir (.SVG olarak).Metni sunucudaki yola (svg) dönüştürmek?

Sunucumuz Debain'dir ve biz öncelikle backend kodlaması için PHP kullanıyoruz.

Imagemagick veya Inkscape'i kullanmaktan mutluluk duyuyoruz.

+0

bakınız http: // stackoverflow.com/questions/8296964/is-there-a-php-kütüphane-için-çizim-metin-as-a-vektör-anahat –

cevap

7

bu deneyin:

  1. Inkscape bir svg şablon dosyası oluşturun (aşağıdaki örneği inceleyin).
  2. Bu dosyayı bir metin düzenleyicisiyle açın ve değiştirmek istediğiniz değişkenler için bazı yer tutucu kodları yerleştirin: Yazı tipi ve metin.
  3. Kullanıcı, yazı tipini seçip metni yazabilmesi için bir web sayfası oluşturun.
  4. Verileri sunucuda al.
  5. Şablon dosyasını okuyun ve yer tutucularını kullanıcı verileriyle değiştirin.
  6. Inkscape'i komut satırı üzerinden arayın.
inkscape template.svg --export-text-to-path --export-id=maintext --export-pdf=new_file.pdf 

Şimdi, biliyorum, sen bir svg çıkışı istediklerini söyledi ... Ben seçeneği denedim biliyorum:

:

--export-plain-svg=new_file.svg 

Ama Inkscape adam sayfasına göre

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

Soooo ... yoluna düz svg ihracat ve ihracat metni alınamıyor: S ... BTW bu bir hata olarak doldurulmalıdır.

Sen PDF hizmet veya tekrar arayabilirsiniz: ... Biliyorum, oldukça aptal

inkscape -l new_file.svg new_file.pdf 

. Hayır, gerçekten Inkscape üzerinde bir hata dosyası: P

Bu örnek Inkscape şablon:

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

Saygılarımızla.

+0

teşekkürler bu bana mükemmel yardımcı oldu! – Justin

1

Ayrıca gui modunda dosyanızı açmak için inkscape ve ardından commands numarasını bildirebilirsiniz. Aşağıdaki komut satırı girişi bir svg açar, tüm düğümleri seçer ve bunları yollara dönüştürür. Bu dönüştürülmüş svg geri svg kaydetmek için izin verecektir.

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

Dikkat , bu irade geçersiz kılma dosya!

0

Veya daha da basit, EasySVG kullanmak bu kütüphane bir SVG tanımına bir metni dönüştürür. Daha sonra bu tanımı bir yoldan veya herhangi bir yoldan yapabilirsiniz.

tanım yazı tipinin SVG dosyası dayanmaktadır ancak kolayca SVG TTF dosyalarını dönüştürebilirsiniz ...