c#winform打印文件示例
时间: 2024-10-24 20:02:07 浏览: 16
在C# WinForms中,你可以使用`System.Drawing.Printing`命名空间中的类来实现文件打印功能。下面是一个简单的示例,展示如何创建一个打印任务并从文件中打印内容:
```csharp
using System;
using System.Drawing.Printing;
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void PrintDocument_PrintPage(object sender, PrintPageEventArgs e)
{
// 假设你需要打印的是一个文本文件的内容
string filePath = @"C:\path\to\your\file.txt";
try
{
using (StreamReader reader = new StreamReader(filePath))
{
string line;
while ((line = reader.ReadLine()) != null)
{
// 在PrintPage事件处理程序中添加行到页面上
e.Graphics.DrawString(line, new Font("Arial", 10), Brushes.Black, 50, e.Y);
// 移动到下一行
e.Y += e.Font.Height + 5; // 增加一点空隙
}
}
}
catch (Exception ex)
{
Console.WriteLine($"Error reading file: {ex.Message}");
}
}
private void btnPrint_Click(object sender, EventArgs e)
{
// 创建打印文档
PrintDocument printDoc = new PrintDocument();
printDoc.PrintPage += PrintDocument_PrintPage;
// 设置打印机属性
printDoc.DefaultPageSettings.Landscape = true; // 如果需要设置为横向打印
printDoc.DefaultPageSettings.PrinterName = "Your Printer Name"; // 更改为你系统的打印机名称
// 打印任务
printDoc.Print();
}
}
```
在这个例子中,当你点击“btnPrint”按钮时,会打开一个打印任务,文件的内容将逐行显示在每一页上。记得替换`filePath`变量中的实际文件路径。
阅读全文