c# - Visual c# Express Edition - 无法让 Acrobat pdf 阅读器工作

标签 c# pdf clsid

我正在尝试在 Visual C# 2008 Express Edition 项目中使用 Acrobat 应用程序间通信 (IAC) 在 C# 应用程序中打开 PDF 文档。
执行以下代码时出现异常:

CAcroPDDoc pdDoc = new AcroPDDocClass();  

异常报告特定 CLSID 的 COM 类工厂失败,错误为 80040154。在 MSDN 上查找 winerror.h 中的错误代码,错误与未注册的类有关。
我尝试使用 regsvr32 注册 Interop.Acrobat.dll,但这无法正常工作(找不到入口点 DllRegisterServer)。
我已经尝试了 Acrobat 9 SDK 附带的示例 C# 项目(BasicIacCS - 有一个名为 BasicIacCS.suo 的 visual studio 项目,它导入到 c# Express 中没有任何错误,但失败并出现相同的异常)。


我是不是犯了一些根本性的错误? (我是 Windows/.NET 编程新手)
这在速成版下是否可行,还是我应该升级到 Visual Studio?


进一步调查问题,当我对我的应用程序(.exe 文件)执行 ILDASM 时,被提示的 CLSID 是可用的 - 它是我试图访问的 AcroPDDoc 类的 CLSID。注册表中没有此类及其关联的 CLSID。 我只安装了 Acrobat 阅读器——不是完整版。是否需要完整版的 Acrobat 才能访问 COM 接口(interface)? (我只有 Acrord32.dll,系统上没有 Acrobat.dll)。 我在不同的 Vista 机器上尝试了相同的程序,并卸载/重新安装了 Arobat 阅读器,结果相同。

最佳答案

问题可能出在未注册的主要 Acrobat dll 中,而不是 interop dll。

尝试重新安装 Acrobat,或注册 Acrobat DLL。

关于c# - Visual c# Express Edition - 无法让 Acrobat pdf 阅读器工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2063111/

相关文章:

c# - 了解有关分布式计算的更多信息

c# - 如何检查 uri 字符串是否有效

c# - 如何更新现有行的值而不是添加新行

c# - 使用 Entity Framework 6 手工制作 POCO?

javascript - FPDF - 使用 PDF_JS 时在没有对话框的情况下打印

javascript - 如何使用javascript滚动html中pdf对象元素的底部?

java - 使用 PDFBox 和 BouncyCaSTLe 签署 PDF

com - CLSIDFromProgID 成功但 CreateInstace 失败!为什么?

c# - 从 CLSID 动态加载 ActiveX 控件

c++ - 在 Windows 中,UuidFromString 和 CLSIDFromString 之间有区别吗?