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