C#程序中调用打印机进行打印操作
环境准备
确保你的开发环境已安装Visual Studio,并且选择了.NET桌面开发工作负载。本文示例基于.NET Framework 4.8及以上版本。
打印文本
首先,我们来看一下如何打印纯文本。这个例子将展示如何设置打印页面格式以及实际打印内容。
步骤1: 创建一个新的控制台项目
打开Visual Studio并创建一个新的控制台应用程序项目。
步骤2: 添加必要的命名空间引用
为了访问打印相关的类,你需要包含System.Drawing.Printing
命名空间:
using System; using System.Drawing; using System.Drawing.Printing;
步骤3: 编写打印逻辑
接下来,在Program.cs
文件中添加以下代码以实现打印功能:
class Program { static void Main(string[] args) { PrintDocument document = new PrintDocument(); document.PrintPage += Document_PrintPage; // 打开打印对话框让用户选择打印机 PrintDialog printDialog = new PrintDialog(); printDialog.Document = document; if (printDialog.ShowDialog() == DialogResult.OK) { document.Print(); } } private static void Document_PrintPage(object sender, PrintPageEventArgs e) { // 设置要打印的内容 string textToPrint = "Hello, this is a test print from C# application."; Font font = new Font("Arial", 12); SolidBrush brush = new SolidBrush(Color.Black); // 计算文本尺寸 SizeF textSize = e.Graphics.MeasureString(textToPrint, font); // 在页面中央打印文本 PointF point = new PointF(e.MarginBounds.Left + (e.MarginBounds.Width - textSize.Width) / 2, e.MarginBounds.Top + (e.MarginBounds.Height - textSize.Height) / 2); e.Graphics.DrawString(textToPrint, font, brush, point); } }
这段代码定义了一个PrintDocument
对象,并为其PrintPage
事件指定了处理方法。当用户通过PrintDialog
选择好打印机后,调用document.Print()
执行打印。
打印图片
如果你想打印图像而非文字,可以稍微调整上面的代码。这里假设你已经有一个图片文件路径。
修改Document_PrintPage
方法
替换原有的文本绘制部分为如下代码:
private static void Document_PrintPage(object sender, PrintPageEventArgs e) { // 加载图片 Image image = Image.FromFile(@"C:\path\to\your\image.jpg"); // 调整图片大小以适应页面 float scale = Math.Min((float)e.PageBounds.Width / image.Width, (float)e.PageBounds.Height / image.Height); int newWidth = (int)(image.Width * scale); int newHeight = (int)(image.Height * scale); // 在页面中心打印图片 e.Graphics.DrawImage(image, (e.PageBounds.Width - newWidth) / 2, (e.PageBounds.Height - newHeight) / 2, newWidth, newHeight); // 释放资源 image.Dispose(); }
请记得修改图片路径到实际文件位置。
本站发布的内容若侵犯到您的权益,请邮件联系站长删除,我们将及时处理!
从您进入本站开始,已表示您已同意接受本站【免责声明】中的一切条款!
本站大部分下载资源收集于网络,不保证其完整性以及安全性,请下载后自行研究。
本站资源仅供学习和交流使用,版权归原作者所有,请勿商业运营、违法使用和传播!请在下载后24小时之内自觉删除。
若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,使用者自行承担,概与本站无关。