使用acrobat dll将PDF转换为字符串

时间:2013-01-28 17:16:47

标签: vb.net pdf windows-services adobe

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

1 个答案:

答案 0 :(得分:0)

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

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

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

现在,可能有库(包括来自Adobe的库或包含Adobe技术的库),它们允许您在应用程序中嵌入您正在寻找的功能,但那些也不会是免费的......