Tag: documentviewer

如何将用户控件放在文档查看器中?

是否可以将用户控件放在面板中? 如果可能的话,那将是怎样的?

WPF DocumentViewer:首次点击时使用内部链接导航不准确

在WPF中,我在Frame控件中有一个DocumentViewer。 DocumentViewer显示使用MS Word生成的XPS文档。 该文档包含一个内容表,以帮助浏览文档。 只要DocumentViewer放置在允许导航的控件(例如框架)中,DocumentViewer就允许用户单击这些链接并导航到相应的页面。 当用户第一次导航时,DocumentViewer不会准确地跳转到链接的位置。 文档越远,跳跃位置和实际位置之间的空间就越大。 看起来每页都有一定数量的关闭。 在第一次链接点击后,导航工作完全正常。 使用框架上的导航按钮导航回来时,只要加载第一个视图,链接精度就会再次出现。 根据这篇文章,第一次点击链接后正在创建一个新的DocumentViewer。 似乎这创建了一个按预期工作的实例。 为什么初始实例没有准确导航以及如何解决这个问题? 下面剪切的代码可用于重现该问题。 窗口内的XAML: 代码背后: public MainWindow() { InitializeComponent(); LoadDoc(); } private void LoadDoc() { XpsDocument xpsDoc = new XpsDocument(“test.xps”, FileAccess.Read); docViewer.Document = xpsDoc.GetFixedDocumentSequence(); } test.xps文档包含一个TOC和两章,它们之间有大约40页。 导航到第二章时,问题变得清晰(它是3页关闭)。

突出显示documentviewer中的所有匹配

我知道如果文档是xpsdocument,wpf-documentviewer支持在文档中搜索。 搜索只突出显示一个接一个的命中。 是否可以通过搜索框突出显示所有匹配? 我有以下代码来创建和设置DocumentViewer-Control的文档: public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); FixedDocument fixedDocument = CreateTestDocument(); this.documentViewer.Document = BuildFixedDocumentSequence(fixedDocument); } private static FixedDocumentSequence BuildFixedDocumentSequence(FixedDocument fixedDocument) { MemoryStream ms = new MemoryStream(); Uri documentUri = new Uri(“pack://document.xps”); Package p = Package.Open(ms, FileMode.Create, FileAccess.ReadWrite); PackageStore.AddPackage(documentUri, p); XpsDocument xpsDocument = new XpsDocument(p, CompressionOption.NotCompressed, documentUri.AbsoluteUri); XpsDocumentWriter […]

在没有DocumentViewer的情况下显示HTML文档的打印预览

我有一个C#/ WPF应用程序,我需要在其中显示HTML文档的打印预览 – 基本上就像在Firefox或甚至IE中查看打印预览时所看到的那样。 我知道DocumentViewer,但是,我试图远离使用DocumentViewer控件,因为它看起来很慢,我需要显示的一些文档可以超过450页,我想快速加载预览尽可能。 有谁知道做这样的事情的优雅方式? 我开始假设我需要创建自己的控件,但我真的不知道从哪里开始。 感谢您提供有关此类内容的任何建议或提示!