Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共17 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:如何提取PDF文件中表格数据

1楼
ZJZK2018 发表于:2023/9/15 17:41:00
如何提取PDF文件中表格数据到数据库中
[此贴子已经被作者于2023/9/15 19:11:12编辑过]
2楼
ZJZK2018 发表于:2023/9/15 18:21:00
Dim reader As New iTextSharp.text.pdf.PdfReader("d:\test.pdf")

Dim n As Integer = reader.NumberOfPages
Dim str As String = ""
For i As Integer = 1 To n
    Dim strategy As object = New iTextSharp.text.pdf.parser.SimpleTextExtractionStrategy()
    Dim currentText As String = iTextSharp.text.pdf.parser.PdfTextExtractor.GetTextFromPage(Reader, i, strategy)
   
    currentText = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.[Default], Encoding.UTF8, Encoding.[Default].GetBytes(currentText)))
    str &= currentText
   
Next
msgbox(str)
reader.Close()


图片点击可在新窗口打开查看此主题相关图片如下:1694773476332.jpg
图片点击可在新窗口打开查看



图片点击可在新窗口打开查看此主题相关图片如下:rrr.jpg
图片点击可在新窗口打开查看

[此贴子已经被作者于2023/9/15 18:29:49编辑过]
3楼
有点蓝 发表于:2023/9/16 11:44:00
可能.net版本问题,要引用.net 4.0的iTextSharp.dll
4楼
ZJZK2018 发表于:2023/10/18 22:09:00
Dim doc As org.apache.pdfbox.pdmodel.PDDocument = Nothing
Try
    doc = org.apache.pdfbox.pdmodel.PDDocument.load("d:\AAA.pdf")
    Dim pages = doc.getDocumentCatalog().getAllPages()
    Dim pdfStripper = new org.apache.pdfbox.util.PDFTextStripper
    Dim text = pdfStripper.getText(doc)
    msgbox(text)
catch ex As exception
    msgbox(ex.message)
Finally
    If doc IsNot Nothing Then
        doc.close()
    End If
End Try


图片点击可在新窗口打开查看此主题相关图片如下:1697638434719.jpg
图片点击可在新窗口打开查看

5楼
有点蓝 发表于:2023/10/18 22:59:00
使用的第三方dll是.net 4.0的吗?复制到Foxtable安装目录了吗?
6楼
ZJZK2018 发表于:2023/10/18 23:36:00
我用的是net4.0,
itextsharp.dll已复制了,但还是出错

我用下面代码是可以的

Dim reader As New iTextSharp.text.pdf.PdfReader("d:\AAA.pdf")

 

Dim n As Integer = reader.NumberOfPages

Dim str As String = ""

For i As Integer = 1 To n

    Dim strategy As object = New iTextSharp.text.pdf.parser.SimpleTextExtractionStrategy()

    Dim currentText As String = iTextSharp.text.pdf.parser.PdfTextExtractor.GetTextFromPage(Reader, i, strategy)

   

    currentText = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.[Default], Encoding.UTF8, Encoding.[Default].GetBytes(currentText)))

    str &= currentText

   

Next

'msgbox(str)

Output.Show(str)

reader.Close()


但为什么用4楼时会出错???
[此贴子已经被作者于2023/10/18 23:39:18编辑过]
7楼
有点蓝 发表于:2023/10/19 8:23:00
4楼是另外一个组件吧,和itextsharp没有任何关系
8楼
ZJZK2018 发表于:2023/10/19 9:33:00
使用的第三方dll是.net 4.0的吗?复制到Foxtable安装目录了吗?
我用net4.0的, 其他如何处理??
9楼
有点蓝 发表于:2023/10/19 9:44:00
其他什么东西如何处理?
10楼
ZJZK2018 发表于:2023/10/19 10:03:00
使用的第三方dll是.net 4.0的吗?复制到Foxtable安装目录了吗?  Net4.0如何复制到Foxtable安装目录
共17 条记录, 每页显示 10 条, 页签: [1] [2]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .04492 s, 2 queries.