问题标签 [xps]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
7412 浏览

wpf - WPF DocumentViewer Find-function 和 FixedPage 文档

.Net 包含一个很好的控件,称为DocumentViewer. 它还提供了一个子控件,用于在加载的文档中查找文本(这至少是它应该做的)。

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

让 WPF 的 Find-FunctionDocumentViewer处理FixedPage文档需要什么?

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

0 投票
3 回答
3716 浏览

.net - XPS 与 Windows 窗体

在 Windows 窗体应用程序中显示打印XPS 文件的最佳方式是什么?

0 投票
5 回答
5514 浏览

.net - 在 .Net 中打开 XPS 文档会导致内存泄漏

以下代码片段说明了打开 XPS 文件时的内存泄漏。如果你运行它并观察任务管理器,它会增长并且在应用程序退出之前不会释放内存。

'****** 控制台应用程序开始。

'****** 控制台应用程序结束。

它循环一千次的原因是因为我的代码处理了大量文件并快速泄漏内存,从而导致 OutOfMemoryException。强制垃圾收集不起作用(我怀疑它是 XPS 内部的一块非托管内存)。

该代码最初位于另一个线程和类中,但已简化为此。

非常感谢任何帮助。

瑞安

0 投票
9 回答
86416 浏览

windows - 如何打印 XPS 文件?

我的打印机用完了黑色碳粉,而且我没有备用碳粉,所以我认为现在最好将文档“打印”为 .XPS 文件,然后在新碳粉到货时打印它们。

所以,现在我有了碳粉,但我不知道如何打印文件。我在 Tim Barcz 的博客上发现了这篇很棒的帖子,这似乎表明我并不孤单。

我可以打开它们并在 IE 中查看它们,但如果我尝试打印它们,它要么完全忽略命令,要么崩溃。

我从 Microsoft 网站下载了 XPS Essentials Pack 并尝试安装它,但它拒绝安装并不断崩溃并显示十页错误消息。具有讽刺意味的是,我通常会打印此消息来处理它。

我的“解决方案”是在 IE 中打开 .XPS 文件,然后将它们截屏并粘贴到 Paint Shop Pro 中,这样我就可以将它们打印为图形。

正如 Tim Barcz 在他的帖子中所说,我链接到:

就是这样……简单。我不明白为什么人们如此害怕接受新技术?

0 投票
4 回答
2171 浏览

.net - 如何找到我的 .Net 应用程序泄漏 Windows 句柄的位置?

我有一个 WinForms .Net 应用程序,它可以运行大量 XPS 文档(数千个),在此运行期间,每个文档的句柄数量(根据 sysinternals 进程监视器和任务管理器)增加了 3-10 个。我严重怀疑这些是由 MS .Net XPS 框架库打开而不是关闭的句柄,但我无法追踪它。

尽管单步执行代码,但在同一运行期间,句柄计数在不同点会增加。例如,一次通过循环,句柄计数将在一行上跳 1,下一次可能不会跳,或者它可能跳 2。所以我怀疑 XPS com 组件有句柄泄漏。

虽然内存使用很好,但如果我一直像这样耗尽句柄,那么我会崩溃应用程序,也许是桌面。

到目前为止,我已经尝试过 sysinternals 进程资源管理器来查看句柄,但它们都被标记为没有更多细节。还使用了来自 sysinternals 的 handle.exe,这并没有显示快照之前、期间和之后的任何显着差异。

关于如何追踪把手的去向的任何线索?我想我将不得不简化为一个单线程控制台应用程序来测试。

问候

瑞安

0 投票
8 回答
29752 浏览

c# - C#中的点阵打印?

我正在尝试使用 C# 打印到点阵打印机(各种型号),目前我正在使用 Win32 API(您可以在网上找到很多示例)调用从我的 C# 应用程序中将转义码直接发送到打印机。这很好用,但是...

我的问题是因为我正在生成转义码并且不依赖于 Windows 打印系统,因此无法将打印输出发送到任何“普通”打印机或 PDF 打印驱动程序之类的东西。(这现在导致了一个问题,因为我们正在尝试使用 Easy Print [基于 XPS] 在 2008 终端服务器上使用该应用程序)

问题是:如何在不使用直接打印、转义码等的情况下使用 C# 将格式化的文档(预先打印的文具上的发票)打印到点阵打印机(Epson、Oki 和 Panasonic ......各种型号)。

**澄清一下,我正在尝试 GDI+ (System.Drawing.Printing) 之类的东西,但问题是很难像旧代码那样让事情排成一行。(旧代码绕过 Windows 驱动程序将字符直接发送到打印机。)有什么建议可以改进,以便他们可以使用 GDI+,但仍然像旧代码一样排列?

0 投票
6 回答
11165 浏览

.net - WPF DocumentViewer 不发布 XPS 文件

我正在开发一个打开并显示 XPS 文档的 WPF 应用程序。当应用程序关闭时,规范是应用程序应删除打开的 XPS 文档以进行清理。但是,当打开某个 XPS 文档时,应用程序会在尝试删除该文件时抛出该文件仍在使用中的异常。这有点奇怪,因为它仅在打开特定的 XPS 文档时发生,并且仅在您超出第一页时才会发生。

我使用的一些代码如下所示:

打开 XPS 文档:

导航 XPS 文档:

关闭 DocumentViewer 对象并删除文件:

这一切都非常基本,并且可以与我们测试的其他文档一起使用。但是对于特定的 XPS 文档,会弹出一个异常,指出要删除的文件仍在使用中。

我的代码有什么问题或遗漏吗?

谢谢!

0 投票
1 回答
729 浏览

wcf - 如何在 WCF 服务中创建 XPS 文档进行存储和返回?

我有一个 WCF 服务作为中间层,在某些情况下,我需要创建一个可打印的文档,将其存储在数据库中以供将来参考,然后将其返回给客户端。

作为文件格式,我的第一选择是 XPS,所以我想在 WCF 服务中创建一个 XPS 文档,存储它,然后返回它。

有没有一种简单的方法来实现这一点,或者其他一些明显的方法来解决我错过的问题(在 WCF 中存储和返回可打印文档)?

0 投票
3 回答
50008 浏览

c# - 如何创建 XPS 文档?

我想创建一个用于存储和打印的 XPS 文档。

在我的程序中创建 XPS 文档(例如,使用带有一些数据的简单网格)并传递它的最简单方法是什么?

0 投票
0 回答
3614 浏览

xaml - Xaml FlowDocument 表 - 如何在多页表的每个页面上获取标题?

我有一个 XAML FlowDocument,其中包含一个包含很多行、跨越多个页面的表,并且我正在将此 FlowDocument 转换为 XPS。

现在我正在寻找一种在每一页上重复表格标题的方法。

我看到两种可能的方法:

  1. 让表格自动打印每页上的标题。

  2. 以某种方式通过程序找出页面可以容纳多少行,在那里停止表格,在下一页开始一个具有相同内容和标题的新表格。

到目前为止,我对这两种方法都没有运气。也许有人知道如何对 FlowDocument 表进行分页?