Foxtable(狐表)用户栏目专家坐堂 → 请问fox能读取pdf文件的内容吗?


  共有2673人关注过本帖树形打印复制链接

主题:请问fox能读取pdf文件的内容吗?

帅哥哟,离线,有人找我吗?
chen3728060
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:388 积分:5098 威望:0 精华:0 注册:2013/11/2 0:01:00
  发帖心情 Post By:2017/3/8 11:45:00 [显示全部帖子]

我通常是叫员工先把pdf里,他想要的表格的内容,先粘贴到excel里,再粘贴到fox里的多行文本框,然后我用代码批量读取。直读PDF的话,我怕每次那些PDF表头和结尾会有奇怪不一样的地方(毕竟客人的下单系统不是我写的),导致批量读表格的功能不好用


此主题相关图片如下:1.jpg
按此在新窗口浏览图片

Dim ti As WinForm.TextBox = e.Form.Controls("TextBox_PDF")

Dim all As Integer =0
Dim repeat As Integer = 0
If ti.lines.Length > 0 Then
    
    For i As Integer = 0 To ti.Lines.Length - 1
        If (i Mod 3 = 0 ) Then ’我的pdf粘贴出来后,逢 1 4 7行是数据,其他行是垃圾文字
            Dim s As String = ti.Lines(i)
            s= s.Trim
            
            Dim Values() As String
            Values = s.split(" ")
            If Values.Length > = 5 Then
                
                Dim bar As String = Values(1)
                Dim qty As Integer = Values(Values.Length -5)
                
                Dim tg As Table = Tables("JOQuotationMain.JOQuotationDetail")
                
                Dim pg As Integer
                
                pg = tg.Findrow("JOItemCode ='" & bar & "'")
                
                If pg > - 1 Then '如果找到符合条件的行
                    If pg > -1 Then
                        tg.Position = pg '则选择该行
                        Dim nowr As Row = tg.Current
                        nowr("JOQuotationQty") = nowr("JOQuotationQty") + qty
                        repeat =repeat +1 '对应产品数量+1
                    End If
                    
                Else '找不到,就新增
                    
                    Dim filter As String = "JOItemCode = '" & bar & "'"
                    Dim dr As DataRow = DataTables("JOItemInfo").SQLFind (filter)
                    If dr IsNot Nothing Then
                        If DataTables("JOItemInfo").find(filter)  Is Nothing Then '判断是否加载,没加载就加载
                            DataTables("JOItemInfo").AppendLoad(filter)
                        End If
                        
                        Dim r As Row =    tg.AddNew
                        r("JOItemID")= dr("JOItemID")
                        r("JOQuotationQty") = qty
                        tg.AutoSizeCols
                        all=all+1
                    Else
                        MessageBox.Show("找不到第" & (i/3) & "行条码为" & bar & "的样板,请用笔和纸记录下来,并完善样板资料")
                    End If
                End If
                
                
            Else
                MessageBox.show("第" & (i/3) & "款信息有误,读取失败,请用笔和纸记录下来")
            End If
        End If
    Next
    ti.Text=""
    MessageBox.show("产品识别完成," & repeat & "款重复,"  & all & "款新增")
Else
    MessageBox.show("请先粘贴订单PDF表格明细内容")
End If
[此贴子已经被作者于2017/3/8 11:45:47编辑过]

 回到顶部