白云区网站建设mg126,网址短码生成器,诛仙3官方网站时竹任务荧灵怎么做,建筑网站排行榜C# WPF 打印机 打印机接口打印文本打印图片打印机属性对话框设置默认打印机搜索打印机 打印机接口
PrintServerPrintQueuePrintDocument
打印文本
/// summary
/// 打印文本
/// /summary
/// param nametext/param
/// pa… C# WPF 打印机 打印机接口打印文本打印图片打印机属性对话框设置默认打印机搜索打印机 打印机接口
PrintServerPrintQueuePrintDocument
打印文本
/// summary
/// 打印文本
/// /summary
/// param nametext/param
/// param namewidth/param
/// param nameheight/param
private void PrintText(string text, int width, int height)
{// 创建一个PrintDocument对象PrintDocument pd new PrintDocument();// pd.DefaultPageSettings.Landscape true;// pd.DefaultPageSettings.PrinterSettings.PrinterName Gprinter GP-1134T; // 指定打印机// 设置打印机任务的事件处理pd.PrintPage (sender, e) {// 创建一个Bitmap对象用于绘制文本 using (Bitmap bitmap new Bitmap(width, height)){using (Graphics g Graphics.FromImage(bitmap)){// 使用白色填充背景g.FillRectangle(System.Drawing.Brushes.White, 0, 0, width, height);// 设置打印文本的格式StringFormat format new StringFormat();format.Alignment StringAlignment.Center;format.LineAlignment StringAlignment.Center;// 在位图上绘制文本g.DrawString(text, new Font(Arial, 12), System.Drawing.Brushes.Black, new RectangleF(0, 0, width, height), format);// 将位图发送到打印机e.Graphics.DrawImage(bitmap, 0, 0); }} };// 开始打印try{pd.Print();}catch (Exception ex){Console.WriteLine(ex.Message);}
}打印图片
/// summary/// 打印图片/// /summary/// param nameimagePath图片文件路径/param/// param namewidth打印宽度像素/param/// param nameheight打印高度像素/paramprivate void PrintImage(string imagePath, int width, int height){if (File.Exists(imagePath)){PrintDocument pd new PrintDocument();pd.DefaultPageSettings.Landscape true;//pd.DefaultPageSettings.PrinterSettings.PrinterName Gprinter GP-1134T;Image image Image.FromFile(imagePath);// 设置打印机任务的事件处理pd.PrintPage (sender, e) {// 创建一个Bitmap对象用于绘制图片using (Bitmap bitmap new Bitmap(width, height)){using (Graphics g Graphics.FromImage(bitmap)){// 使用白色填充背景g.FillRectangle(System.Drawing.Brushes.Black, 0, 0, width, height);// 在位图上绘制图片g.DrawImage(image, 0, 0);// 将位图发送到打印机e.Graphics.DrawImage(bitmap, 0, 0);}}
#if falseImage i Image.FromFile(imagePath);System.Drawing.Rectangle m e.MarginBounds;if ((double)i.Width / (double)i.Height (double)m.Width / (double)m.Height) // image is wider{m.Height (int)((double)i.Height / (double)i.Width * (double)m.Width);}else{m.Width (int)((double)i.Width / (double)i.Height * (double)m.Height);}e.Graphics.DrawImage(i, m);
#endif};// 开始打印try{pd.Print();}catch (Exception ex){Console.WriteLine(ex.Message);}}}打印机属性对话框
private void btnPrintSettings_Click(object sender, RoutedEventArgs e)
{// 打印机属性对话框PrintDialog printDialog new PrintDialog();if (printDialog.ShowDialog() true){// 用户点击了打印Console.WriteLine(打印);}
}设置默认打印机
/// summary
/// 设置默认打印机
/// /summary
/// param nameprinterName/param
public static void SetDefaultPrinter(string printerName)
{PrintServer printServer new PrintServer(); // 默认的打印服务器PrintQueue printQueue new PrintQueue(printServer, printerName); // 根据打印机名称创建打印队列// 设置为默认打印机printQueue.Commit();
}搜索打印机
private void btnPrintSearch_Click(object sender, RoutedEventArgs e)
{// 获取打印机列表并添加到ComboBoxPrintServer printServer new PrintServer();PrintQueueCollection printQueues printServer.GetPrintQueues();cmboxPrintList.Items.Clear(); // ComboBox控件foreach (PrintQueue p in printQueues){cmboxPrintList.Items.Add(p.Name);}
}// 选择打印机
private void cmboxPrintList_SelectionChanged(object sender, SelectionChangedEventArgs e)
{string pName cmboxPrintList.SelectedItem as string;Console.WriteLine(选择打印机);if (pName ! null){Console.WriteLine(默认打印机 pName);SetDefaultPrinter(pName);}
}