0

我正在做一个 vb.net 项目。我正在尝试使用 acrobat dll 将 pdf 文件的内容转换为字符串(不能使用其他 3 rd 方 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
4

1 回答 1

0

为明显的答案道歉,但你已经回答了你自己的问题。

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

对于全功能自动化(就像我认为您正在寻找的那样),您需要安装完整的 Adob​​e Acrobat。是的,您在其上运行的任何系统也需要安装 Adob​​e Acrobat。

现在,可能有一些库(包括来自 Adob​​e 的库或内部包含 Adob​​e 技术的库)可以让您在应用程序中嵌入您正在寻找的功能,但这些也不是免费的......

于 2013-01-29T10:30:59.040 回答