【发布时间】:2021-08-11 18:14:03
【问题描述】:
我在使用 PdfTextExtractor GetTextFromPage 方法时遇到问题,其中部分文本丢失,无论我是否运行所有页面......我仍然找不到部分文本。我对所有 pdf 提取使用相同的代码剪辑器,以前从未遇到过问题.. 可能是 pdf 文件搞砸了?
我尝试过没有策略,使用 LocationTextExtractionStrategy 和 SimpleTextExtractionStrategy ...结果发生了一些变化,但仍然无法获取所有文本。
我正在测试这个公共文档,我需要从中读取一些数据,下载和获取所有文本的代码 sn-p 非常简单:
webc.DownloadFile("http://www.inmetro.gov.br/legislacao/pam/pdf/PAM007426.pdf", "C:\test\PORTARIA.pdf")
pdf = New PdfReader("C:\test\PORTARIA.PDF")
Dim strategy As ITextExtractionStrategy = New LocationTextExtractionStrategy
For i = 1 To pdf.NumberOfPages
TextBox3.AppendText(Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(PdfTextExtractor.GetTextFromPage(pdf, i, strategy)))) + vbNewLine + vbNewLine)
Next
我只对第一页感兴趣,我需要提取一些数据 .. 找不到像“fabricante”、“marca”、“PESO EXATO BALANÇAS”等词
有人知道为什么会这样吗???我很想看到实现这一目标的其他选择。不花钱买工具
【问题讨论】:
-
Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(...)))是干什么用的? -
请附上示例 PDF 以重现问题
-
@KJ 将 i=0 放入 pdf.numberpages 我得到一个空指针异常。我一直使用 1 .. 我无法获得与您相同的文本。这怎么可能哈哈...
-
@AlexeySubach 你得到了代码 sn-p 中的链接。
-
@mkl 我从很久以前尝试过的一个例子中得到了这条线。我现在只是为未来的项目创建一个测试功能。我将生成的纯文本放到一个文本框/字符串中,这样我就可以找到用于读取数据的模式..