C#小票打印机动态纸张尺寸
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Drawing.Printing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace pdPrint{    public partial class Form1 : Form    {        private int lineSize;                //每行打印字数        private List<string> textList;       //打印内容行        private int lineHeight;              //打印行高        private int fontSize;                //字大小        public Form1()        {            lineSize = 20;                   //设置每行打印字数            lineHeight = 22;                 //行高  1/100 英寸            fontSize = 12;                   //字体大小 1/英寸            InitializeComponent();        }        private void btn_Print_Click(object sender, EventArgs e)        {            if (string.IsNullOrWhiteSpace(this.txt_PrintText.Text))            {                return;            }            //原文字行或者段落内容            var sourceTexts = this.txt_PrintText.Text.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);            //重新把文字进行分行树立            textList = new List<string>();            foreach (var item in sourceTexts)            {                if (!string.IsNullOrWhiteSpace(item))                {                    if (item.Length > lineSize)                    {                        textList.AddRange(GetArr(lineSize, item));                    }                    else                    {                        textList.Add(item);                    }                }            }            PrintDocument pd = new PrintDocument();            pd.PrintPage += new PrintPageEventHandler(Print_Content);            //纸张设置默认            PaperSize pageSize = new PaperSize("自定义纸张", fontSize * lineSize, (textList.Count * lineHeight));            pd.DefaultPageSettings.PaperSize = pageSize;            try            {                pd.Print();            }            catch (Exception ex)            {                MessageBox.Show("打印失败." + ex.Message);            }        }        /// <summary>        /// 打印内容事件        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void Print_Content(object sender, PrintPageEventArgs e)        {            var mark = 0;            foreach (var item in textList)            {                e.Graphics.DrawString(item, new Font(new FontFamily("宋体"), fontSize), System.Drawing.Brushes.Black, 0, mark * lineSize);                mark++;            }        }        /// <summary>        /// 根据内容进行分行        /// </summary>        /// <param name="linelen">每行字数</param>        /// <param name="text">原文字行(段落)文字</param>        /// <returns></returns>        private List<string> GetArr(int linelen, string text)        {            var list = new List<string>();            int listcount = text.Length % linelen == 0 ? text.Length / linelen : (text.Length / linelen) + 1;            for (int j = 0; j < listcount; j++)            {                try                {                    list.Add(text.Substring(j * linelen, linelen));                }                catch (Exception)                {                    list.Add(text.Substring(j * linelen));                }            }            return list;        }    }}C#小票打印机动态纸张尺寸的更多相关文章
- 小票打印机指令集封装(支持EPSON指令)
		最近写了一些关于小票打印机的程序,不难,但是记录下来,作为足迹吧. 现在市场上的小票机基本都支持EPSON指令.指令集文档 对指令集进行了自己的封装,方便以后调用: package aheiziUti ... 
- Java读取打印机自定义纸张.
		打印出现截断? 对于自定义纸张打印, 一定要先在打印机配置那边添加, 不然会出现截断. 例如打印1000*500, 出来是正常的, 打印216*139, 出现了截断. 因为java默认的打印, 会从打 ... 
- 让 Odoo POS 支持廉价小票打印机
		为了测试 Odoo 在实际业务中的实施,我们开了一家(马上要开第二家分店)猪肉店.由于预算有限,在实施 Odoo PoS 的时候采购了一台价格为 85 元的爱宝热敏打印机,结果连上 Odoo Posb ... 
- 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 ... 
- android ImageView网络图片加载、动态设置尺寸、圆角..
		封装了一个关于ImageView的辅助类,该类可以方便实现网络图片下载的同时,动态设置图片尺寸.圆角.....一系列连贯的操作,无样式表,java代码实现所有功能,使用很方便. package com ... 
随机推荐
- C++ STL迭代器与索引相互转换
			0 前言 C++ STL提供了vector.list等模板容器,极大地方便了编程使用. “遍历”是对容器使用的最常用的操作. 使用迭代器来遍历是最好最高效的遍历方法. 当然,对于有些容器的遍历除了使用 ... 
- CSS 属性的默认值
			最近在看到一篇关于如何实现水平垂直居中,发现有许多属性值,自己并不了解,特此Google一番,查到,摘抄过来,方便以后查阅,下面是如何实现水平垂直居中的博文. 解读CSS布局之-水平垂直居中 html ... 
- AWS系列-EC2实例添加磁盘
			注意:添加的磁盘,必须和挂载的实例是在同一可用区. 1.1 如下图,打开EC2控制台,打开卷,点击创建卷 1.2 选择磁盘配置 磁盘类型:如下图 磁盘大小:如图,最小500G,最大16T 可用区:注意 ... 
- Effective C++ Item 9 Never call virtual functions during constrution or destruction
			Because such calls would never go to a more derived class than that of currently executing construto ... 
- 简单深搜:POJ1546——Sum it up
			结束了三分搜索的旅程 我开始迈入深搜的大坑.. 首先是一道比较基础的深搜题目(还是很难理解好么) POJ 1564 SUM IT UP 大体上的思路无非是通过深搜来进行穷举.匹配 为了能更好地理解深搜 ... 
- Code Forces 21 A(模拟)
			A. Jabber ID time limit per test 0.5 second memory limit per test 256 megabytes input standard input ... 
- Sass (Syntactically Awesome StyleSheets)
			官网:https://www.sass.hk/docs/ Sass 是一款强化 CSS 的辅助工具,它在 CSS 语法的基础上增加了变量 (variables).嵌套 (nested rules).混 ... 
- googlr   黄金法则  监控
			googlr 黄金法则 监控 
- 荣誉墙项目day28 django常用函数
			1.在网页上渲染字符串from django.http import HttpResponsereturn HttpResponse(u"hello world") 2.渲染网页f ... 
- 【Django错误】OSError: raw write() returned invalid length 14 (should have been between 0 and 7)
			错误环境 使用Django框架创建完models类的之后,用python manage.py migrate命令来生成数据库表的时候出错 错误代码 Operations to perform: App ... 
