C#调用小票打印机
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Drawing.Printing;
namespace BNCheckItemsClient.FormC.Specimen
{
publicclass PrintSpecimenLabel
{
PrintDocument printDocument;
privateint _PrintPage =0;//当前打印页
privateint _TotalPage =1;//总页数
publicstring _PrinterName =string.Empty;// 打印机名称
publicvoid DoPrint()
{
try
{
//准备数据
PrepareData();
if (_TotalPage <=0)
return;
//设置打印机
PrinterSetup();
if (!string.IsNullOrEmpty(_PrinterName))
{
printDocument.PrinterSettings.PrinterName = _PrinterName;
if (!printDocument.PrinterSettings.IsValid)
{
thrownew Exception("The printer is not Valid");
}
}
printDocument.Print();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
//throw;
}
}
privatevoid PrinterSetup()
{
//设置打印机属性
printDocument.PrinterSettings.PrinterName ="ZDesigner 888-TT";//设置打印机
printDocument.DefaultPageSettings.PaperSize =new System.Drawing.Printing.PaperSize("SpecimenLabel",110, 180);//页面大小
printDocument.DefaultPageSettings.Landscape =true;//横向打印
printDocument.PrintPage +=new PrintPageEventHandler(printDocument_PrintPage);
}
//在这里写打印的内容
void printDocument_PrintPage(object sender, PrintPageEventArgs e)
{
Graphics g = e.Graphics;
float leftMargin = 5f; //左边距
SolidBrush myBrush =new SolidBrush(Color.Black);//刷子
float yPosition = 5f;//行定位
Font printFont =new Font("宋体", 20f, FontStyle.Bold);//设置字体
g.DrawString("这是要打印的第一行内容",printFont, myBrush, leftMargin + 140f, 7f, new StringFormat());
yPosition += printFont.GetHeight(g);//另起一行
printFont =new Font("宋体", 10f, FontStyle.Bold);//改变字体
g.DrawString("这是要打印的第二行内容", printFont, myBrush, leftMargin, yPosition, new StringFormat());
//如果要同时打印多个标签
_PrintPage++;//页号
if (_PrintPage < _TotalPage)
{
e.HasMorePages =true;
}
else
{
e.HasMorePages =false;
}
}
}
}
到打印机和传真文件夹-->右键-->服务器属性
添加了自己定义的纸类型 名称949W300H 宽9.49in,高3.00in
所以改了程序为
{
if(ps.PaperName=="949W300H")
{
printDoc.PrinterSettings.DefaultPageSettings.PaperSize=ps;
printDoc.DefaultPageSettings.PaperSize=ps;
}
}
就可以了 似乎纸张只能从printDoc.PrinterSettings.PaperSizes中选择
C#调用小票打印机的更多相关文章
- 按照已有的模板打印小票<二> ——调用windows打印机打印 可设置字体样式
按照已有的模板打印小票<二> ——调用windows打印机打印 可设置字体样式 之前写过一篇文章<按照已有的模板输出一(如发票)>,是关于如何给已有的模板赋值.在项目的实践过程 ...
- 小票打印机指令集封装(支持EPSON指令)
最近写了一些关于小票打印机的程序,不难,但是记录下来,作为足迹吧. 现在市场上的小票机基本都支持EPSON指令.指令集文档 对指令集进行了自己的封装,方便以后调用: package aheiziUti ...
- C#并口热敏小票打印机打印位图包括芯片的写入
下面是打印所需要调用的代码: class LptControl { private string LptStr = "lpt1"; public LptControl(string ...
- C# Lpt 并口热敏小票打印机打印位图
class LptControl { private string LptStr = "lpt1"; public LptControl(string l_LPT_Str) { L ...
- 转:C#并口热敏小票打印机打印位图
最近一直在研究并口小票打印机打印图片问题,这也是第一次和硬件打交道,不过还好,最终成功了. 这是DEMO的窗体: 下面是打印所需要调用的代码: class LptControl { private s ...
- C# 热敏打印机 小票打印机 打印图片
最近一直在研究并口小票打印机打印图片问题,这也是第一次和硬件打交道,不过还好,最终成功了. 这是DEMO的窗体: 下面是打印所需要调用的代码: 因为我们这里主要是打印条形码和二维码,所以以条形码和二维 ...
- C#并口热敏小票打印机打印位图
原文:C#并口热敏小票打印机打印位图 最近一直在研究并口小票打印机打印图片问题,这也是第一次和硬件打交道,不过还好,最终成功了. 这是DEMO的窗体: 下面是打印所需要调用的代码: class ...
- 让 Odoo POS 支持廉价小票打印机
为了测试 Odoo 在实际业务中的实施,我们开了一家(马上要开第二家分店)猪肉店.由于预算有限,在实施 Odoo PoS 的时候采购了一台价格为 85 元的爱宝热敏打印机,结果连上 Odoo Posb ...
- c#调用刀片小票打印机
public static bool Print(int orderId, string orderTime) { bool b = true; string cut = ((char)29).ToS ...
随机推荐
- Jhipster token签名异常——c.f.o.cac.security.jwt.TokenProvider : Invalid JWT signature.
背景,jHipster自动生成的springBoot和angularJs前后台端分离的项目.java后台为了取到当前登录者的信息,所以后台开放了 MicroserviceSecurityConfigu ...
- ssm异步上传图片
1.首先引入jersey jar包 2.在配置文件中,配置允许上传图片 3.修改增加商品页面 <%@ page language="java" import=" ...
- VS------快捷键一览
1. 属性封装快捷键:Ctrl + R + E
- Linux命令之乐--test
官方文档: help test File operators: -a FILE True if file exists. -b FILE True if file is block special. ...
- Intent讲解
什么是Intent? Intent是一个消息传递对象,可以使用它来启动其它应用组件.Intent使组件之间通信更加便利,主要用于以下三点: 启动Activity: 可以将intent作为参数调用Con ...
- 在 Ubuntu Mate 16.04 上通过 PPA 升级 Mate 1.14
导读 Mate 桌面环境 1.14 现在可以在 Ubuntu Mate 16.04 ("Xenial Xerus") 上使用了.根据这个版本的描述,为了全面测试 Mate 1.14 ...
- Animate a custom Dialog,自定义Dialog动画
Inside res/style.xml <style name="AppTheme" parent="android:Theme.Light" /> ...
- js 操作对象的引用和操作实际对象的区分
JavaScript高级程序设计-第3版-中 有这么一段话: 在操作对象时,实际上是在操作对象的引用而不是实际的对象.为此,引用类型的值是按引用访问的①. ① 这种说法不严密,当复制保存着对象的某个变 ...
- Groovy操作符
Groovy操作符 这一篇简单介绍一下Groovy中的操作符. 算数操作符 groovy支持java中的所有操作符,下面只列举一些groovy特有的: ** power运算符,也叫次方. assert ...
- KDevelop使用笔记【中文教程】
*师从官方文档: https://userbase.kde.org/KDevelop4/Manual/zh-cn https://docs.kde.org/trunk5/en/extragear-kd ...