问题标签 [xpsdocument]

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 投票
0 回答
404 浏览

c# - 读取 XPS 文档不起作用

在尝试从 XPS 文档中读取文本时,我一直在关注这个答案。

我有以下代码:

问题fixedDocSeqReader是空的。

我尝试使用它:

seq也是空的。

有任何想法吗?

0 投票
2 回答
534 浏览

vb.net - XpsDocument.FixedDocumentSequenceReader 什么都不是

好的,所以我无法弄清楚这一点。我使用 Word 2013 在 Win 8 中创建了一个快速单词 .docx。3-4 行文本,使用 Microsoft XPS Document Writer v4 打印。它创建了一个 .oxps。我将其更改为 .zip,浏览页面并阅读 FixedDocumentSequence.fdseq、FixedDocument.fdoc 和生成的一个 1.fpage,以确保 xaml 是干净的。我还阅读了页面上的字形,看看“UnicodeString”是否也在那里。

这是我的控制台应用程序代码...

我在阅读器处设置断点并调试代码。对象“myXPS”很好 ,但它没有 FixedDocumentSequenceReader。当查看本地人时,它会说“什么都没有”

我有我应该的所有参考资料,并且正在导入:

发生这种情况有什么原因吗?

我有 VS 2013 Ultimate。

0 投票
0 回答
90 浏览

c# - 使用 FlowDirection.RightToLeft 将视觉对象写入 XPS 文档时,文本显示为反转

我正在FrameworkElement使用 custom 将 WPF 写入 XPS 文档DocumentPaginator,它将元素分解为DocumentPage实例。该代码已经完美地适用于英语和其他语言。

为了支持从右到左的语言,我FlowDirection将元素的属性设置为RightToLeft. 屏幕上的结果看起来不错;控件向右对齐,文本按顺序显示。但是,当我将元素写入 XPS 文档时,文本出现反转(包括英文)。控件仍然正确对齐。

FrameworkElement将with写入FlowDirection.RightToLeftXPS 文档以使 RTL 文本正确显示的正确方法是什么?

我正在使用 .NET 4 和 VS 2010。

0 投票
0 回答
91 浏览

wpf - 合并 XpsDocument 以进行打印

我有一个处理打印功能的 wpf 应用程序,用于将多个 xps 文档合并为单个文档。工作时触发错误为“无法在只写模式下执行读取操作”。

我从内存流中加载数据

并且我使用了合并参考

然后我用这个代码打印

请给我一个解决方案

0 投票
0 回答
112 浏览

xps - 解压缩并再次压缩 XPS 文件被查看器视为无效

我所做的步骤如下:

  1. 创建 .doc 文件,填充一些内容。
  2. 将 .doc 打印到 .xps
  3. 通过 7zip 解压缩 .xps “没有改变任何东西”
  4. 通过 7zip 再次压缩
  5. 在通过 XPS Viewer EP (XpsRchVw.exe) 打开期间出现错误“...该文档可能不是有效的 XPS 文档”

任何线索是什么原因?

0 投票
1 回答
1185 浏览

c# - XpsDocument 忽略我的高度设置

当我尝试在 XPS 文档上声明 PageHeight 时遇到问题。

到目前为止,我的代码如下所示:

问题是我声明的 PageSize Height 为 1122,这是我从这段代码中得到的:

但是当我查看房产时

我可以看到高度是1056,这个高度恰好是 NorthAmericanLetter 页面格式高度的高度,我已经指定了一个带有显式 PageMediaSize 的特定 printTicket 还有什么问题?

编辑:

这是我编辑的代码,但这给出了相同的结果:

我查看了使用第一个 using 块创建的文件,我仍然可以看到页面的高度为 1056,即 1.fpage 文件的输出:

编辑2:

找到了解决我的问题的方法。在我的 DocumentPaginator 中,我必须重写 GetPage 方法并在那里返回一个新的 DocumentPage(visual),这个构造函数有一个重载,只有当我在那里设置 PageSize 时才能正确设置 PageSize。

http://msdn.microsoft.com/en-us/library/system.windows.documents.documentpage(v=vs.110).aspx http://msdn.microsoft.com/en-us/library/ms597306( v=vs.110).aspx

我之前的代码:

现在使用第二个构造函数:

0 投票
0 回答
110 浏览

c# - 如何防止 XPSDocumentWriter 光栅化我的 VisualBrush?

我使用以下代码从 FixedDocument 创建 XPS 文档。

它工作得很好,除了在我有一个填充了平铺图案的填充路径的情况下,它偶尔会对其进行光栅化并创建一个 ImageBrush 而不是沿着 VisualBrush 传递。可悲的是,它生成的图像是 VisualBrush 的糟糕表现。它的分辨率是可怕的,更令人抓狂的是,它甚至没有填满原来的路径!

我已经进行了大量的挖掘,但找不到阻止光栅化的设置。

有什么建议么?

0 投票
2 回答
203 浏览

wpf - WPF find all regex matches in a xps document

I need to search an expression inside a xps document then list all matches (with the page number of each match).

I searched in google, but no reference or sample found which addresses this issue .

SO: How can I search a xps document and get this information?

0 投票
2 回答
369 浏览

c# - 如果数据“太多”,则无法将 wpf 视图正确导出到 xps

问题


因此,我正在构建我的应用程序,以便可以将其视图导出到 Xps 文档中。该应用程序实际上只是ItemsControl一个UserControl.

它工作正常,直到我向 中添加更多数据ItemsControl,导出的文件只是显示一个“未完成”的加载视图。

这是我的导出到 xps 代码:

截图


1. 小数据屏幕截图 下面的屏幕截图显示,如果数据很小,那么它会正确导出到 xps 中:

在此处输入图像描述

2. UNEXPECTED LARGE DATA SCREENSHOT 下面的截图显示,如果数据是“大”,那么它被错误地导出到 xps :

在此处输入图像描述

3. EXPECTED LARGE DATA SCREENSHOOT(导出前) 这是“大”数据的预期输出(从应用程序截取的屏幕截图,预导出,因为导出无法正确运行)

在此处输入图像描述

附加细节


  1. 实际上,即使它只是应用程序中的普通“加载”,屏幕上显示的第一件事是屏幕截图#2,然后显示#3。这就是为什么我猜这是加载的问题。
  2. 我检查了加载方法(每个类为 1),即:清除视图模型数据,然后将模型重新分配到它的视图模型中。并且它被呼叫的号码是正确的,因此,没有重复呼叫。
  3. 如果您需要自己查看,那么我提供了意外和预期输入和输出文件的下载链接,以及此处的 .exe 。
  4. 为什么我引用“太多”或“很多”?因为我觉得太多了。
  5. 没有异步方法。
  6. 如果需要,您可以请求实际的 C# 项目。
  7. 页面排列是由用户手动完成的(在最后一个页面之后添加或删除新页面),这由一个有点类似于 PageVM 的集合来处理。
  8. 不需要完整的 MVVM 方法。

我预测解决方案会是什么样子


也许解决方案会在某种程度上延迟导出过程以等待加载完成(即使它们实际上都是同步过程,在这个项目中没有异步)

PS如果你需要完整的源代码,我很乐意在私人房间里分享给你。

谢谢你。

0 投票
0 回答
568 浏览

.net - 在 .NET 中访问 oxps (OpenXPS) 文档

WPF 必须System.Windows.Xps.Packaging.XpsDocument访问一个简单的.XPS文件。

是否存在任何等效的OXPS修改?

我尝试.oxps使用打开文件XpsDocument,它不起作用。