我正在开发一个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
答案 0 :(得分:0)
为明显的答案道歉,但你已经回答了自己的问题。
Adobe Reader是一个免费的应用程序,界面非常有限,可以自动化;在实践中,它仅限于您可以显示PDF文件并在其中导航(在某种程度上)。
对于全功能自动化(就像我认为您正在寻找的那样),您需要安装完整的Adobe Acrobat。是的,您运行此系统的任何系统都需要安装Adobe Acrobat。
现在,可能有库(包括来自Adobe的库或包含Adobe技术的库),它们允许您在应用程序中嵌入您正在寻找的功能,但那些也不会是免费的......