Esp*_*spo 1 itextsharp pdf-scraping
我正在使用iTextSharpnuGet(5.5.8)中的最新lib来解析pdf文件中的一些文本.我面临的问题是该GetTextFromPage方法不仅从页面返回应该返回的文本,还返回上一页中的文本.这是我的代码:
var url = "https://www.oslo.kommune.no/getfile.php/Innhold/Politikk%20og%20administrasjon/Etater%20og%20foretak/Utdanningsetaten/Postjournal%20Utdanningsetaten/UDE03032016.pdf";
var strategy = new SimpleTextExtractionStrategy();
using (var reader = new PdfReader(new Uri(url)))
{
for (var page = 1; page <= reader.NumberOfPages; page++)
{
var textFromPage = PdfTextExtractor.GetTextFromPage(reader, page, strategy);
Console.WriteLine(textFromPage.Length);
}
}
Run Code Online (Sandbox Code Playgroud)
输出看起来像这样,这不是我需要的.我需要页面上实际显示的文字:
1106
2248
3468
4835
5167
6431
7563
8860
9962
11216
12399
13640
14690
15760
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
您将所有页面都提供给相同的文本提取策略:
var strategy = new SimpleTextExtractionStrategy();
using (var reader = new PdfReader(new Uri(url)))
{
for (var page = 1; page <= reader.NumberOfPages; page++)
{
var textFromPage = PdfTextExtractor.GetTextFromPage(reader, page, strategy);
... process textFromPage ...
}
}
Run Code Online (Sandbox Code Playgroud)
由于您希望自己处理每个页面的内容,因此您应该为每个页面创建一个新策略:
using (var reader = new PdfReader(new Uri(url)))
{
for (var page = 1; page <= reader.NumberOfPages; page++)
{
var strategy = new SimpleTextExtractionStrategy();
var textFromPage = PdfTextExtractor.GetTextFromPage(reader, page, strategy);
... process textFromPage ...
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1438 次 |
| 最近记录: |