2011-12-07 13 views
5

मैं एक टीटीएफ फ़ॉन्ट से टेक्स्ट कैसे बना सकता हूं और इसे एक स्थिर एसवीजी पथ में परिवर्तित कर सकता हूं? ताकि कोई भी इसे चित्रकार में खोल सके और शब्द (एक एसवीजी के रूप में) देख सके।सर्वर पर पाठ को पथ (svg) में कनवर्ट करना?

हमारा सर्वर डेबैन है, और हम मुख्य रूप से बैकएंड कोडिंग के लिए PHP का उपयोग करते हैं।

Imagemagick या Inkscape का उपयोग करने में खुशी - जो कुछ भी हो जाता है!

+0

http: // stackoverflow।कॉम/प्रश्न/8296964/is-there-a-php-library-for-drawing-text-as-a-vector-outline –

उत्तर

7

इस प्रयास करें:

  1. इंकस्केप में एक svg टेम्पलेट फ़ाइल बनाएं (नीचे एक उदाहरण देखें)।
  2. उस फ़ाइल को टेक्स्ट एडिटर के साथ खोलें, और उन चर के लिए कुछ प्लेसहोल्डर टोकन रखें जिन्हें आप बदलना चाहते हैं: फ़ॉन्ट, और टेक्स्ट।
  3. एक वेब पेज बनाएं ताकि उपयोगकर्ता फ़ॉन्ट का चयन कर टेक्स्ट लिख सके।
  4. सर्वर में उस डेटा को पुनर्प्राप्त करें।
  5. टेम्पलेट फ़ाइल पढ़ें, और उपयोगकर्ता डेटा के साथ प्लेसहोल्डर टोकन बदलें।
  6. कमांड लाइन के माध्यम से कॉल इंकस्केप।
inkscape template.svg --export-text-to-path --export-id=maintext --export-pdf=new_file.pdf 

अब, मुझे पता है, मुझे पता है, आप ने कहा आप एक svg उत्पादन चाहते हैं ... मैं विकल्प की कोशिश की:

:

--export-plain-svg=new_file.svg 

लेकिन इंकस्केप आदमी पृष्ठ के अनुसार

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

Soooo ... सादा svg निर्यात और पथ को पाठ निर्यात नहीं कर सकता: एस ... बीटीडब्ल्यू इसे एक बग के रूप में भरना चाहिए।

आप पीडीएफ की सेवा, या फिर से फोन कर सकते हैं:

inkscape -l new_file.svg new_file.pdf 

कौन सा ... मुझे पता है, काफी बेवकूफ है। नहीं, वास्तव में, इंकस्केप पर बग के बारे में: पी

यह उदाहरण इंकस्केप टेम्पलेट है:

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

आप gui मोड में अपनी फ़ाइल खोलने के लिए inkscape भी बता सकते हैं और फिर commands जारी कर सकते हैं। निम्न कमांड लाइन इनपुट एक svg खोलता है, सभी नोड्स का चयन करता है, और उन्हें पथ में परिवर्तित करता है। यह आपको अपने रूपांतरित svg को वापस svg में सहेजने की अनुमति देगा।

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

खबरदार, इस होगा ओवरराइड अपनी फ़ाइल!

0

या इससे भी आसान, EasySVG का उपयोग करें, यह लाइब्रेरी एक टेक्स्ट को एसवीजी परिभाषा में परिवर्तित करती है। फिर आप इस परिभाषा को पथ, या जो कुछ भी डाल सकते हैं।

परिभाषा एक फ़ॉन्ट के एसवीजी फ़ाइल पर आधारित है लेकिन आप आसानी से एसवीजी को टीटीएफ फ़ाइलें कनवर्ट कर सकते हैं ...

संबंधित मुद्दे