0

PDFを読むのは初めてです。

私は周りを検索していて、C#でそれを行い、iTextSharpを使用することを選択するオプションを見つけました。

これまでのところ、ファイルの読み取りやコンテンツの取得など、問題なく基本的なことを行ってきました。

PdfReader reader = new PdfReader(iPDF.Text);
for (int x = 2; x <= reader.NumberOfPages; x++)
{
    iResult.Text = Encoding.UTF8.GetString(reader.GetPageContent(x));
    break;
}

ご覧のとおり、PDF の 2 ページ目をテキスト ファイルに読み込むための非常に基本的なコードですが、テキスト ファイルに多くのコードが含まれていることに気付きました。私が必要とするデータ。

私が疑問に思っていたのは、PDF のその部分だけを取得するのに役立つパターンまたは何かがあるかどうかです。プレーンテキストファイルを見ると、行の開始/終了、色などを定義しているものがあるようです.

抽出データの一部:

1 0 0 1 0 612 cm 0 0 0 rg
0 0 0 RG
28.35 -28.35 735.3 -526.95 re
W
n
0 0 0.502 sc
28.35 -65.5 735.3 -12.75 re
f
28.35 -543.9 735.3 -11.4 re
f
q
92.25 -28.35 560.9 -18 re
W
n
1 1 1 sc
92.25 -28.35 560.9 -18 re
f
BT
1 0 0 1 95.25 -39.1 Tm
0 0 0 sc
/i 10.75 Tf
(Name - Live) T

注: 上記は、2 ページ目の最初のデータの一部に過ぎず、以前の意図を示しています。

そのデータは集計のようなもので、どうすればそれだけを抽出できますか?

4

1 に答える 1

2

a を使用してみてください。pdfPdfTextExtractorからもう少し人間が読めるテキストが得られます。

for (int page = 2; page <= reader.NumberOfPages; page++)
{
    var strategy = new SimpleTextExtractionStrategy();
    string text = PdfTextExtractor.GetTextFromPage(reader, page, strategy);
    iResult.Text = text;
}
于 2012-09-18T06:33:17.583 に答える