- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C封装一个打印公共类的简单方法
C#封装一个打印公共类ImagePrinter 类是封装好的打印类,打印前需要调用 public bool PrinterReady(Bitmap printContent) 方法传入一个图片文件,
之后就可以调用 PrintView() 进行打印浏览,调用 PrintOut() 就可以打印了。
ExpressPrinter 类是调用 ImagePrinter 打印封装类的一个实例,旨在与看看怎么使用GDI+绘制需要打印的内容和字体。
================================================
using System;
using System.Collections.Generic;
using System.Drawing.Imaging;
using System.Linq;
using System.Text;
using System.Drawing;
using System.Windows.Forms;
using System.Drawing.Printing;
using Lib.Biz.ClientService;
using Lib.Utility.Extension;
using PrintOrder.Utility;
namespace PrintOrder.ExpressPrinter.PrintDoc
{
/// summary
/// 打印图片内容
/// /summary
public class ExpressPrinter
{
/// summary
/// 创建快递单打印对象实例
/// /summary
/// param name=printerName打印机名称,如果为空将使用默认打印机/param
/// param name=template打印模板/param
/// param name=items打印项/param
/// param name=isCoordinateRule是否打印定位标尺/param
public ExpressPrinter(string printerName, Print_Template template, ListPrint_Item items, bool isCoordinateRule)
{
m_template = template;
m_items = items;
m_print = new ImagePrinter(printerName);
m_isCoordinateRule = isCoordinateRule;
InitPrinter();
}
#region 变量
private Print_Template m_template;
private ListPrint_Item m_items;
private Bitmap m_bitmap = new Bitmap(10, 10);
private Brush m_brush = new SolidBrush(Color.Black);
private ImagePrinter m_print = null;
private bool m_isCoordinateRule = false;
#endregion
/// summary
/// 设置纸张大小
/// /summary
private void SetPrintPageSize()
{
//使用百分之一英寸为单位重新创建绘图图面
using (Graphics g = Graphics.FromImage(m_bitmap))
{
//注:使用百分之一为单位
SizeF sizeF = new SizeF(
CommonMethod.PixelsToInches(m_template.Width,g.DpiX)*100,
CommonMethod.PixelsToInches(m_template.Height,g.DpiY)*100);
Size size = Size.Ceiling(sizeF);
m_print.DefaultPaperSize = new PaperSize(NewPage, size.Width,size.Height);
}
m_print.DefaultMargins = new Margins(0, 0, 0, 0);
m_print.PrintDocName = string.Format({0}({1}),m_template.TemplateName,m_template.Modifier);
}
/// summary
/// 打印前初始化
/// /summary
private void InitPrinter()
您可能关注的文档
最近下载
- 2025年长沙民政职业技术学院高职单招职业技能测试近5年常考版参考题库含答案解析.docx
- 数字医疗项目可行性报告.docx
- 110kV变电站预试定检综合项目施工专项方案.doc VIP
- 2025年21年一消防工程师继续教育题 .pdf VIP
- 2024年南昌工学院单招职业技能测试题库word版.docx VIP
- 非煤矿山露天采石场主要风险分级表.pdf VIP
- Unit 2 Making a Difference Understanding ideas The Well that changed the world 课件-2023-2024学年高中英语外研版(2019)必修第三册.pptx
- 防治责任范围矢量化操作流程.docx
- 2025学年湖南省怀化市重点中学高三5月模拟(一模)考试数学试题 .pdf VIP
- 湘少版-英语-四下-Unit1_单元测试卷.pdf
文档评论(0)