svg - पीएनजी पाठ के लिए एसवीजी ठीक से प्रदर्शित नहीं है-एरियल फ़ॉन्ट



png transcoding (1)

आपको माइक्रोसॉफ्ट ट्रू टाइप फॉन्ट्स को स्थापित करने और जावा वर्चुअल मशीन के लिए JAVA_FONTS वेरिएबल सेट करके उपलब्ध JAVA_FONTS

wget http://www.my-guides.net/en/images/stories/fedora12/msttcore-fonts-2.0-3.noarch.rpm

rpm -ivh msttcore-fonts-2.0-3.noarch.rpm

/etc/bashrc खोलें और फ़ाइल के अंत में निम्नलिखित को जोड़ें

JAVA_FONTS=/usr/share/fonts/msttcore

export JAVA_FONTS

http://www.itzgeek.com/how-tos/linux/centos-how-tos/how-to-install-microsoft-truetype-fonts-in-centos-6-rhel-6.html#axzz2aibHZaOI

मेरे पास अपाचे बाटिक का इस्तेमाल करते हुए परिवर्तित पीएनजी का मुद्दा अलग है, जब अलग-अलग फॉन्ट-परिवार जैसे एआरएल के साथ एक पाठ होता है। यह समस्या पर्यावरण में होती है जहां सेंट ओएस 6 चल रहे टॉमकेट 7 और जावा 6

एसवीजी को पीएनजी में परिवर्तित करने के लिए जावा कोड है:

// Convert the SVG image to png and send back
PNGTranscoder transcoder = new PNGTranscoder();
// 
TranscoderInput input = new TranscoderInput(new ByteArrayInputStream(svgImage));
outStream = new ByteArrayOutputStream();
TranscoderOutput output = new TranscoderOutput(outStream);

// Transcode the given SVG
transcoder.transcode(input, output);

outStream.flush();

pngImage = outStream.toByteArray();

SVG फाइल मैं पीएनजी में कनवर्ट करने जा रहा हूं:

<svg version="1.1" x="0" y="0" id="hjtqebzv1" width="610" height="240" xmlns="http://www.w3.org/2000/svg" xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:xlink="http://www.w3.org/1999/xlink">
  <defs>
    <linearGradient id="LFFFFFF0" x1="0%" y1="0%" x2="100%" y2="0%">
      <stop offset="0%" style="stop-color:#FFFFFF;stop-opacity:0.8"/>
      <stop offset="100%" style="stop-color:#FAFAFA;stop-opacity:1"/>
    </linearGradient>
  </defs>
  <g id="hjtqebzv-o1" transform="translate(5,5)">
      <rect x="1" y="1" width="578" height="20" fill="url(#LFFFFFF0)" stroke="#5e5ca7" stroke-width="2" stroke-linejoin="round" stroke-linecap="round"/>
      <text x="1" y="1" width="578" height="19" >
        <tspan x="2" y="14" style="font-family:Arial;font-size:12px;fill:#000000;">This is a test text for testing text overlapping in the rectangle when convert the svg to PNG using SVG-Batik</tspan>
      </text>
  </g>
</svg>

जब मैं फ़ायरफ़ॉक्स ब्राउज़र में एसवीजी फ़ाइल खोलता हूं तो इसे नीचे की छवि में ठीक से प्रदर्शित किया जाता है:

लेकिन जब मैं एसवीजी को अपाचे बाटिक का इस्तेमाल करता हूं, तो परिवर्तित छवि अलग दिखती है। अपाचे बाटिक पीएनजी परिवर्तित है:

विंडोज 7 रन टॉमकेट 7 और जावा 7 में, उत्पन्न छवि मूल एसवीजी के समान है।

सेंस ओएस सर्वर के रूप में यह पाठ खराब छवि देता है मुझे लगता है कि एरियल फ़ॉन्ट टोमकैट / जावा एप्लिकेशन के लिए उपलब्ध नहीं है और उसे मैन्युअल रूप से लोड करने की आवश्यकता है। यदि ऐसा है तो मैं एसवीजी फ़ाइल में किसी भी बदलाव के बिना अंतर्निहित ओएस स्थान (ओएस फ़ॉन्ट स्थान) से एक आम तरीके से उन्हें लोड करने के लिए एक सलाह देना पसंद करता हूं





batik