And*_*inn 12 printing silverlight silverlight-5.0
我有一个Silverlight 5 OOB应用程序(具有提升权限),它刚刚部署到我们的许多用户.其中一些用户报告打印件空白或非常微弱.这些打印机可以正确打印Word文档,我无法在自己的打印机上重现该问题.
所有用户都使用Windows XP SP3 32位,我正在开发Win7 64位.
谁以前见过这个问题?或者任何想法可能导致这个?
非常感谢.
非常感谢,安德鲁
我应该得到解决方案,可能对您有用..............................
首先,我创建了一个新的 PrintDocument,并为其 PrintPage 事件连接了一些处理程序。
mobjPrintDocument = New PrintDocument
RemoveHandler mobjPrintDocument.PrintPage, AddressOf Print_Report
AddHandler mobjPrintDocument.PrintPage, AddressOf Print_Report
Run Code Online (Sandbox Code Playgroud)
然后我们可以在任何需要打印的时候调用 PrintDocument 上的 PrintBitmap 函数。当用户单击“打印”按钮时,我会执行此操作。
Private Sub xbtnPrint_Click(sender As System.Object, e As System.Windows.RoutedEventArgs)
mintPageIndex = 0
mobjPrintDocument.PrintBitmap(FileName)
End Sub
Run Code Online (Sandbox Code Playgroud)
现在到了重要的部分。我们可以通过挂钩 PrintPage 事件来劫持目标内容(如上所述)。我可以将 e.PageVisual 设置为任何可视 xaml 元素,PrintBitmap 将处理它。在这里,我使用 GetPages 函数并循环以确保打印每个页面(pdfviewer 元素)。但是,您可以将其指向任何视觉元素,就像我所说的那样。
Private Sub Print_Report(sender As System.Object, e As PrintPageEventArgs)
e.PageVisual = xobjReportViewer.GetPages(mintPageIndex)
mintPageIndex += 1
e.HasMorePages = mintPageIndex < xobjReportViewer.GetPages.Count
End Sub
Run Code Online (Sandbox Code Playgroud)
e.HasMorePages 允许您强制触发此事件,直到完成为止。
希望这对某人有帮助。对于 Silverlight 5 和 Post-Script 打印机支持,许多具有 PostScript 模拟器的打印机可能不兼容,但也不会默认进行位图打印。此解决方法解决了这个问题,使 LOB 类型应用程序中的打印更加稳定。
| 归档时间: |
|
| 查看次数: |
1309 次 |
| 最近记录: |