3

iTextSharp を使用して PDF ファイルを読み込もうとしています。問題は、英語以外 (ヒンディー語やアラビア語など) の PDF ファイルを読み込もうとすると、正しい単語が取得されないことです。

システムにヒンディー語またはアラビア語のフォントをインストールする必要がありますか、それともエンコーディングで何かをする必要がありますか?

ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();
string currentText = PdfTextExtractor.GetTextFromPage(pdfReader, page, strategy);
currentText = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(currentText)));
text.Append(currentText);

編集:

画像としてのサンプル PDF:

ここに画像の説明を入力

抽出されたテキスト:

uxj ikfydk ifj"kn fuokZpd ukekoyh& 2011 i`"B la[;k % 1 1 1 1& & & & ftys dk uke ftys dk uke ftys dk uke ftys dk uke % % % % 0701-ò¶âã£ûæ– 2 2 2 2& & & & fudk fudk fudk fudk; ; ; ; dk uke dk uke dk uke dk uke % % % % 1-¢âî™ 3 3 3 3& & & & okMZ la okMZ la okMZ la okMZ la[ [ [ [; ; ; ;こうけこうけこうけこうけ % % % % 1-¯â“¯â™®â£û¶âû §âîºâã®â£û¶âû Õô¯âû®â£û¶âû 4 4 4 4& & & & Hkkx la Hkkx la Hkkx la Hkkx la[ [ [ [; ; ; ;kkkk % % % %

4

1 に答える 1

0

PDF ファイルのエンコーディングがわからないため、いかなる種類のエンコーディングも使用しないでください。

. うまくいくと思います。

ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();
string currentText = PdfTextExtractor.GetTextFromPage(pdfReader, page, strategy);
text=text+currentText;

///do what you want with text
MessageBox.Show(text);

それでも機能しない場合は、特定のフォントをインストールする必要があります。

于 2012-06-05T17:27:13.373 に答える