我正在使用伴侣MigraDoc and PdfSharp libraries生成报告 .
PdfSharp documentation反复提到WPF,并谈到你可以"draw on a PDF page as well as in a window",但我无法弄清楚如何在查看器中查看我的 PdfDocument
. 所有这些示例都是通过使用 Process.Start()
打开文档将渲染渲染到另一个程序 .
这些库中的任何一个都包含用于查看文档的WPF控件吗?理想情况下,我正在寻找一个基本的文档查看器控件,类似于 FlowDocuments
的内置 RichTextEditor
查看器 .
(我正在使用通过NuGet分发的PdfSharp和MigraDoc库 . )
2 回答
你可以使用WPF PDF Viewer . 它将Adobe PDF Reader COM组件包装为WPF控件
PDF Viewer是一个ActiveX控件,需要使用WindowsFormHost托管 . 如果您需要PDR的WPF渲染器,Adobe还没有引入它 . 您需要自己创建它并解析PDF文档 .
以下几个链接将帮助您在WPF窗口上托管PDF文档:
http://www.codeproject.com/Articles/380019/Using-Adobe-Reader-in-a-WPF-app
http://hugeonion.com/2009/04/06/displaying-a-pdf-file-within-a-wpf-application/
Telerik有一个使用WPF创建的PDF Viewer,它使用WPF渲染PDF文档 . 它叫做RADPDFViewer http://blogs.telerik.com/blogs/posts/12-02-29/introducing-pdf-viewer-for-silverlight-wpf.aspx
您必须使用Adobe提供的一个,或者您需要像Telerik那样创建自己的 .