2

我正在尝试在 Visual C# 2008 Express Edition 项目中使用 Acrobat Inter Application Communication (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 阅读器 - 不是完整版。访问 COM 接口是否需要完整版的 Acrobat?(我只有 Acrord32.dll,系统上没有 Acrobat.dll)。我在不同的 Vista 机器上试用了相同的程序,并卸载/重新安装了 Arobat 阅读器,结果相同。

4

1 回答 1

2

问题可能在于未注册的主 Acrobat dll,而不是互操作 dll。

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

于 2010-01-14T09:19:46.390 回答