Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mengekstrak Teks Bukan Bahasa Inggeris daripada PDF menggunakan iTextSharp dan Mengendalikan Isu Pengekodan?
Menggunakan iTextSharp dalam C# untuk Mengekstrak Kandungan PDF: Menangani Isu Aksara Bukan Bahasa Inggeris
Artikel ini menangani cabaran mengekstrak teks bukan bahasa Inggeris daripada fail PDF menggunakan iTextSharp dalam C#. Masalahnya sering menjelma sebagai teks bercelaru apabila berurusan dengan bahasa seperti Parsi atau Arab.
Memahami Asal Usul Masalah
Punca utama terletak pada penukaran pengekodan yang tidak perlu:
<code class="language-csharp">currentText = Encoding.UTF8.GetString(Encoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.UTF8.GetBytes(currentText)));</code>
Kod ini menukar teks kepada tatasusunan UTF-8 bait dan kemudian kembali kepada rentetan UTF-8—proses berlebihan yang secara tidak sengaja merosakkan aksara di luar julat ASCII asas (0-127).
Penyelesaian: Pengekodan Ringkas
Penyelesaian adalah mudah: alih keluar langkah pengekodan berlebihan. Kod yang diperbetulkan ialah:
<code class="language-csharp">public string ReadPdfFile(string fileName) { StringBuilder text = new StringBuilder(); if (File.Exists(fileName)) { PdfReader pdfReader = new PdfReader(fileName); // ... (rest of the code remains unchanged) ... } return text.ToString(); }</code>
Perkara Tambahan yang Perlu Diperhatikan
Untuk paparan yang betul, sahkan enjin pemaparan aplikasi anda menyokong Unicode. Menggunakan versi iTextSharp terkini (kini 5.2.0.0) disyorkan untuk prestasi optimum.
Mengendalikan Teks Kanan-ke-Kiri
Walaupun kod yang diperbetulkan menyelesaikan isu pengekodan, bahasa kanan ke kiri (seperti Arab dan Ibrani) mungkin masih menimbulkan cabaran. Teks yang diekstrak mungkin muncul dalam susunan yang salah. Ini nampaknya merupakan pengehadan format PDF itu sendiri dan penyusunan semula manual mungkin diperlukan bergantung pada bahasa tertentu.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengekstrak Teks Bukan Bahasa Inggeris daripada PDF menggunakan iTextSharp dan Mengendalikan Isu Pengekodan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!