2015-07-29 9 views
5

पर आधारित iText बेसफॉन्ट कैसे बनाएं मेरे पास एक वेब अनुप्रयोग में एक फ़ॉन्ट फ़ाइल "arial.ttf" है और मैं केवल InputStream के रूप में अपनी सामग्री प्राप्त कर सकता हूं।इनपुटस्ट्रीम

InputStream inputFont = getResourceAsStream("/resources/arial.ttf"); 

मैं कैसे बना सकते हैं एक iText BaseFontInputStream के आधार पर? createFont विधि इसे स्वीकार नहीं करती है।

BaseFont bf = BaseFont.createFont(inputFont, BaseFont.IDENTITY_H, BaseFont.EMBEDDED); 

createFont (InputStream, स्ट्रिंग, बूलियन) BaseFont में createFont (java.lang.String, java.lang.String, बुलियन) आह्वान नहीं कर सकते।

+0

बेसफॉन्ट क्या है? यह सामान्य जेडीके में नहीं है। –

+0

@ aryn.galadar यह इसके आगे है। 99maas: क्या आप उस जानकारी को शामिल नहीं कर सकते? – wero

+0

और 'बेसफॉन्ट' में' createFont' विधि नहीं है जो इनपुटस्ट्रीम स्वीकार करती है। – wero

उत्तर

3

निम्नलिखित की तरह कुछ का प्रयास करें:

byte[] bytes = IOUtils.toByteArray(Thread.currentThread().getContextClassLoader() 
     .getResourceAsStream("/resources/arial.ttf")); 
BaseFont.createFont("arial.ttf", BaseFont.IDENTITY_Harial.ttf, BaseFont.EMBEDDED, true, bytes, null); 

आप विधि यह ttf प्रारूप के रूप में यह व्याख्या करना चाहिए बताने के लिए फ़ॉन्ट नाम में .ttf निर्दिष्ट करना होगा।

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