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 的第二页读入文本文件,但是,我注意到文本文件中有很多代码,我对如何仅解析有点迷茫我需要的数据。

我想知道的是,是否有一种模式或其他东西可以帮助我只获得 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 PdfTextExtractor,因为它会为您提供更多人类可读的 pdf 文本:

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 回答