zoukankan      html  css  js  c++  java
  • WPF使用Winform PDFView控件

    最近开发wpf项目中有一个模块需要显示PDF文件内容。由于WPF本身没有PDF加载控件(似乎有收费的我查到过类似的资料。如果有新的pdf控件也请通知我一下谢谢)。

    项目使用之前也是从网上获取的资料,因此接下来的控件命名和项目命名完全沿用原文档。具体地址忘记了。这样也好感谢原作者。

    不过里面的逻辑根据项目实际应用做了变工 。每人理解不同为了大家更快更好地的使用。因此我也对自己理解整理出文档供大家参考一下。不足之处还请多指教

    因此打算使用WinFrom中所提供的pdf阅读库

    首先要准备好AxInterop.AcroPDFLib.dll,Interop.AcroPDFLib.dll类库。 计算机安装过adopdf阅读器

    接下来开始制作WinformPDF用户控件

    项目中控件和项目命名 采用

    首先新建一个项目 添加Winform UserControl。

    添加引用两个pdf类库

    接下来 给用用户控件中添加pdf控件

    接下来打开打开用户控件后置类,重新构造用户控件的构造函数,将用户控件被初始化时 加载显示PDF内容




    这样的话 Winform部分就完成了,编译运行成功。如果失败请参照异常信息进行程序修正。

    接下来进入主题wpf中使用pdf文档阅读

    首先WPF要使用Winform中的空间需要添加对应的类库支持。

    接下来在WPF项目中添加引用 刚刚完成的 pdfView用户控件

    到此WPF引用结束。现在我们开始WPF中进行使用控件

    WPF使用控件有两种方式

    1 不采用设计模式 直接使用后置类中进行阅读PDF文档,如果采用这种方式直接 调用控件为PDF控件赋值文件路径即可

    备注:WindowFormHost是加载winform控件的容器因此必须将所有winform控件放在WindowFormHost内。

    第二种使用MVVM设计模式使用绑定方式。由于WindowFormHost的Child不支持绑定因此绑定方式特殊一点。

    上述代码是通过以当前主窗体为标准通过控件名字WinFormHostOfPdfCtrl查找到WinformHost控件 将PDF控件赋值给Child属性

    到此所有WPF引用PDF文件阅读结束,应该还算详细吧参照文档就能实现所要的功能。如果有不足支出还请多多指出来,共同学习。

    运行看一下结果

  • 相关阅读:
    linux中解压.tgz, .tar.gz ,zip ,gz, .tar文件
    hook(v16.7测试)?
    React优点?
    Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?
    说说数据库连接池工作原理和实现方案?
    short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
    Oracle的数据优化(经常被问到)?
    存储过程和函数的区别?
    Collection 和 Collections的区别?
    说说数据库连接池工作原理和实现方案?
  • 原文地址:https://www.cnblogs.com/HelloXZ/p/3449532.html
Copyright © 2011-2022 走看看