3

我正在使用 WPF 创建自定义报告。我正在将 DocumentViewer 与 FixedDocument 一起使用,并且显然一切正常,我正在创建的文档在屏幕上可见,并且它也可以在打印机上运行。但是,如果我尝试使用Microsoft XPS Document Writer虚拟打印机进行打印,并使用 XPS 文档接收器打开创建的文件,则会收到“无法显示页面”错误: 在此处输入图像描述

我在项目历史记录中做了一些回滚,显然当文档从单页传递到多页时会发生错误。作为另一个提示:文档包含图像和字体作为嵌入资源。不知道这是否会改变行为。

编辑 我发现导致问题的代码:

<Style TargetType="FixedPage">
                <Setter Property="Width" Value="1122.24"/>
                <Setter Property="Height" Value="793"/>
            </Style>

这些是横向 A4 的尺寸。如果我指定的尺寸与默认尺寸不同,xps viever 似乎会发疯,知道吗?

4

1 回答 1

2

我自己想通了。由于某些原因,我无法理解是否将页面大小设置为样式表单资源,它适用于打印机和 DocumentViewer,但在导出 xps 时会失败。为了解决这个问题,我只是在每页中指定了大小:

<FixedPage Height="816" Width="1056" >

这有点傻,因为我事先知道每页有多大,所以拥有基于类型的样式对我来说似乎是个好主意,但它没有用。

于 2012-12-18T16:08:52.753 回答