Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mengekstrak Teks Bukan Bahasa Inggeris daripada PDF menggunakan iTextSharp dan Mengendalikan Isu Pengekodan?

Bagaimanakah Saya Boleh Mengekstrak Teks Bukan Bahasa Inggeris daripada PDF menggunakan iTextSharp dan Mengendalikan Isu Pengekodan?

DDD
DDDasal
2025-01-11 07:28:42244semak imbas

How Can I Extract Non-English Text from PDFs using iTextSharp and Handle Encoding Issues?

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!

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