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 ...