标签: documentviewer

WPF DocumentViewer Find-function和FixedPage文档

.Net包含一个很好的控件DocumentViewer.它还提供了一个子控件,用于在加载的文档中查找文本(至少它应该执行的操作).

当插入FixedPage对象作为文档源时DocumentViewer,查找功能只是找不到任何东西.甚至不是单个字母.我还没有尝试过FlowDocument,因为文档DocumentViewer没有那么有用,并且网上的资源实际上并不存在,我现在想问一下stackoverflow社区:

使WPF的Find-Function DocumentViewerFixedPage文档一起工作需要什么?

[顺便说一句,我不使用自定义ControlTemplatesDocumentViewer]

wpf xaml documentviewer fixedpage xps

7
推荐指数
1
解决办法
6806
查看次数

你如何隐藏WPF DocumentViewer的菜单栏?

目前,我DocumentViewer在一个显示XPS文件的WPF窗口中.我创建了自己的"下一页"和"上一页"按钮,并将DocumentViewer.Background属性设置为完全透明.

DocumentViewer自己的控件剩下的就是顶部的菜单栏(显示缩放设置,打印等)和底部的"查找"栏.我很想删除(或隐藏)这两个栏,但我似乎无法弄清楚如何!?

此外,当文档加载时,默认为缩放级别,不会在屏幕上显示整个页面,我需要将其更改为一次显示1页(完全); 我确信有一种方法可以做到这一点但又一次,我还没有找到.

wpf xpsdocument documentviewer xps

6
推荐指数
2
解决办法
1万
查看次数

将DocumentViewer的语言设置为德语(来自代码,而不是XAML)

我正在尝试将DocumentViewer默认英语的语言更改为德语,但没有成功.

作为WPF的新手,我真的很难做到这一点.

重要信息: DocumentViewer在代码后面创建,响应菜单项单击,然后将其添加为主窗口Content.

我尝试过以下操作,但似乎什么也没做:

myDocumentViewer.Language = System.Windows.Markup.XmlLanguage.GetLanguage("de-DE");
Run Code Online (Sandbox Code Playgroud)

没有变化,DocumentViewer保持英语.

谷歌搜索正确使用该Language属性,我发现没有任何用处.

题:

如何将DocumentViewer(使用代码创建)的语言设置为德语?

c# wpf xaml documentviewer

6
推荐指数
1
解决办法
1040
查看次数

在DocumentViewer中禁用文本选择

简单的问题.如何在WPF中禁用DocumentViewer的文本选择?这是查看器显示XPS文档然后可以通过鼠标突出显示文本的功能.突出显示的文本也可以复制,但我已经禁用了它.我只是不知道如何禁用突出显示.

谢谢!

wpf documentviewer textselection

5
推荐指数
1
解决办法
3915
查看次数

Flash文档查看器

是否有基于Flash的文档查看器?我正在寻找类似于Scribd.com使用的iPaper的东西.

flash document documentviewer

5
推荐指数
2
解决办法
2万
查看次数

使用DocumentViewer控件渲染PDF?

是否可以使用DocumentViewer(它的WPF控件)呈现PDF?

如果有可能那么如何?代码示例或链接到一些代码示例将不胜感激.谢谢你的回答.

c# pdf wpf documentviewer

5
推荐指数
1
解决办法
3万
查看次数

在不同的UI线程中打印DocumentViewer的内容

在我的WPF应用程序中,我特别Window包含其中一个控件DocumentViewer.

打开并加载此窗口时,它会动态构建FixedDocument带有进度指示器的窗口,然后将其显示在DocumentViewer.它工作,并为了改善用户体验,我在自己的线程中运行此窗口,以便在构建文档时主应用程序窗口仍然响应.

基于此网页上的提示,我在一个新的线程中打开我的窗口,如下所示:

public void ShowDocumentViewerWindow(params object[] data) {
    var thread = new Thread(() => {
        var window = new MyDocumentViewerWindow(new MyObject(data));
        window.Closed += (s, a) => window.Dispatcher.InvokeShutdown();
        window.Show();
        System.Windows.Threading.Dispatcher.Run();
    });
    thread.SetApartmentState(ApartmentState.STA);
    thread.Start();
}
Run Code Online (Sandbox Code Playgroud)

到目前为止,我对这个设置很满意,但我刚遇到了一个问题.

MyDocumentViewerWindow 包含一个打印按钮,它引用内置的Print命令,以DocumentViewer为目标:

<Button Command="Print" CommandTarget="{Binding ElementName=MyDocumentViewer}">Print</Button>
Run Code Online (Sandbox Code Playgroud)

在我把窗口放在自己的线程之前,这很好用.但现在,当我点击它时,应用程序崩溃了.Visual Studio 2010将上面代码中的以下行突出显示为崩溃位置,并显示消息' 调用线程无法访问此对象,因为另一个线程拥有它.":

System.Windows.Threading.Dispatcher.Run();
Run Code Online (Sandbox Code Playgroud)

堆栈跟踪如下所示:

at System.Windows.Threading.Dispatcher.VerifyAccess()
at MS.Internal.Printing.Win32PrintDialog.ShowDialog()
at System.Windows.Controls.PrintDialog.ShowDialog()
at System.Printing.PrintQueue.GatherDataFromPrintDialog(PrintDialog printDialog, XpsDocumentWriter&amp;amp; writer, PrintTicket&amp;amp; partialTrustPrintTicket, PrintQueue&amp;amp; partialTrustPrintQueue, Double&amp;amp; width, Double&amp;amp; height, String jobDescription)
at …
Run Code Online (Sandbox Code Playgroud)

printing wpf multithreading printdialog documentviewer

5
推荐指数
1
解决办法
5101
查看次数

WPF DocumentViewer覆盖“打印”按钮

我已经使用自定义DocumentViewer(如下所示)在应用程序中实现了打印预览功能。我PrintDialog.ShowDialog()在显示预览之前先打电话给我,以便根据纸张方向正确创建文档。

但是,DocumentViewer的打印按钮会调用,PrintDialog.ShowDialog()提示用户再次选择打印机和选项(在打开预览窗口之前,他们已经这样做了)。

有没有一种方法可以让DocumentViewer打印按钮简单地打印而无需调用PrintDialog.ShowDialog()

这是我的方法调用:

ReportViewModel.cs

    public void PrintButtonClick(DataGrid dataGrid)
    {
        PrintDialog printDialog = new PrintDialog();
        if (printDialog.ShowDialog() == false)
            return;

        // Get page size based on print dialog printable area (orientation)
        Size pageSize = new Size(printDialog.PrintableAreaWidth, printDialog.PrintableAreaHeight);

        // create new paginator for datagrid
        DataGridDocumentPaginator paginator = new DataGridDocumentPaginator(dataGrid as DataGrid, "Employer Match Report", pageSize, new Thickness(30, 20, 30, 20));
        ...
    }
Run Code Online (Sandbox Code Playgroud)

我这样做是为了正确生成纵向或横向尺寸值的分页器。否则,基于所选的方向,DocumentViewer中的预览文档可能无法正确显示。

PrintDocumentViewer:DocumentViewer

   protected override void OnPrintCommand()
   {
       PrintDialog printDialog = new PrintDialog();
       printDialog.PrintQueue …
Run Code Online (Sandbox Code Playgroud)

c# printing wpf documentviewer

5
推荐指数
1
解决办法
3446
查看次数

在我的 HTML 页面上显示 PDF Blob 数据

嗨,我的页面上有 base64 编码的 blob 数据。它是pdf blob数据。如何转换此数据以显示为 PDF。

我已经尝试过 iFrame,嵌入对象的一切.. 它不工作。Blob 数据是巨大的。有没有任何观众可以让这个工作?此外,我应该能够在显示的 PDF 数据中选择文本。

pdf jquery blob documentviewer

5
推荐指数
1
解决办法
2456
查看次数

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

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

感谢您提供有关此类内容的任何建议或提示!

c# wpf documentviewer webbrowser-control print-preview

4
推荐指数
1
解决办法
5680
查看次数