这是我第一次阅读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页的初始数据,以指出我之前的意思。
这些数据是否制成表格,我怎么才能只提取它?
答案 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;
}