【问题标题】:Silverlight 4 Printing: Getting a Blank PageSilverlight 4 打印:获得空白页
【发布时间】:2010-10-21 13:58:41
【问题描述】:

尝试在 SL4 中实现简单的打印。我有一个要打印的 DataGrid,但到目前为止,我尝试打印的任何内容都会在打印机中显示为空白页。实际打印出来似乎也需要大约 30-60 秒(但这可能是一个不相关的问题)。

我的代码相当简单:

private void MenuPrint_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            PrintDocument document = new PrintDocument();
            document.PrintPage += (s, args) =>
                {
                    args.PageVisual = this.MainDataGrid;
                    // args.PageVisual = this.LayoutRoot;
                };

            // Print
            document.Print("Test Print Job");
        }

我什至想知道是不是因为物品太大了?

MainDataGrid 控件的 XAML 也相当简单:

<sdk:DataGrid Grid.Row="3" AutoGenerateColumns="True" Name="MainDataGrid" FontSize="10" Visibility="Visible" />

【问题讨论】:

    标签: silverlight printing datagrid silverlight-4.0


    【解决方案1】:

    您的示例和MSDN 之间的唯一区别是您对PrintPage 事件处理程序使用了匿名方法。您是否尝试过处理EndPrint 事件来检查错误?

    【讨论】:

    • 我查看了 EndPrint 函数,args.Error 项似乎为空。我的应用程序在尝试打印时似乎锁定/冻结了大约 60 秒,并且它向打印机发送了一个项目(它在打印监视器中显示假脱机),然后它实际上打印出一个空白页。
    • 如果我尝试调试分配的 args 的一些属性,我也有以下情况:args.PrintableArea.IsEmpty: False args.PrintableArea.Height: 1024 args.PrintableArea.Width: 784 args。 PageVisual.Visibility: Visible 应用程序在尝试打印时冻结 60 秒(我认为这个异步调用真的是异步的?)也令人担忧。
    【解决方案2】:

    原来这是与 PC 相关的问题,毕竟不是代码问题。无论出于何种原因,相同的代码今天开始工作(在机器重新启动后)。

    仍然存在问题的一件事是,Silverlight 界面在打印时确实会挂起大约 30-60 秒,但它最终会释放并打印。/

    【讨论】:

    • 我想我可以。只是不确定为什么我的打印作业需要 30-60 秒,而我从这台 PC 打印的任何其他内容大约需要 1 秒。我没有做任何花哨的事情,只是调用 PrintDocument.Print 方法。
    • 打印 Silverlight 将代表整个页面的位图发送到打印机 - 大量数据。 Silverlight 5 将改变这一点,但只有在使用正确的 PostScript 驱动程序时。
    【解决方案3】:

    在某些打印机上发送大量数据时,Silverlight 4 打印出现问题,我还没有看到对此问题的良好解释,但这里有一些解决此问题的链接。

    http://forums.silverlight.net/t/219707.aspx/1?Silverlight+4+batch+printing+print+blank+pages+in+xp+Windows+2003+server+

    http://forums.silverlight.net/t/206048.aspx/1?PrintDocument+sends+extreme+amounts+of+data+to+printer

    【讨论】:

      猜你喜欢
      • 2016-01-14
      • 2015-05-18
      • 1970-01-01
      • 2018-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-27
      • 1970-01-01
      相关资源
      最近更新 更多