iTextSharp PDF: Mengendalikan Aksara Eropah Tengah dan Timur
Panduan ini menangani masalah biasa paparan aksara Eropah Tengah dan Timur yang tidak betul (cth., "Č," "Ć") dalam PDF yang dijana menggunakan iTextSharp.
Isunya: Menjana PDF dengan aksara ini selalunya mengakibatkan ralat pemaparan.
Punca Punca: Beberapa faktor boleh menyebabkan ini:
Penyelesaian: Pendekatan Langkah demi Langkah
Pemilihan Halaman Kod Tepat: Gunakan halaman kod yang betul untuk set bahasa dan aksara tertentu (cth., "Cp1250" untuk Czech).
Urutan Melarikan Diri Unikod: Daripada menggunakan aksara khas literal, gunakan urutan melarikan diri Unikod untuk pengendalian pengekodan yang konsisten.
Fon Penyokong Glyph: Pilih fon (seperti Arial.ttf atau FreeSans.ttf) yang menyertakan glyph yang diperlukan.
Pembenaman Fon: Pastikan fon dibenamkan dalam PDF (tetapkan parameter "terbenam" kepada true
) untuk menjamin paparan yang betul walaupun fon tidak tersedia pada sistem penerima.
Definisi Pengekodan Fon: Takrifkan secara eksplisit pengekodan yang digunakan untuk tafsiran glif. Pilihan termasuk menentukan halaman kod atau menggunakan Unicode untuk penulisan mendatar (cth., "Cp1250," BaseFont.IDENTITY_H
).
Contoh Kod (Ilustratif):
<code class="language-csharp">using iTextSharp.text; using iTextSharp.text.pdf; public class CEECharacterExample { public void CreatePdf(string destination) { Document document = new Document(); PdfWriter.GetInstance(document, new FileOutputStream(destination)); document.Open(); // Font with glyph support and code page Font fontCp1250 = FontFactory.GetFont("resources/fonts/FreeSans.ttf", "Cp1250", true); // Font with Unicode encoding Font fontUnicode = FontFactory.GetFont("resources/fonts/FreeSans.ttf", BaseFont.IDENTITY_H, true); // Paragraphs using different encodings Paragraph paragraphCp1250 = new Paragraph("Testing characters: \u010c, \u0106, \u0160, \u017d, \u0110", fontCp1250); Paragraph paragraphUnicode = new Paragraph("Testing characters: \u010c, \u0106, \u0160, \u017d, \u0110", fontUnicode); // Add paragraphs to the document document.Add(paragraphCp1250); document.Add(paragraphUnicode); document.Close(); } }</code>
Dengan melaksanakan langkah ini, anda harus menyelesaikan isu paparan aksara dalam PDF iTextSharp anda. Ingat untuk menggantikan "resources/fonts/FreeSans.ttf"
dengan laluan sebenar ke fail fon anda.
Atas ialah kandungan terperinci Bagaimana untuk Memaparkan Aksara Eropah Tengah dan Timur dengan Betul dalam PDF iTextSharp?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!