首页 > 解决方案 > 使用 vb 从 PDF 中提取富文本字段到 MS Access

问题描述

我正在遍历文件,并且我有一个可填写的 PDF 表单,我正在从中提取数据。一切正常,除非我从富文本字段中提取。我得到了数据,但它失去了格式。

我的代码如下。例如,“General_Match_Comments”是我在 PDF 中的富文本字段,但是当它进入 Access 数据库时,它缺少多行等格式

Dim AcroApp As Acrobat.CAcroApp 
Dim theForm As Acrobat.CAcroPDDoc 
Dim jso As Object 
Dim oFSO As Object 
Dim oFolder As Object 
Dim oFile As Object 

Set AcroApp = CreateObject("AcroExch.App") 
Set theForm = CreateObject("AcroExch.PDDoc") 
Set oFolder = oFSO.GetFolder(varfolder)

    For Each oFile In oFolder.Files
        theForm.Open (oFile)
        Set jso = theForm.GetJSObject
    
        Dim rstblEvalHeader As Recordset
        Set rstblEvalHeader = CurrentDb.OpenRecordset(Name:="tblEvalHeader", Type:=RecordsetTypeEnum.dbOpenDynaset)
        With rstblEvalHeader
            .AddNew
                ' get the information from the form fields Text1 and Text2
                !Referee = jso.getField("Referee").Value
                !EvalDate_af_date = jso.getField("EvalDate_af_date").Value
                !Position = jso.getField("R1R2").Value
                !Event_Site = jso.getField("Event_Site").Value
                !Partner = jso.getField("Partner").Value
                !Level_of_Play = jso.getField("Level_of_Play").Value
                !Time_Court = jso.getField("Time_Court").Value
                !Teams = jso.getField("Teams").Value
                !Observer = jso.getField("Observer").Value
                !Match_Scores = jso.getField("Match_Scores").Value
                !Match_Difficulty = jso.getField("Match_Difficulty").Value
                !General_Match_Comments = jso.getField("General_Match_Comments").Value
                !Result = jso.getField("Result").Value
                strGUID = !ID
                strGUID = Replace(Replace(strGUID, "{guid ", ""), "}}", "}")
                !SID = strGUID
            .Update
            
        End With
        theForm.Close
    Next oFile

标签: vbams-accesspdf

解决方案


推荐阅读