JasperReports उस स्थिति में JRFontNotFoundException उठाता है , जहाँ रिपोर्ट टेम्पलेट के अंदर उपयोग किया जाने वाला फ़ॉन्ट JVM या तो सिस्टम फ़ॉन्ट या JR फ़ॉन्ट एक्सटेंशन से आने वाले फ़ॉन्ट के रूप में उपलब्ध नहीं होता है। यह सुनिश्चित करता है कि फॉन्ट मेट्रिक्स मिसमैच के कारण होने वाली सभी समस्याओं से बचा जा सके और हमारे पास असंगतता के बारे में प्रारंभिक चेतावनी है।
जैस्पर रिपोर्ट आपकी रिपोर्ट के विकास में आपकी मदद करने की कोशिश कर रही है , जिसमें कहा गया है कि यह आपकी रिपोर्ट को सही ढंग से निर्यात नहीं कर सकता है क्योंकि यह फ़ॉन्ट को TextField
या में परिभाषित नहीं कर सकता है।StaticText
<font fontName="Arial"/>
हाँ, आप इसे net.sf.jasperreports.awt.ignore.missing.font पर सेट करके सत्य में अक्षम कर सकते हैं, लेकिन आपके पास निर्यात असंगतताएँ होंगी ।
हाँ, आप फ़ॉन्ट को JVM सिस्टम फॉन्ट के रूप में स्थापित कर सकते हैं (लेकिन आपको इसका उपयोग प्रत्येक पीसी पर करने की आवश्यकता है जो रिपोर्ट उत्पन्न कर सकता है और आपको अभी भी एन्कोडिंग समस्या हो सकती है )।
सही तरीका!
फ़ॉन्ट एक्सटेंशन का उपयोग करें ! , यदि आप अपना स्वयं का बनाना चाहते हैं (नीचे लिंक देखें), तो जैस्पर रिपोर्ट्स एक डिफ़ॉल्ट फॉन्ट-एक्सटेंशन जार ( jasperreports-fonts-x.x.x.jar
) वितरित करती है , जो फॉन्टनाम का समर्थन करती है DejaVu Sans
, DejaVu Serif
औरDejaVu Sans Mono
<font fontName="DejaVu Sans"/>
JasperReport अंतिम गाइड से:
हम लोगों को फ़ॉन्ट एक्सटेंशन से प्राप्त केवल फोंट का उपयोग करने के लिए दृढ़ता से प्रोत्साहित करते हैं, क्योंकि यह सुनिश्चित करने का एकमात्र तरीका है कि फोंट आवेदन के लिए उपलब्ध होगा जब रिपोर्ट रनटाइम पर निष्पादित की जाती है। सिस्टम फोंट का उपयोग करने से हमेशा रिपोर्ट के ठीक से काम नहीं करने का जोखिम होता है जब एक नई मशीन पर तैनात किया जाता है जिसमें उन फोंट को स्थापित नहीं किया जा सकता है
फोंट को सही ढंग से पीडीएफ में कैसे प्रस्तुत किया जाए, इस पर स्टैकऑवरफ्लो के लिंक
कैसे सही ढंग से पीडीएफ में फ़ॉन्ट प्रस्तुत करने के लिए चेकलिस्ट
जैस्परस्फ़्ट स्टूडियो के साथ फ़ॉन्ट-एक्सटेंशन जेनरेट करें
IReport के साथ फ़ॉन्ट-एक्सटेंशन जेनरेट करें