WPF 横印实现
来源:互联网 发布:淘宝网站设计风格 编辑:程序博客网 时间:2024/06/11 05:07
WPF中打印用到了 PrintDialog类。
其中设置打印属性的是PrintTicket,管理打印机的是PrintQueue。
实例如下:
public class PrintDialogHelper
{
private const string PrintServerName = "YULIN-PC";
private const string PrintName = "HP LaserJet M1522 series PCL6 Class Driver";
public PrintDialogHelper()
{
}
/// <summary>
/// 打印控件
/// </summary>
/// <param name="element"></param>
public void PrintVisual(FrameworkElement element)
{
var printDialog = new PrintDialog();
SetPrintProperty(printDialog);
var printQueue = SelectedPrintServer(PrintServerName, PrintName);
if (printQueue != null)
{
printDialog.PrintQueue = printQueue;
printDialog.PrintVisual(element, "");
}
}
/// <summary>
/// 查找并获取打印机
/// </summary>
/// <param name="printerServerName">服务器名字: Lee-pc</param>
/// <param name="printerName">打印机名字:Hp laserjet m1522 mfp series pcl 6 </param>
/// <returns></returns>
public PrintQueue SelectedPrintServer(string printerServerName, string printerName)
{
try
{
var printers = PrinterSettings.InstalledPrinters;//获取本机上的所有打印机
PrintServer printServer = null;
foreach (string printer in printers)
{
if (printer.Contains(printerName))
printServer = new PrintServer("\\\\" + printerServerName);
}
if (printServer == null) return null;//没有找到打印机服务器
var printQueue = printServer.GetPrintQueue(printerName);
return printQueue;
}
catch (Exception)
{
return null;//没有找到打印机
}
}
/// <summary>
/// 设置打印格式
/// </summary>
/// <param name="printDialog">打印文档</param>
/// <param name="pageSize">打印纸张大小 a4</param>
/// <param name="pageOrientation">打印方向 竖向</param>
public void SetPrintProperty(PrintDialog printDialog, PageMediaSizeName pageSize = PageMediaSizeName.ISOA4, PageOrientation pageOrientation = PageOrientation.Portrait)
{
var printTicket = printDialog.PrintTicket;
printTicket.PageMediaSize = new PageMediaSize(pageSize);//A4纸
printTicket.PageOrientation = pageOrientation;//默认竖向打印
}
}
- WPF 横印实现
- wpf智能客户端实现
- WPF多线程的实现
- WPF中实现进度条
- WPF 实现水纹效果
- WPF实现下雪效果 ...
- WPF实现DoEvents
- wpf 实现childwindow
- WPF实现Themes切换
- WPF拖放功能实现
- WPF拖放功能实现
- WPF实现科拖拽分隔栏
- WPF拖放功能实现
- WPF 实现label换行
- WPF实现DoEvents
- WPF实现毛玻璃效果
- WPF NotifyIcon 实现例子
- wpf 实现ItemsContro
- codeforces 379A New Year Candles(水题)
- qobject_cast
- 树莓派相机的python调用
- Hadoop java.lang.OutOfMemoryError: Java heap space的解决方法
- POJ 3020Antenna Placement(二分最大匹配之最大匹配)
- WPF 横印实现
- Python学习笔记:插入排序,希尔排序和堆排序的实现
- 关于子网掩码和反子网掩码的问题
- Java 深复制(深克隆)&浅复制(浅克隆)&原型模式(ProtoType)
- setmjsrttyd的画电都没以的话他一没
- Linux下vi替换字符命令操作实例
- BST树(Binary Search Tree)二叉搜索树
- 在应用层使用ntdll.dll中的未导出函数
- 简易发送邮件代码