【问题标题】:XPS viewer "the page cannot be displayed"XPS 查看器“页面无法显示”
【发布时间】:2012-12-18 11:36:02
【问题描述】:

我正在使用 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 似乎会发疯,知道吗?

【问题讨论】:

  • 只有一条评论。你有一个固定的文档,所以你有一个固定的大小?
  • 是的,我有一堆 A4 页面,但我发现了问题,我会写一个自动回复:)

标签: wpf xps documentviewer


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-13
    • 1970-01-01
    • 2017-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-15
    相关资源
    最近更新 更多