C# - 打印

本文介绍了C#中进行打印设置、打印文档以及如何使用打印对话框的相关操作,重点强调了打开打印对话框时默认配置为A3的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

打印设置

//打印设置
PrinterSettings pSet = new PrinterSettings();

//打印方向设置
pSet.DefaultPageSettings.Landscape = false;//纵向打印
pSet.DefaultPageSettings.Landscape = true;//横向打印

//纸张大小设置
int pWidth = 297;//A3纸张的宽
int pHeight = 420;//A3纸张的高
PaperSize paperSize = new PaperSize("A3", (int)(pWidth * 100 / 2.54), (int)(pHeight * 100 / 2.54));
paperSize.RawKind = (int)PaperKind.A3;
pSet.DefaultPageSettings.PaperSize = paperSize;

打印文档

//打印文档
PrintDocument pDoc= new PrintDocument();
//设置打印事件
pDoc.PrintPage += new PrintPageEventHandler(pDoc_PrintPage);
void printdocument_PrintPage(object sender, PrintPageEventArgs e)
{
    Graphics g = e.Graphics;
    //绘制地图
    g.DrawImage((bitmap as Image), e.PageBounds);
    //绘制文本
    g.Dispose();
}

打印对话框及打印


//打印对话框
PrintDialog pDlg = new PrintDialog();
//初始化打印对话框中的打印设置
pDlg.PrinterSettings = pSet;
if (pDlg.ShowDialog() == DialogResult.OK)
{
	pSet = pDlg.PrinterSettings;
	pDoc.PrinterSettings = pSet;
	
	//开启页边距设置
	pDoc.OriginAtMargins = true;	
	//记录页边距以便还原
	Margins tempMargins = pDoc.DefaultPageSettings.Margins;	
	//设置页边距
	pDoc.DefaultPageSettings.Margins = new Margins(0, 0, 0, 0);
	
	//打印
	pDoc.Print();	
	
	//还原页边距
	pDoc.DefaultPageSettings.Margins = tempMargins;
}

注意:paperSize.RawKind = (int)PaperKind.A3; 是必须的,打开打印对话框后默认配置不是A3通常就是因为缺少该项设置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值