我正在使用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似乎发疯了,知道吗?
最佳答案
我想通了自己。
由于某些原因,我无法理解是否将页面大小设置为样式表单资源,它可以在打印机和DocumentViewer上运行,但是在导出xps时失败。
为了解决这个问题,我只在每页中指定了大小:
<FixedPage Height="816" Width="1056" >
这有点愚蠢,因为我事先知道每页有多大,所以对我来说,基于类型的样式似乎是个好主意,但它没有用。
关于wpf - XPS查看器“页面无法显示”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13932084/