Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 使用acrobat DLL将PDF转换为字符串_Vb.net_Pdf_Windows Services_Adobe - Fatal编程技术网

Vb.net 使用acrobat DLL将PDF转换为字符串

Vb.net 使用acrobat DLL将PDF转换为字符串,vb.net,pdf,windows-services,adobe,Vb.net,Pdf,Windows Services,Adobe,我正在从事一个vb.net项目。我正在尝试使用acrobat DLL将pdf文件的内容转换为字符串(无法使用其他第三方DLL)。下面是我的代码,当我运行该程序时,我得到以下错误:“检索具有CLSID的组件的COM类工厂,由于以下错误而失败:80040154类未注册”。我做了一些研究,发现我必须安装acrobat标准版或专业版的完整版本。不仅如此,acrobat的完整版本还必须安装在程序运行的所有用户计算机上 有谁能告诉我这是否属实,并建议如何修复类未注册错误 Sub Main()

我正在从事一个vb.net项目。我正在尝试使用acrobat DLL将pdf文件的内容转换为字符串(无法使用其他第三方DLL)。下面是我的代码,当我运行该程序时,我得到以下错误:“检索具有CLSID的组件的COM类工厂,由于以下错误而失败:80040154类未注册”。我做了一些研究,发现我必须安装acrobat标准版或专业版的完整版本。不仅如此,acrobat的完整版本还必须安装在程序运行的所有用户计算机上

有谁能告诉我这是否属实,并建议如何修复类未注册错误

Sub Main()
        Dim s As String
        Dim sSourceFile As String
        sSourceFile = "P:\Report images\DevReports\New Folder\UM-STD-Approval_154.pdf"

        Dim oSourceFileInfo As New System.IO.FileInfo(sSourceFile)

        Dim st As New AcroPDDoc
        st.Open(sSourceFile)
        s = GetText(st)

        Dim oAcroApp As Acrobat.CAcroApp = New Acrobat.AcroApp
        Dim oAcroAvDoc As Acrobat.CAcroAVDoc = New Acrobat.AcroAVDoc
        Dim oAcroPDDoc As Object = Nothing
        If oAcroAvDoc.Open(sSourceFile, "") Then
            'Set PDDoc object and save the file.
            oAcroPDDoc = oAcroAvDoc.GetPDDoc()
            ' oAcroPDDoc.Save(1, sOutputFile)
        Else ' Document FAILED to open.
            MsgBox("Cannot open ")
        End If
        oSourceFileInfo = Nothing
        oAcroApp.CloseAllDocs()
        oAcroPDDoc = Nothing
        oAcroAvDoc = Nothing
        oAcroApp.Exit()
        oAcroApp = Nothing
    End Sub

很抱歉,答案很明显,但你已经回答了自己的问题

AdobeReader是一个免费的应用程序,其界面非常有限,可以实现自动化;实际上,它仅限于显示PDF文件并在其中导航(在某种程度上)

要实现全功能自动化(如我认为您正在寻找的),您需要安装完整的Adobe Acrobat。是的,任何运行此功能的系统都需要安装Adobe Acrobat


现在,可能有一些库(包括来自Adobe的库或内部包含Adobe技术的库)允许您在应用程序中嵌入所需的功能,但这些也不是免费的…

这是winform还是asp.net?它是windows服务项目中的类库。请尝试将项目的平台(在项目的属性中,构建/平台的目标)更改为“X86”,然后重试。平台已设置为X86。Dobe reader在此处不起作用。您需要安装完整的sdk或完整的Adobe Acrobat版本。