WPF 打印操作之PrintDocument,WPF获取打印机列表,WPF指定打印机
2021-03-07 22:28
标签:printing com anon html dev readline orm col click 一、WPF 打印操作之PrintDocument,WPF获取打印机列表,WPF指定打印机 PrintDocument 定义一个可重用的对象,当从Windows Forms应用程序进行打印时,该对象将输出发送到打印机 通常,您将创建PrintDocument类的实例,设置诸如DocumentName和PrinterSettings之类的属性,然后调用Print方法来启动打印过程。通过使用PrintPageEventArgs的Graphics Graphics属性,在您指定要打印输出的地方处理PrintPage事件。 更多参考: https://docs.microsoft.com/en-us/dotnet/api/system.drawing.printing.printdocument?view=dotnet-plat-ext-3.1 二、wpf获取系统可用打印机列表 使用打印机名称,指定特定的打印机进行打印。 三、打印示例 更多: WPF 打印操作之PrintDialog WPF 皮肤之MathApps.Metro UI库 WPF RichTextBox滚动条自动滚动实例、文本自动滚动实例 WPF 打印操作之PrintDocument,WPF获取打印机列表,WPF指定打印机 标签:printing com anon html dev readline orm col click 原文地址:https://www.cnblogs.com/tianma3798/p/12814498.html//获取打印机列表
StringCollection strList = PrinterSettings.InstalledPrinters;
PrintDocument pd = new PrintDocument();
pd.PrinterSettings.PrinterName = "Canon TS3100 series (副本 1)";
Font printFont = null;
StreamReader streamToPrint = null;
private void Button_Click_1(object sender, RoutedEventArgs e)
{
try
{
streamToPrint = new StreamReader
("G:\\桌面\\新建文本文档.txt");
try
{
printFont = new Font("Arial", 10);
PrintDocument pd = new PrintDocument();
pd.PrinterSettings.PrinterName = "Canon TS3100 series (副本 1)";
pd.PrintPage += new PrintPageEventHandler
(this.pd_PrintPage);
pd.Print();
}
finally
{
streamToPrint.Close();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
// The PrintPage event is raised for each page to be printed.
private void pd_PrintPage(object sender, PrintPageEventArgs ev)
{
float linesPerPage = 0;
float yPos = 0;
int count = 0;
float leftMargin = ev.MarginBounds.Left;
float topMargin = ev.MarginBounds.Top;
string line = null;
// Calculate the number of lines per page.
linesPerPage = ev.MarginBounds.Height /
printFont.GetHeight(ev.Graphics);
// Print each line of the file.
while (count
((line = streamToPrint.ReadLine()) != null))
{
yPos = topMargin + (count *
printFont.GetHeight(ev.Graphics));
ev.Graphics.DrawString(line, printFont, System.Drawing.Brushes.Black,
leftMargin, yPos, new StringFormat());
count++;
}
// If more lines exist, print another page.
if (line != null)
ev.HasMorePages = true;
else
ev.HasMorePages = false;
}
下一篇:C# 实现图片上传
文章标题:WPF 打印操作之PrintDocument,WPF获取打印机列表,WPF指定打印机
文章链接:http://soscw.com/index.php/essay/61529.html