Saya mencoba membuat laporan dengan DynamicJasper, tetapi saya mendapatkan kesalahan berikut:
net.sf.jasperreports.engine.util.JRFontNotFoundException:
Font 'Arial' is not available to the JVM.
msttcorefonts diinstal, tapi saya rasa JVM tidak menggunakan font apa pun darinya.
Saya menggunakan Ubuntu 10.04.
Bagaimana cara memperbaikinya?
Jawaban:
Saya mencoba memasang mscorefonts, tetapi paketnya sudah terpasang dan mutakhir.
sudo apt-get update sudo apt-get install ttf-mscorefonts-installer
Saya mencoba mencari font di filesystem, dengan:
ls /usr/share/fonts/truetype/msttcorefonts/
Folder ini baru saja memiliki README, dengan petunjuk yang benar tentang cara memasang.
Anda memerlukan koneksi internet untuk ini:
sudo apt-get install --reinstall ttf-mscorefonts-installer
Saya menginstal ulang
ttf-mscorefonts-installer
(seperti yang ditunjukkan di atas, memastikan untuk menerima EULA!) Dan masalah terpecahkan.sumber
Laporan Jasper mencoba membantu Anda dalam pengembangan laporan Anda, menyatakan bahwa itu tidak dapat mengekspor laporan Anda dengan benar karena tidak dapat menemukan font yang ditentukan dalam
TextField
atauStaticText
<font fontName="Arial"/>
Ya, Anda dapat menonaktifkan ini dengan menyetel net.sf.jasperreports.awt.ignore.missing.font ke true tetapi Anda akan mengalami inkonsistensi ekspor .
Ya, Anda dapat menginstal font sebagai font sistem JVM (tetapi Anda perlu melakukannya di setiap PC yang digunakan yang dapat menghasilkan laporan dan Anda masih dapat mengalami masalah encoding ).
Cara yang benar!
Gunakan Ekstensi Font ! , jika Anda ingin membuatnya sendiri (lihat tautan di bawah), laporan jasper juga mendistribusikan jar ekstensi font default (
jasperreports-fonts-x.x.x.jar
), yang mendukung fontNameDejaVu Sans
,DejaVu Serif
danDejaVu Sans Mono
<font fontName="DejaVu Sans"/>
Dari Panduan Ultimate JasperReport:
Tautan di StackOverflow tentang cara merender font dengan benar dalam pdf
Daftar periksa tentang cara merender font dengan benar dalam pdf
Hasilkan ekstensi font dengan JasperSoft Studio
Hasilkan ekstensi font dengan iReport
sumber
Saya menggunakan IReport untuk menginstal font:
Kemudian pilih font dan klik
tambahkan toples ini dan juga spring.jar * ke jalur build Anda.
* salin spring.jar dari Jaspersoft \ iReport-3.7.0 \ ireport \ modules \ ext
sumber
sudo apt-get install msttcorefonts
berfungsi (di lingkungan pengembangan Ubuntu kami), tetapi bukan solusi yang sangat baik.Sebagai gantinya, kami menggabungkan font dengan aplikasi kami berdasarkan tip ini . File JAR mereka menggabungkan font-font berikut,
Tautan Langsung ke jar unduhan: Maven ver 1.0. DynamicFonts
sumber
Untuk CentOS:
wget msttcorefonts
Kemudian:
tar -zxvf msttcorefonts.tar.gz cp msttcorefonts/*.ttf /usr/share/fonts/TTF/ fc-cache -fv
Setelah semua, restart JVM.
sumber
Ada tiga metode untuk menghindari masalah tersebut.
Metode 1: dengan menyetel abaikan properti font yang hilang.
JRProperties.setProperty("net.sf.jasperreports.awt.ignore.missing.font", "true");
atau Anda dapat menyetel properti ini dengan memasukkan baris berikut ke dalam file .jrxml.
<property name="net.sf.jasperreports.awt.ignore.missing.font" value="true"/>
Metode 2: dengan mengatur properti font default.
JRProperties.setProperty("net.sf.jasperreports.default.font.name", "Sans Serif");
atau Anda dapat menyetel properti ini dengan memasukkan baris berikut ke dalam file .jrxml.
<property name="net.sf.jasperreports.default.font.name" value="Sans Serif"/>
Metode 3: dengan menambahkan properti font yang hilang.
Pertama instal font yang hilang di IReport dengan memilih "Tools >> Options >> Fonts >> Install Font" kemudian pilih semua font dan Ekspor ini Dengan mengklik "Ekspor sebagai Ekstensi" dengan Ekstensi .jar.
Anda dapat menggunakan jar ini untuk Jasperreports-font.XXXjar yang akan ada di perpustakaan proyek atau jalur kelas Anda.
sumber
Saya memecahkan ini dengan memilih 'SansSerif' atau 'Serif' saja dan bukan 'Arial' atau 'Times New Roman'.
sumber
Jika Anda menggunakan maven dalam proyek Anda, Anda cukup menambahkan dependensi jasper-font ke pom.xml:
<dependency> <groupId>net.sf.jasperreports</groupId> <artifactId>jasperreports-fonts</artifactId> <version>6.8.1</version> </dependency>
Menginstal font yang hilang di sistem mungkin merupakan solusi yang berfungsi tetapi tidak untuk saya, saya tidak ingin menginstal font yang hilang setelah setiap penerapan di server baru, sebagai gantinya saya memilih untuk menyematkan font dengan aplikasi.
Salam.
sumber
dapat membuat font khusus Anda melalui iReport dan mengonversi seperti file jars
sumber
Coba tambahkan garis
net.sf.jasperreports.awt.ignore.missing.font = true
ke file jasperreports.properties Anda.
Jasper berhenti menemukan satu font
sumber
Anda dapat melakukannya dengan menginstal font, artinya di mana pun Anda ingin menjalankan aplikasi tersebut. Cara termudah adalah dengan menambahkan baris bl ini ke file jrxml Anda:
<property name="net.sf.jasperreports.awt.ignore.missing.font" value="true"/>
Semoga membantu.
sumber
Untuk Debian
Menambahkan
non-free contrib
ke deb dan deb-src di /etc/apt/sources.list yaitu:
deb http://ftp.debian.org/debian/ squeeze main non-free contrib deb-src http://ftp.debian.org/debian/ squeeze main non-free contrib
Kemudian
apt-get update apt-get install msttcorefonts
Tentu saja Anda harus me-restart jasperserver. yaitu:
Ubah untuk versi / jalur Anda.
sumber
Saya menghadapi masalah dengan aplikasi web saya berdasarkan Spring 3 dan menggunakan Weblogic 10.3 di Oracle Linux 6. Solusi yang disebutkan di tautan tidak berhasil untuk saya.
Saya harus mengambil langkah-langkah berikut - 1. Salin file font Arial * .ttf ke direktori JROCKIT_JAVA_HOME / jre / lib / font 2. Buat entri font di fontconfig.properties.src 3. Mulai ulang cluster dari konsol weblog
filename.Arial=Arial.ttf filename.Arial_Bold=Arial_Bold.ttf filename.Arial_Italic=Arial_Italic.ttf filename.Arial_Bold_Italic=Arial_Bold_Italic.ttf
sumber
Buat laporan jasper dalam berbagai bahasa (Unicode)
1) Instal font di desginer ireport
2) buat ekstensi font (kita akan menggunakannya dalam aplikasi classpath)
3) instal font di os (opsional)
4) rekatkan semua .ttf font di jre-> lib-> direktori font (jika tidak, aplikasi web akan membuang font kesalahan tidak tersedia untuk JVM)
sumber
Sebenarnya saya memperbaiki masalah ini dengan cara yang sangat sederhana
home path
, seperti/root
.fonts
all your font files
ke.fonts
, Anda dapat menyalin font dariC:\windows\fonts
jika Anda menggunakan windows.sudo apt-get install fontconfig
fc-cache –fv
untuk menyesuaikan kembali cache font.sumber
Solusi dalam 2 langkah (jika Anda menggunakan centOS)
Unduh paket rpm font inti Microsoft.
[root@WEBSVR~/]# wget http://www.itzgeek.com/msttcore-fonts-2.0-3.noarch.rpm
Instal paket rpm.
[root@WEBSVR~/]# rpm -Uvh msttcore-fonts-2.0-3.noarch.rpm
sumber
Salin Font Anda pada direktori berikut JDK_HOME \ jre \ lib \ font
sumber
Hei Mengalami kesulitan melihat dokumen yang diproduksi di Windows?
Anda dapat mencoba solusi yang bagus dengan mudah:
Setelah ini saya perlu me-reboot sistem saya CentOS6.
Sumber: http://mscorefonts2.sourceforge.net/
sumber