- 1、本文档共68页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C使用ESC指令控制POS机打印小票
C#使用ESC指令控制POS打印机打印小票
1.前言
C#打印小票可以与普通打印机一样,调用PrintDocument实现。也可以发送标注你的ESC指令实现。由于 调用PrintDocument类时,无法操作使用串口或TCP/IP接口连接的pos打印机,并且无法发送控制指令实现pos打印机的切纸、走纸等动作。因此个人建议使用ESC指令进行打印会更通用。
本类需要调用 ImageProcessor.cs
2.POS机打印小票ReceiptHelper
using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
using System.Threading;
using System.Drawing;
using System.Management;
using System.IO;
using LaisonTech.MediaLib;
using LaisonTech.CommonBLL;
using Microsoft.Win32.SafeHandles;
namespace LaisonTech.MediaLib
{
#region 结构体定义
[StructLayout(LayoutKind.Sequential)]
public struct OVERLAPPED
{
int Internal;
int InternalHigh;
int Offset;
int OffSetHigh;
int hEvent;
};
[StructLayout(LayoutKind.Sequential)]
public struct PRINTER_DEFAULTS
{
public int pDatatype;
public int pDevMode;
public int DesiredAccess;
}
/// summary
/// 对齐方式
/// /summary
public enum eTextAlignMode
{
Left = 0,
Middle = 1,
Right = 2
}
#endregion
/// summary
/// 小票打印类
/// 使用方法:
/// 1 GetPrinterList获取已经安装的所有打印机列表.
/// Open 打开指定打印机
/// 2 控制打印机动作、执行打印内容之前,必须先调用StartPrint
/// 3 调用SetLeft, SetBold, SetAlignMode, SetFontSize ... ...设置打印参数
/// 4 PrintText 打印内容.打印该行内容后会自动换行/// PrintImageFile 或 PrintBitMap打印图片
/// 5 控制指令和打印内容都发送完毕后,调用Print执行真正打印动作
/// 6 退出程序前调用Close
/// /summary
public class ReceiptHelper
{
#region 指令定义
private static Byte[] Const_Init = new byte[] { 0x1B, 0x40,
0x20, 0x20, 0x20, 0x0A,
0x1B, 0x64,0x10};
//设置左边距
private const string Const_SetLeft = 1D 4C ;
//设置粗体
private const string Const_SetBold = 1B 45 ;
private const String Const_Bold_YES = 01;
private const String Const_Bold_NO = 00;
//设置对齐方式
private const strin
文档评论(0)