尝试在C#中使用ActiveX控件加载PDF文件时出现COMException错误

时间:2013-03-03 03:11:51

标签: winforms pdf c#-3.0

我正在使用VS 2012 Express for Windows Desktop。

private void button1_Click(object sender, EventArgs e)
{
    DialogResult result = openFileDialog1.ShowDialog();
    if (result == DialogResult.OK)
    {
        axAcroPDF1.LoadFile(openFileDialog1.FileName);
    }
}

我使用Acrobat Reader ActiveX控件;随着它变成了一种形式。我正在尝试加载PDF文件。但我收到以下错误消息:

  

未处理的类型异常   发生'System.Runtime.InteropServices.COMException'   System.Windows.Forms.dll中

     

附加信息:未注册的课程(HRESULT的例外情况:   0x80040154(REGDB_E_CLASSNOTREG))

1 个答案:

答案 0 :(得分:2)

您是否有可能在64位Windows上构建“x64”目标或“任何CPU”?根据这篇文章Using Adobe Reader in a WPF app,Acrobat DLL是32位,因此必须在“x86”32位版本中运行。

  

引用文章:“另外由于目前没有x64版本的Acrobat DLL,因此确保将目标平台设置为x86(这是在项目属性的构建选项卡上)是明智的,否则会出错沿着{“未登记的类别(HRESULT的异常:0x80040154(REGDB_E_CLASSNOTREG))”}的行将会出现 - 如果你问我我会非常神秘!“