C# 简单票据功能打印如何实现

我想在一张纸质支付凭证模板上面对应的地方打印上相应的数据,请问如何实现。如果用Graphics或 简单做个panel的话 如何确定打印数据的位置。或者还有更好的办法。

2个回答

  /// <summary>
    /// 小票打印
    /// </summary>
    public class PosPrint
    {
        private System.Windows.Forms.PrintPreviewDialog printv_pos = null;
        private System.Drawing.Printing.PrintDocument printd_pos = null;
        public static string strContent = string.Empty;
        private string printContent = string.Empty;

        public PosPrint(string printContent)
        {
            this.printv_pos = new System.Windows.Forms.PrintPreviewDialog();
            this.printd_pos = new System.Drawing.Printing.PrintDocument();
            this.printv_pos.AutoScrollMargin = new System.Drawing.Size(0, 0);
            this.printv_pos.AutoScrollMinSize = new System.Drawing.Size(0, 0);
            this.printv_pos.ClientSize = new System.Drawing.Size(500, 200);
            this.printv_pos.Document = this.printd_pos;
            this.printv_pos.Enabled = true;
            this.printv_pos.Name = "printPreviewDialog1";
            this.printv_pos.Visible = false;
            this.printd_pos.DocumentName = "社区活动积分小票";
            this.printd_pos.OriginAtMargins = true;
            this.printd_pos.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(this.printd_pos_PrintPage);

            this.printContent = printContent;
        }

        private int getYc(double cm)
        {
            return (int)(cm / 25.4) * 100;
        }

        public void print_view(IWin32Window win,int x,int y)
        {

            this.printd_pos.PrintController = new System.Drawing.Printing.StandardPrintController();
            this.printd_pos.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(printd_pos_PrintPage);

            //设置边距
            Margins margins = new Margins(45, 20, 50, 20);
            this.printd_pos.DefaultPageSettings.Margins = margins;
            this.printd_pos.DefaultPageSettings.PaperSize = new System.Drawing.Printing.PaperSize("First custom size", getYc(x), y);
            //printv_pos.PrintPreviewControl.AutoZoom = false;
            //printv_pos.PrintPreviewControl.Zoom = 1;
            //this.printv_pos.ShowDialog(win);
            try
            {
                printd_pos.Print();
            }
            catch
            {
                printd_pos.PrintController.OnEndPrint(printd_pos, new PrintEventArgs());
            }
        }
        /// <summary>
        /// 打印内容
        /// </summary>
        public string GetPrintStr(string printContent)
        {
            StringBuilder sb = new StringBuilder();
            sb.Append(CommonClass.config.PrintHeader + "\n");
            sb.Append("日  期:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "\n");
            sb.Append("==============================\n");
            sb.Append(printContent);
            sb.Append("------------------------------\n");
            sb.Append("操作员:" + CommonClass.loginEntity.O_OperatorName + "\n");
            string myfoot = string.Format("{0}     \n", CommonClass.config.PrintFoot);
            sb.Append(myfoot);
            sb.Append("\r\n小勇软件工作室提供技术支持");
            return sb.ToString();
        }
        private void printd_pos_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
        {
            Graphics g = e.Graphics;
            string strFile = GetPrintStr(this.printContent);
            Font ft = new Font("宋体", 9.0F, FontStyle.Regular);
            Point pt = new Point(0, 0);
            g.DrawString(strFile, ft, new SolidBrush(Color.Black), pt);
        }
    }
kawun
kawun 谢谢,辛苦了
2 年多之前 回复

利用table布局进行打印 可以内嵌js

kawun
kawun 就是简单的c/s程序 不是b/s
大约 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
如何实现票据功能
大概就像票据上,一列列显示出商品信息,如单价、数量等,要求,每增加一个商品列,能自动在下面多出一行TextBox控件(或其它控件)rnrn应该如何在.net下实现?rnrn请高手提供思路,谢谢
请问如何实现票据的打印?
打印的效果就像银行打出的单据一样,该如何实现呢?非常感谢!
如何实现票据的定点打印?
我是个PB新手,最近公司接一个项目.rn其中有许多地方要求在已有的空票据上填上数据.rn比如就象电脑开发票一样,在标准票据上打印.rn请高手帮忙,指出思路,欢迎源码!
如何实现简单的打印功能?
我在程序中需要将一些基本地数据用打印机打印出来rn比如 用户姓名: 张rn 用户消费: 3000.00rn ...rn就一些简单的数据 rnrn不知道怎么实现rn谢谢
c#调用excel实现票据连续打印
c#调用excel实现凭证连续打印,怎么实现啊
如何打印票据
各位我现在在写一个打印收据的东西,就像电信或银行里的的收据打印,要求打印出去的每一个字都能够准确的落在原来的表格之内(打印的纸张上已经有现成的表格,只要在规定的地方在打上字就可以了)rn怎么做那?
c#实现打印功能
c#实现打印功能,还可以打印预览.打印窗体中显示的内容
C#实现打印功能
我在窗体里拖了datagridview,几个按钮,分别连接数据库的对应的表,每张表都能实现插入和查询操作.现在要实现对当前表的打印,比如说,我点了雇员按钮,datagridview出现雇员表,然后要把这张表打印出来.高手们帮帮忙,偶是新手,又没分~~~行行好啊!
C# 连接打印机打印票据
最近在做项目中用到了打印机,需要把排队信息打印出来,让别人帮我看了下,所以记录下来,方便以后学习 先新建一个 CustomPrint  类库里面放打印机的一些操作  :  在类库下面新建一个PrintRow类 用来设置打印样式 using System; using System.Collections.Generic; using System.Drawing; usin
VB脚本如何实现打印票据?
如何将页面上表格内的几个数据打印到纸张上的固定表格内?(就像银行打出的单据一样)?谢谢!
如何实现客户端ie中打印票据?
目前系统要求是这样的,用asp实现系统的浏览数据,编辑,增加,但是打印票据,ie的打印不行,只好作activex组件,但是这就有个问题了,如何实现activex操作当前数据库记录,希望大家帮忙解决!
请问WEB程序如何实现打印票据?
比如发票,收据等。rn
打印票据。
我是用爱普生的LQ-300K打印连续的票据的,想用Fastreport控制打印,但是我的票据大小与一般的纸张不同,在打印机属性里面找不到自定义纸张?rn我应该怎么办呢?
c#,.net中如何实现票据(如支票)打印
用C#语言如何实现票据(如支票打印),比如如何设置票据的格式,如何选择性的打印内容(只打印票据框输入内容而不是将表格,标题也打印出来),有没有做过的,讲讲思路或简单示例!
打印票据
请问如何实现web下的票据打印,即有一张格式印好的票据,只想动态的把日期、产品信息等打印在票据上印好的表格内?
java实现打印票据问题
高手请教,rn我要用(java)实现打印功能,具体功能就象银行打印存取款单那样,打印机自动在表单的固定位置填写数据。如果要实现此操作,要注意些什么???
如何实现打印功能
如何实现查询结果的打印功能?多谢!!!
如何实现打印功能?
我的一个application中我加入了打印的菜单,请问在java中如何实现打印的功能。
如何实现打印功能?
老板让做个程序,能把数据库里的东西打印出来rn要求:rn当行数多的时候,要分成多页rn可以设置左边距,上边距rn能够打印照片rnrn请问,什么控制或者哪中方法完成这样的功能比较好呢?rn知道的朋友请告诉一声,谢谢!
C#如何实现Windows自带打印功能
接着上回说,在使用打印机自带的SDK开发失利只后,经过一系列的实验,发现,这个打印机可以直接用我安装好的驱动直接进行打印操作,用word直接调整好字体之后打印是完全没有问题的,所以,推测,应该可以直接调用人家封装好的一些驱动进行打印,但是要怎么连接这些驱动呢? 一、打印控件         首先我们要提到的就是在C#中的一个关于打印的控件了,叫:PrintDocument,说他
asp.net(c#)如何实现报表打印功能?
请详细说明,谢谢!
c#中如何实现打印功能???
各位大虾:rn  我是菜鸟,不知c#中如何实现打印预览及打印功能(详细些,附些源代码),rnThang you !
如何实现打印功能??
我想吧CListCtrl控件中的内容打印出来如何实现!!
如何实现打印功能!
我想在页面上 按下“打印” 就能把一张表格以及里面的类容通过打印机打印出来~~rn 请给个详细的方案rn 谢谢
如何实现打印的功能?
如何在自己的windows程序中调用dos命令,我要实现的是dos命令下的打印功能,因为我的打印机只支持dos的打印,我的程序是用Vc6做的windows程序,怎么办,请各位帮帮我?rn
c#如何实现选页打印功能
我在看《c#入门》时候,书上只讲了选定范围打印功能,我想实现选页打印功能,把TextBox分页,然后在PrintDialog对话框中输入页数的范围如(1-2页)进行打印,我加了if(dlgprint.PrinterSettings.PrintPage==PrintPage.SomePage) 设置FromPage,和ToPage,接下来如何实现呢?还需要添加什么代码?麻烦c#前辈指点一下啊,最好附详细的代码,小弟刚学,还望多多指教啊!rn请不要粘贴网上的代码,麻烦解释的详细些。
C#如何实现报表打印功能?
C#如何实现报表打印功能?
PB实现简单的打印功能
PB实现简单的打印功能,适合初学者
实现简单的页面打印功能
闲着没事做了个页面打印的功能,新增一个print.aspx页面,页面内容如下:   1&amp;lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; &amp;gt; 2&amp;lt;head runat=&quot;server&quot;&amp;gt; 3    &amp;lt;title&amp;gt;&amp;lt;/title&amp;gt; 4    &amp;lt;base target=&quot;_self&quot; /&am
在.net中如何打印票据
我现在要在web中实现按票据格式的打印,请教各位高手,应该如何实现
如何打印票据(已有格式)
普通的打印就是,自己做好DW:画好线,题头等,直接查出数据打印就可rnrn另种打印就是纸张都是标准的,上面已经有了很多表格(如:财务票据等)rn这些都是去专业店买的,并非普通A4纸,这怎么打。我如何才能将数据填rn入纸张的相应格子中。rnrnrnrn难道是先设计好一抹一样的DW,在打印时再将其所有线条都隐藏?rn
在C#中实现打印功能
在C#中实现打印功能
实现 c# richtextbox 打印功能
成功窗体也传上了,可以查看! 代码 可以通过窗体查看,不会的,我也只能说SB!
相关热词 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法