C# 调用打印机

这篇博客介绍了如何使用C#语言调用打印机进行打印操作,重点内容包括相关的代码示例,适合开发者参考学习。
摘要由CSDN通过智能技术生成

在这里只占源码供日后所用

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Drawing;
using System.Drawing.Printing;
using System.Windows.Forms;

namespace PrinterDemo {
    class PrinterTest {
        private DataTable theDGV;           //用于接收包含打印内容的数据表
        private string printTitle;          //打印标题内容

        private List<int> ColumnsWidth;    //存储列宽
        private List<int> ColumnsLeft;

        private int totalWidth;           //计算打印区域的总宽度;
        private int RowHeaderHeight;      //列标题的宽度
        private int RowsHeight;             //存储行高

        private int pageNO;                 //当前打印页的序号
        private int rowPoint;               //当前打印行的序号
        private bool newPage;               //是否打印新页的标识

        private int PageWidth;
        private int PageHeight;
        private int LeftMargin;
        private int TopMargin;
        private int RightMargin;
        private int BottomMargin;

        private StringFormat TitleFormat;   //标题打印对齐格式
        private StringFormat CellFormat;    //表格打印对齐格式

        private PrintDocument myDocument;   //向打印机发送的输出对象

        private Font theTitleFont;      //标题字体
        private Font printFont;         //表格字体


        public PrinterTest(PrintDocument document, DataTable DGV, string title, Font titleFont, Font printFont)
        {
            this.theDGV = DGV;
            this.printTitle = title;
            this.theTitleFont = titleFont;
            this.printFont = printFont;
            this.myDocument = document;
            myDocument.OriginAtMargins = true;//指定绘图操作从页边距内开始算起

            ColumnsWidth = new List<int>();
            ColumnsLeft = new List<int>();

        }

        //计算打印参数。包括预打印表格的原始宽度,打印高度宽度
        public void print_Calculate(Graphics g)
        {
            totalWidth =0;
            SizeF tmpSize = new SizeF();
            float tmpWidth;
            //MessageBox.Show(printFont.ToString());
            for (int i = 0; i < theDGV.Columns.Count; i++)
            {
                tmpSize = g.MeasureString(theDGV.Columns[i].ColumnName, printFont);
                tmpWidth = tmpSize.Width;
                Ro
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值