Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Memaparkan Aksara Eropah Tengah dan Timur dengan Betul dalam PDF iTextSharp?

Bagaimana untuk Memaparkan Aksara Eropah Tengah dan Timur dengan Betul dalam PDF iTextSharp?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-13 21:45:49676semak imbas

How to Display Central and Eastern European Characters Correctly in iTextSharp PDFs?

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:

  • Halaman Kod Salah: Halaman kod yang salah mungkin dipilih.
  • Pengekodan Aksara: Pengendalian aksara khas dalam kod yang tidak betul.
  • Sokongan Glyph Font: Fon yang dipilih mungkin kekurangan glyph yang diperlukan untuk aksara ini.
  • Pembenaman Fon: Fon mungkin tidak dibenamkan dalam PDF.
  • Definisi Pengekodan: Pengekodan fon mungkin tidak ditakrifkan dengan betul.

Penyelesaian: Pendekatan Langkah demi Langkah

  1. Pemilihan Halaman Kod Tepat: Gunakan halaman kod yang betul untuk set bahasa dan aksara tertentu (cth., "Cp1250" untuk Czech).

  2. Urutan Melarikan Diri Unikod: Daripada menggunakan aksara khas literal, gunakan urutan melarikan diri Unikod untuk pengendalian pengekodan yang konsisten.

  3. Fon Penyokong Glyph: Pilih fon (seperti Arial.ttf atau FreeSans.ttf) yang menyertakan glyph yang diperlukan.

  4. Pembenaman Fon: Pastikan fon dibenamkan dalam PDF (tetapkan parameter "terbenam" kepada true) untuk menjamin paparan yang betul walaupun fon tidak tersedia pada sistem penerima.

  5. 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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn