RDLC不预览打印——超市小票
来源:互联网 发布:qq自动回复软件 编辑:程序博客网 时间:2024/06/11 17:02
RDLC不预览打印——超市小票
当然,写到这,肯定是能打印了
如果要做到超市小票的打印有以下几个问题:
1.小票需要在后台打印
2.小票没有分页,或者说,小票的长度是0,或者是无限长
后台打印就要用到微软的那篇文章了,http://msdn.microsoft.com/zh-cn/library/ms252172(VS.80).aspx#Y120
这篇文章好是好,并且在网上很多版本,但是这段代码是有问题的
private
void
PrintPage(
object
sender, PrintPageEventArgs ev)
{
Metafile pageImage =
new
Metafile(m_streams[m_currentPageIndex]);
<span style=
"color: #ff0000;"
> ev.Graphics.DrawImage(pageImage, 0, 0);</span>
m_currentPageIndex++;
ev.HasMorePages = (m_currentPageIndex < m_streams.Count);
}
这段代码,注意红色那句,通过PrintPageEventArgs 把通过stream生成的PageImage画出来的一步,(PrintPageEventArgs 的属性是对应的所设置打印机的属性,例如:设定A4纸,则PageBounds就是A4纸的大小)
<span style=
"color: #ff0000;"
> ev.Graphics.DrawImage(pageImage, 0, 0);</span>
这句话的原型应该是
public void DrawImage(Image image, x, y)
在0,0位置把pageImage输出出来,可事实上根本不行,并且输出的字体大小,格式都很糟糕,无法控制。
后来看这段代码的VB代码里面却是
ev.Graphics.DrawImage(pageImage, ev.PageBounds)
我也依葫芦画瓢的换成了ev.PageBounds(是PageBounds不是MarginBounds否则又要出问题)效果很好,并且把报表应该有的样式输出来了,解决了上面提到的问题1.
同时通过页面设置把 Margins都设置成零,问题2也能解决了。
还有一个问题就是打印的时候,会弹出一个框,提示”正在打印“,这个问题
StandardPrintController spc=new StandardPrintController(); pdoc.PrintController=spc;
通过上面的代码就能去掉(StandardPrintController指定一个打印控制器,它向打印机发送信息。)
还是非常感谢这个文章的内容。
下面这篇则是比较全,并且在 ev.Graphics.DrawImage(pageImage, 0, 0);做了修改
至此,应该就能打印出一个漂亮的报表了,并且速度还行。
演练:在不预览的情况下打印本地报表
http://msdn.microsoft.com/zh-cn/library/ms252091(v=VS.90)#Y720
- RDLC不预览打印——超市小票
- 不预览直接打印 Microsoft RDLC报表
- reportViewer(RDLC)不预览,直接打印
- rdlc报表预览打印
- 在不预览的情况下打印RDLC报表
- [转]在不预览的情况下打印RDLC报表
- Android—超市花园项目效果预览(商业项目)
- MVC+RDLC报表+PrintPreviewDialog(winform控件)打印、打印预览?!
- 超市小票
- lodop打印,仿超市小票,银行排队小票,超好用-jatoolsprinter
- RDLC打印
- 超市小票改进版本
- 超市购物小票案例
- VC操作Excel——打印预览
- VC操作Excel——打印预览
- Flex实践——Datagrid的打印预览与打印
- Flex实践——Datagrid的打印预览与打印
- WEB应用程序,不预览,直接打印
- windows 服务
- ubuntu环境下libxml2的测试
- Node.js 体验 — 当 Node.js 邂逅 Windows Azure
- MDCC讲师访谈:热酷CEO刘勇谈移动淘金法门
- taskkill 终止进程的简单实现(源代码)
- RDLC不预览打印——超市小票
- oracle 自然连接,内连接,外链接,全连接,自连接
- STRING.EQUALS()和STRING.EQUALSIGNORECASE()的区别
- ISO/IEC 14443协议浅谈—TYPE A 与 TYPE B 之比较
- 7bit编码解码---未测试
- adb过时问题,应用部署不到模拟器上 与豌豆夹冲突
- 如何删除 SQL Server 表中的重复行(2)
- 一条sql统计一个班级的男女人数
- Mongodb matlab Driver 使用简介