Baca kandungan PDF dengan tepat
Apabila bekerja dengan fail PDF, pengekstrakan kandungan yang tepat adalah penting. Walau bagaimanapun, pengekodan aksara tertentu boleh menimbulkan cabaran, terutamanya apabila menggunakan teks bukan bahasa Inggeris. Artikel ini meneroka mengekstrak teks Parsi atau Arab daripada PDF menggunakan iTextSharp.
Masalah: Pengekodan tidak sepadan
Coretan kod asal menyediakan percubaan untuk membaca kandungan PDF menggunakan iTextSharp. Walau bagaimanapun, apabila berurusan dengan teks bukan bahasa Inggeris, hasilnya sering bercelaru. Masalahnya berpunca daripada ketidakpadanan pengekodan semasa penukaran bait kepada rentetan.
Penyelesaian: Alih keluar transkod
Penyelesaian terletak pada mengalih keluar baris penukaran pengekodan daripada kod, yang cuba menukar bait daripada pengekodan lalai kepada UTF-8. Penukaran ini tidak diperlukan dan boleh menyebabkan ralat. Dengan menghapuskan baris ini, kod memproses teks sebagai Unicode dengan betul.
Berikut ialah kod yang diperbetulkan:
<code class="language-csharp">public string ReadPdfFile(string fileName) { StringBuilder text = new StringBuilder(); if (File.Exists(fileName)) { PdfReader pdfReader = new PdfReader(fileName); for (int page = 1; page <= pdfReader.NumberOfPages; page++) { text.Append(pdfReader.GetPlainText(page)); } } return text.ToString(); }</code>
Nota lain
Selain menyelesaikan isu pengekodan, ia juga penting untuk memastikan aplikasi paparan teks menyokong Unicode. Anda juga patut menyemak bahawa anda menggunakan versi terkini iTextSharp.
Kesimpulan
iTextSharp boleh mengekstrak teks bukan bahasa Inggeris dengan tepat daripada PDF dengan menghapuskan baris penukaran pengekodan. Ingat untuk mengesahkan sokongan Unicode dalam aplikasi paparan anda dan gunakan versi iTextSharp terkini untuk prestasi terbaik. Kaedah ini akan memastikan pengekstrakan kandungan PDF yang lancar dan betul dalam pelbagai bahasa.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengekstrak Teks Parsi atau Arab dengan Tepat daripada PDF Menggunakan iTextSharp?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!