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 サイトの他の関連記事を参照してください。