2012-02-04 15 views
9

के लिए कस्टम फ़ॉन्ट सेट करें, मैं पैराग्राफ पर कस्टम फ़ॉन्ट सेट करने का प्रयास कर रहा हूं, लेकिन मैं इसे काम नहीं कर सकता। मैंने सेटिंग करने की कोशिश की। फ़ॉन्ट =, लेकिन यह केवल आकार के अनुसार काम करता है, लेकिन यह फ़ॉन्ट को अनदेखा करता है। क्या आप सहायता कर सकते हैं?ItextSharp (Itext) - अनुच्छेद

Paragraph T = new Paragraph(newTempLine); 
iTextSharp.text.Font contentFont = iTextSharp.text.FontFactory.GetFont("Webdings", 12, iTextSharp.text.Font.NORMAL); 
T.Font = contentFont; 
myDocument.Add(T); 

उत्तर

12

the constructor में यह सेट करें:

Font contentFont = FontFactory.GetFont(…); 
Paragraph para = new Paragraph(newTempLine, contentFont); 
+1

आप यह क्यों काम करता है और 'T.Font = ...' नहीं है पर किसी भी जानकारी के लिए होता है? – Nenotlep

+2

@Nenotlep मैं वास्तव में iText आंतरिक पर एक अधिकार नहीं हूं और मुझे स्रोत या कुछ पर पोक करना होगा, लेकिन मुझे लगता है कि फ़ॉन्ट प्रॉपर्टी को सेट करना केवल बाद में पैराग्राफ में आपके द्वारा जोड़े गए पाठ के फ़ॉन्ट को बदल देता है। (यह इस तथ्य पर आधारित है कि 'पैराग्राफ' में 'ऐड (एलिमेंट)' विधि है, इसलिए यह एक समग्र तत्व है।) – millimoose

+1

@Nenotlep याद रखें कि पीडीएफ ** ** एक घोषणात्मक मार्कअप नहीं है, यह एक है पोस्टस्क्रिप्ट का व्युत्पन्न, एक अनिवार्य ड्राइंग भाषा जिसे उन्हें पूरी तरह स्मृति में रखने के बिना बहुत बड़े दस्तावेज़ों को प्रस्तुत करने के लिए अनुकूलित किया गया है। स्ट्रीमिंग आउटपुट की अनुमति देने के लिए, iText स्मृति में दस्तावेज़ प्रस्तुति भी नहीं बनाता है - मेरा मानना ​​है कि जब आप किसी दस्तावेज़ में कोई तत्व जोड़ते हैं, तो इसे आमतौर पर तुरंत लिखा जाता है। तो ऐसा लगता है कि आप एक दस्तावेज़ संरचना के तार्किक प्रतिनिधित्व में हेरफेर कर रहे हैं, लेकिन स्ट्रीमिंग इस अमूर्तता के माध्यम से रिसाव कर सकते हैं। – millimoose