Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Memaparkan Aksara Czech (Č, Ć, dsb.) Dengan Betul Apabila Menjana PDF?

Bagaimanakah Saya Boleh Memaparkan Aksara Czech (Č, Ć, dsb.) Dengan Betul Apabila Menjana PDF?

Linda Hamilton
Linda Hamiltonasal
2025-01-13 21:46:52735semak imbas

How Can I Correctly Display Czech Characters (Č, Ć, etc.) When Generating PDFs?

Isu pengekodan aksara dalam penjanaan PDF

Aksara Czech seperti "Č" dan "Ć" telah dipaparkan secara tidak betul semasa menjana PDF. Masalah ini berpunca daripada pelbagai faktor, termasuk pengekodan aksara dan pemilihan fon.

Nota Pengekodan

Pertama sekali, adalah penting untuk membezakan antara abjad Cyrillic dan Latin yang digunakan dalam bahasa Eropah Tengah dan Timur. Halaman kod 1250 dan 1251 mewakili pengekodan aksara yang berbeza untuk wilayah ini.

Amalan Pengekodan Teks

Unicode ialah standard pengekodan teks yang disyorkan untuk aplikasi moden. Walau bagaimanapun, menyimpan fail kod dalam teks biasa boleh menyebabkan kerosakan data jika pengekodan ditukar secara tidak sengaja. Pertimbangkan untuk menggunakan notasi u untuk mewakili aksara khas dan bukannya memasukkannya terus dalam kod anda.

Pemilihan fon

Helvetica tidak sesuai untuk memaparkan aksara Czech. Arial atau FreeSans adalah pilihan yang lebih baik. Selain itu, menetapkan parameter benam kepada benar memastikan fon disertakan dalam PDF untuk pemaparan yang konsisten merentas sistem yang berbeza.

Pengekodan fon

Apabila menggunakan fon terbenam, anda boleh menentukan pengekodan fon. Cp1250 menentukan pengekodan halaman kod 1250, menghasilkan perwakilan bait tunggal untuk setiap aksara. Sebagai alternatif, IDENTITY_H mewakili pengekodan Unicode, yang menggunakan berbilang bait setiap aksara. Untuk piawaian moden seperti PDF/A dan PDF/UA, pengekodan Unicode disyorkan.

Contoh

Kod berikut menunjukkan penyelesaian menggunakan fon FreeSans dalam pengekodan Cp1250 dan IDENTITY_H:

<code class="language-java">public static void createPdf(String dest) throws IOException, DocumentException {
    Document document = new Document();
    PdfWriter.getInstance(document, new FileOutputStream(dest));
    document.open();

    // Cp1250 编码
    Font f1 = FontFactory.getFont("resources/fonts/FreeSans.ttf", "Cp1250", true);
    Paragraph p1 = new Paragraph("测试字母 \u010c,\u0106,\u0160,\u017d,\u0110", f1);
    document.add(p1);

    // Unicode 编码
    Font f2 = FontFactory.getFont("resources/fonts/FreeSans.ttf", BaseFont.IDENTITY_H, true);
    Paragraph p2 = new Paragraph("测试字母 \u010c,\u0106,\u0160,\u017d,\u0110", f2);
    document.add(p2);

    document.close();
}</code>

Kesimpulan

Mengendalikan aksara antarabangsa dalam penjanaan PDF bukanlah satu tugas yang mudah. Pengendalian pengekodan aksara dan pemilihan fon yang betul adalah penting untuk perwakilan teks yang tepat.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memaparkan Aksara Czech (Č, Ć, dsb.) Dengan Betul Apabila Menjana PDF?. 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