我使用Silverlight开发了应用程序,现在我需要实现打印,我使用了PrintDocument类,它看起来像这样:
PrintDocument printDocument = new PrintDocument();
printDocument.PrintPage += new EventHandler<PrintPageEventArgs>(printDocument_PrintPage);
printDocument.Print("My docuement");
Run Code Online (Sandbox Code Playgroud)
但我遇到了问题 - 如果有20-30页需要花费很多时间,如果我打开打印机的队列,则表明10页打印的打印尺寸大约为1.2GB.我试图打印画布(800*1000)只有一个文本块,文本像"测试打印".
我正在使用Silverlight 5.
有人遇到过这样的问题吗?有什么办法可以避免吗?
我的猜测是要打印的内容是作为位图而不是更有效的矢量格式发送的.
这可能是由于司机造成的.如果打印机的驱动程序无法将Silverlight图形转换为矢量,它所能做的就是将其打印为位图.
我试图强制Silverlight使用向量,但我的打印机不支持PostScript.所以我切换到打印机,突然它只是千字节.
我只看到两种避免位图打印的方法:
获取PostScript打印机或
在服务器上创建一个打印机友好文档(PDF,Word,文本),允许客户端手动下载和打印.
| 归档时间: |
|
| 查看次数: |
1718 次 |
| 最近记录: |