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
Lepaskan: 2025-01-13 21:45:49
asal
672 orang telah melayarinya

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan