打印

  private void Control_Click(object s,EventArgs e)
{
if (((Control)s).Name == "button1")
{
if(textBox1.Text!="")
{
XmlDocument xldoc = new XmlDocument();
xldoc.Load("D:\\Learn\\C#训练\\LikeIFace\\LikeIFace\\IPconfig.xml");
xmld.SelectNodes("ZJY").Item().SelectNodes("IP").Item().InnerText = textBox1.Text;
xmld.Save("D:\\Learn\\C#训练\\LikeIFace\\LikeIFace\\IPconfig.xml");
textBox2.Text = textBox1.Text; }
ipendpoint = new IPEndPoint(IPAddress.Parse(xmld.SelectNodes("ZJY").Item().SelectNodes("IP").Item().InnerText), int.Parse(xmld.SelectNodes("ZJY").Item().SelectNodes("port").Item().InnerText));
textBox2.Text = ipendpoint.Address.ToString();
label4.Text = ipendpoint.Port.ToString();
PrintCommand p = new PrintCommand();
p.print(); } PrintServer print = new PrintServer(); print.GetPrintQueue("Fax"); }
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Drawing;
using System.Drawing.Printing; using Ipconfig;
using System.Windows.Forms;
using System.Data;
namespace LikeIFace
{
public class PrintCommand
{
IpconfigHelper ip = new IpconfigHelper();
/// <summary>
/// 打印取号票
/// </summary>
/// <param name="send"></param>
/// <param name="e"></param>
public void print()
{ PrintDocument pd = new PrintDocument();//new能够被打印机使用的对线
PrintPreviewDialog pa = new PrintPreviewDialog();//打印对话框
pd.PrinterSettings.PrinterName =ip.PrinterName;//打印机名称
pd.PrintController=new StandardPrintController();//获取打印机进程的控制器
pd.PrintPage += DrawPage;
pd.DefaultPageSettings.PaperSize = new PaperSize("票据",,);//设置纸张的大小
pa.Document = pd;
pa.ShowDialog();//预览
if (pd.PrinterSettings.IsValid)
{
//pd.Print();
MessageBox.Show("打印成功");
}
else
{
MessageBox.Show("打印机连接错误");
} }
/// <summary>
/// 画取号票
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void DrawPage(object sender, PrintPageEventArgs e)
{ float x,y;
float leftMargin=,topMargin=; //画标题
Font font=new Font("黑体",);
x=leftMargin+ip.TitleNameX;
y=topMargin;
e.Graphics.DrawString(ip.TitleName,new Font("黑体",),Brushes.Black,x,y,new StringFormat ());
//画第二行 副标题
x = leftMargin + ;
y += font.GetHeight(e.Graphics);//返回此字体的行距
font = new Font("黑体", );
e.Graphics.DrawString("抽血排号凭证", font, Brushes.Black, x, y, new StringFormat()); //画排队号
x = leftMargin;
y += font.GetHeight(e.Graphics)+;
string str = "";
e.Graphics.DrawString(str, font, Brushes.Black, x, y, new StringFormat()); //画线
Pen pen = new Pen(Color.Black);
pen.Width = ;
e.Graphics.DrawLine(pen, , , , ); x = leftMargin + ;
y = y + font.GetHeight(e.Graphics)+;
font = new Font("黑体", );
str = "简简";
e.Graphics.DrawString(str, font, Brushes.Black, x, y, new StringFormat()); //画你所想
x = leftMargin + ;
y = y + font.GetHeight(e.Graphics) - ;
font = new Font("宋体", );
str = "女";
e.Graphics.DrawString(str, font, Brushes.Black, x, y, new StringFormat()); x = leftMargin + ;
y = y + font.GetHeight(e.Graphics) - +;
font = new Font("宋体", );
str = "";
e.Graphics.DrawString(str, font, Brushes.Black, x, y, new StringFormat()); //画二维码
Image image;
BarcodeLib.Barcode b=new BarcodeLib.Barcode();
b.BackColor=System.Drawing.Color.White;//设置图片背景
b.ForeColor=System.Drawing.Color.Black;//设置字体颜色
b.ImageFormat = System.Drawing.Imaging.ImageFormat.Jpeg;
font = new Font("宋体", );
b.LabelFont = font;
b.Height=;
b.Width = ;
image=b.Encode(BarcodeLib.TYPE.CODE128,"");
e.Graphics.DrawImage(image, , , , ); } }
}

}
}

打印小票,使用的是BarcodeLib的更多相关文章

  1. 【转】C#使用ESC指令控制POS打印机打印小票

    .前言 C#打印小票可以与普通打印机一样,调用PrintDocument实现.也可以发送标注你的ESC指令实现.由于 调用PrintDocument类时,无法操作使用串口或TCP/IP接口连接的pos ...

  2. C#使用ESC指令控制POS打印机打印小票

    1.前言 C#打印小票可以与普通打印机一样,调用PrintDocument实现.也可以发送标注你的ESC指令实现.由于 调用PrintDocument类时,无法操作使用串口或TCP/IP接口连接的po ...

  3. ActiveXObject Word.Application 打印小票

    javascript 时间格式 Date.prototype.format = function (format) { var o = { "M+": this.getMonth( ...

  4. C# 打印小票 POS

    C# 打印小票 POS 最近在写一个餐饮的收银系统,以前从来没有碰过打印机这玩意.感觉有些无从下手,在前面做报表时,总想找第三方的控件来用用,结果始终不行没搞定.没研究透,催得急没办法还是的动手自己写 ...

  5. C# 收银机顾显(客显)及打印小票(58热敏打印机)

    最近做winform收银机,设计顾显及打印小票总结. 1.顾显(串口COM1) 只涉及到总计,所以只是简单的功能. public static ClientDisplayResult Display( ...

  6. 按照已有的模板打印小票&lt;二&gt; ——调用windows打印机打印 可设置字体样式

    按照已有的模板打印小票<二> ——调用windows打印机打印 可设置字体样式 之前写过一篇文章<按照已有的模板输出一(如发票)>,是关于如何给已有的模板赋值.在项目的实践过程 ...

  7. C# 网络打印机ESC指令打印小票

    public void SendSocketMsg(String ip, int port, int times, byte[] data) { try { byte[] mData; ) { mDa ...

  8. android端StarIO热敏打印机打印小票

    最近在做这个热敏打印机打印小票,开始的时候在网上找资料,发现国内基本没有这方面的资料,国外也很少,在此做个打印小票的记录. 这里只记录一些关键点. 使用StarIOPort.searchPrinter ...

  9. 关于web页面JApplet打印小票

    版权所有 做这个的例子太少,我把我做的示例亮出来 一.先说说需要的版本 1.我用的浏览器只有ie: 火狐只支持52版本以下,并且是java7.java8.chrome不支持 2.applet客户端打印 ...

随机推荐

  1. 在使用 vscode 时 eslint 检测 .vue 文件中的less 部分内容

    问题: 在使用 vscode 以及 eslint 来检测 基于 webpack 的 vue-cli 的项目中,eslint 无法检测到 .vue 文件中的less 部分内容. 解答: 1.通过 下载 ...

  2. CCombox使用

    1.得到选中的combox的文本信息 int nIndex = m_SType.GetCurSel();//样本类型 m_SType.GetLBText(nIndex, m_data->STyp ...

  3. CentOS 编译安装 MySQL5.7

    下载 所有版本下载地址: http://dev.mysql.com/downloads/mysql/ 此处用 5.7.10 wget http://dev.mysql.com/get/Download ...

  4. 解决SenTestingKit/SenTestingKit.h: No such file or directory

    在一个iOS项目中引入了单元测试,感觉项目间的依赖关系有些乱,就建了一个新的Project,再把原来的.h和.m加进去,编译时竟然出现“SenTestingKit/SenTestingKit.h: N ...

  5. jquery滚动到指定元素,模仿锚点

    html <div class="pd-nav"> <div class="n-item active"> 保险服务 <i> ...

  6. [连载]Java程序设计(04)---任务驱动的方法:工资结算系统

    任务:或在公司,该公司将其分为三类人员:部门经理.销售员.在发工资的时候,部门经理拿固定月薪8000元.技术人员按每小时100元领取月薪.销售人员依照500元底薪加当月销售额的4%进行提成.设计并实现 ...

  7. JavaScript 特效三大系列总结

    一. offset系列 1. offset系列的5个属性 1. offsetLeft : 用于获取元素到最近的定位父盒子的左侧距离 * 计算方式: 当前元素的左边框的左侧到定位父盒子的左边框右侧 * ...

  8. asp.net(c#) 将dbf转换为xls或wps,并将数据的列名改成中文;并判断本机是否安装office2003,2007和wps2007,2010

    using Microsoft.Office.Interop.Excel;//转换为excel时,需要引用此命名空间 using ET;//转换为wps时,需要引用此命名空间using KSO;//转 ...

  9. WEB 小案例 -- 网上书城(四)

    针对于这个小案例我们今天讲解结账操作,也是有关这个案例的最后一次博文,说实话这个案例的博文写的很糟糕,不知道该如何去表述自己的思路,所以内容有点水,其实说到底还是功力不够. 处理思路 点击结账,发送结 ...

  10. FreeMaker常用表达式

    1,日期转换 ${data.startDate?string("yyyy-MM-dd HH:mm")} 2,非空检查 当数据为null时,1中日期转换在界面上不会显示异常,但在日志 ...