阅读PDF文件?

时间:2012-09-18 06:21:18

标签: c# pdf .net-4.0 itextsharp extract

这是我第一次阅读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页的初始数据,以指出我之前的意思。

这些数据是否制成表格,我怎么才能只提取它?

1 个答案:

答案 0 :(得分:2)

尝试使用PdfTextExtractor因为它会从pdf中为您提供更多人类可读的文字:

for (int page = 2; page <= reader.NumberOfPages; page++)
{
    var strategy = new SimpleTextExtractionStrategy();
    string text = PdfTextExtractor.GetTextFromPage(reader, page, strategy);
    iResult.Text = text;
}