ホームページ > バックエンド開発 > C++ > C# で iTextSharp を使用して、出力が文字化けせずに PDF から英語以外のテキストを抽出するにはどうすればよいですか?

C# で iTextSharp を使用して、出力が文字化けせずに PDF から英語以外のテキストを抽出するにはどうすればよいですか?

DDD
リリース: 2025-01-11 06:36:41
オリジナル
636 人が閲覧しました

How Can I Extract Non-English Text from PDFs Using iTextSharp in C# Without Garbled Output?

iTextSharp を使用して英語以外の PDF コンテンツを読む

C# で iTextSharp を使用して PDF ドキュメントからテキストを抽出する場合、コンテンツが英語以外の言語 (ペルシア語やアラビア語など) である場合、問題が発生する可能性があります。組み込みのエンコード方式ではこれらの文字セットを処理できないため、テキストが文字化けする可能性があります。

この問題を解決するには、PDF から取得したテキストに対して不必要なエンコード変換を実行しないようにしてください。 iTextSharp では、PdfTextExtractor.GetTextFromPage() メソッドは PDF ページから生のテキストを抽出します。 Unicode への変換は、後で制御された方法で処理する必要があります。

提供されたコード スニペットは、Encoding.UTF8 を使用してテキストを再エンコードしようとしていますが、これは間違ったアプローチです。次の簡略化されたコード スニペットは、正しいアプローチを示しています:

<code class="language-csharp">public string ReadPdfFileWithoutEncoding(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(PdfTextExtractor.GetTextFromPage(pdfReader, page));
        }
        pdfReader.Close();
    }

    return text.ToString();
}</code>
ログイン後にコピー

アプリケーションが最新バージョンの iTextSharp を使用していることを確認することが重要であることに注意してください。古いバージョンでは、英語以外のテキストの処理に制限がある場合があります。さらに、抽出されたテキストの表示を担当するアプリケーションは Unicode 文字をサポートする必要があります。

以上がC# で iTextSharp を使用して、出力が文字化けせずに PDF から英語以外のテキストを抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート