2011-11-22 8 views
5

मेरा जावा एप्लिकेशन iText का उपयोग करके पीडीएफ बनाता है। कभी-कभी सामग्री एशियाई होती है, जो काम नहीं करती है। एशियाई पात्र दिखाई नहीं दे रहे हैं।एशियाई पात्रों का समर्थन करने के लिए iText को कॉन्फ़िगर कैसे करें?

मुझे iText डाउनलोड पेज पर iTextAsian.jar मिला, लेकिन यह नहीं पता कि इसका उपयोग कैसे करें।

लक्ष्य मेरे पसंदीदा फ़ॉन्ट को डिफ़ॉल्ट रूप से उपयोग करना है। लेकिन जब कोई चरित्र उपलब्ध नहीं होता है तो इस चरित्र के लिए एक अन्य फ़ॉन्ट का उपयोग किया जाता है। मैंने पढ़ा है, iText स्वचालित रूप से फ़ॉन्ट्स का चयन कर सकते हैं, लेकिन इसे कैसे कॉन्फ़िगर करें?

मैं भी सभी आवश्यक फोंट पीडीएफ में शामिल करना चाहता हूं, इसलिए उपयोगकर्ताओं को अपने कंप्यूटर पर एशियाई फोंट स्थापित करने की आवश्यकता नहीं है।

+0

वे "प्रतीकों" नहीं हैं, वे पात्र हैं। – NullUserException

+0

क्या आपके उपयोगकर्ताओं के पास उनके पीडीएफ व्यूअर के साथ एशियाई फ़ॉन्ट पैक स्थापित है या क्या आपके पास पीडीएफ व्यूअर के स्थापित आधार पर नियंत्रण है जैसे कि आप यह सुनिश्चित कर सकते हैं कि वे करते हैं? यदि नहीं, तो पीडीएफ एम्बेडेड फोंट का उपयोग करने से परिणामस्वरूप पीडीएफ बहुत बड़ा हो जाएगा - iText केवल दस्तावेज़ द्वारा आवश्यक ग्लिफ एम्बेड करता है? –

+0

उपयोगकर्ताओं पर कोई नियंत्रण नहीं। यह एक वेब एप्लिकेशन है जो पीडीएफ बनाता है। एशियाई पात्रों के बिना पीडीएफ के बहुत बड़े पीडीएफ बेहतर होते हैं। अगला चरण यह पता लगाने के लिए होगा कि क्या उपयोगकर्ता सामग्री में एशियाई वर्ण हैं और उस पर आधारित अतिरिक्त फ़ॉन्ट्स शामिल हैं। – Witek

उत्तर

2
  • आप "फ़ॉन्ट चयनकर्ता" को परिभाषित कर सकते हैं और फिर अपने फ़ॉन्ट्स (fontSelector.AddFont) को परिभाषित कर सकते हैं। अब iText fontSelector.Process विधि का उपयोग कर अगले परिभाषित फ़ॉन्ट से उपलब्ध char का चयन नहीं करेगा।
  • एशियाई वर्ण आमतौर पर यूनिकोड होते हैं इसलिए आपको Ansi के बजाय "BaseFont.IDENTITY_H" सेट करना होगा (जैसे FontFactory.GetFont ("tahoma", BaseFont.IDENTITY_H))।
  • यदि यह आरटीएल है, तो आपको अपने टेक्स्ट को उन तत्वों में लपेटने की आवश्यकता है जिनके पास दिशा दिशा चलती है और इसे आरटीएल पर सेट करें।
+0

मुझे कौन से फ़ॉन्ट्स को addFont() के माध्यम से जोड़ना है? – Witek

+0

BaseFont.IDENTITY_H अंतिम पीडीएफ में चयनित .ttf फोंट एम्बेड करता है। तो उन फ़ॉन्ट्स को देखें जिनके पास उस भाषा के पूर्ण अक्षर हैं। – VahidN

+0

चूंकि वेबसाइटों पर उपयोगकर्ता हर जगह से आ सकते हैं, इसलिए मुझे चयनकर्ता को सभी पात्रों के लिए फोंट जोड़ना होगा, है ना? कैसे पता लगाएं, कौन सा (10?) मुफ्त फोंट एक साथ सभी पात्रों का 99% कवर करता है? – Witek

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