WPF无弹窗打印_se7en3_新浪博客
项目打印小单,不想弹窗
public class PrintDialogHelper
{
private const string PrintServerName = "艹";
private const string PrintName = "Microsoft XPS Document Writer";
public PrintDialogHelper()
{
}
///
/// 打印控件
///
///
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, "");
}
}
public void PrintDocument(DocumentPaginator docuemnt)
{
var printDialog = new PrintDialog();
SetPrintProperty(printDialog);
var printQueue = SelectedPrintServer(PrintServerName, PrintName);
if (printQueue != null)
{
printDialog.PrintQueue = printQueue;
printDialog.PrintDocument(docuemnt, "");
}
}
///
/// 查找并获取打印机
///
/// 服务器名字: Lee-pc
/// 打印机名字:Hp laserjet m1522 mfp series pcl 6
///
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;//没有找到打印机
}
}
///
/// 设置打印格式
///
/// 打印文档
/// 打印纸张大小 a4
/// 打印方向 竖向
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;//默认竖向打印
}
}
需引用
System.Printing.dll
reachframework.dll
打印的按钮事件 调用
//需打印窗体,页或控件
var printPage = new frmShopOrderPrintView();
var printdialog = new PrintDialogHelper();
printdialog.PrintVisual(printPage);
printPage.ShowDialog();
WPF无弹窗打印_se7en3_新浪博客相关推荐
- WPF TextBlock自定义内容_se7en3_新浪博客
要用到WPF打印,在画界面的时候一段文字内需要有空格,下划线填空,如果用多个TextBlock或者Label拼接的话放在WarpPanel里面排列会因为控件长度问题产生有的行没填满就换行. 只能放在一 ...
- WPF网络图片保存编辑_se7en3_新浪博客
WPF中,原来的图片保存方法会报异常, 以下方法 保存源自网络的图片,编辑包括变成黑白色,在图片上写文字. 链接 http://blog.csdn.net/johnsuna/article/detai ...
- IE ajax无局部刷新_se7en3_新浪博客
原代码: jQuery.get("/Order/OrderMenu", function (data) { jQuery("#or ...
- WPF Grid边框_se7en3_新浪博客
WPF Grid布局自带的属性没有边框 1.头部引入 xmlns:ext="clr-namespace:TS.HY.Manage" 2.Grid设置属性 ext:GridHel ...
- WPF圆角按钮及触发背景变更_se7en3_新浪博客
WPF Button自定义Template并在ControlTemplate.Triggers定义背景变更 转http://www.cnblogs.com/junbird-nest/archive/2 ...
- SqlParameter in (@ids)_se7en3_新浪博客
直接传入在将 varchar 值 '1,2,3,4,5,6,7,8' 转换成数据类型 int 时失败. SqlParameter会在编译时加上''变成varchar,使用charindex解决. WH ...
- 打印机设置为双面打印_hudingyin_新浪博客
一般情况下,打印pdf文档时都会出现双面打印的选项框 如果没有,可以进行如下设置: 1. 右击打印机→打印机属性 2. 选择设备设置→Duplex Unit设置成Installed (开始是unin ...
- [转]移动IIS7.5默认inetpub目录_se7en3_新浪博客
老外写的 批处理文件 moveiis7root.bak ::批处理开始 REM PLEASE BE AWARE: SERVICING (I.E. HOTFIXES AND SERVICE PACKS ...
- 《将博客搬至CSDN》_se7en3_新浪博客
算了,笔记还是丢到CSDN去吧 https://blog.csdn.net/stoco
最新文章
- Debugging JTAG
- 在 Lotus Notes 中设置邮件定时发送的方法及代理功能介绍
- servlet多重映射_关于多重映射问题,很奇怪
- (58) 在计算字段提供搜索功能
- Psych101(part5)--Day5
- 前后端分离与前后端不分离的区别
- 6.MySQL数据库与数据表操作
- Java基础-final关键字
- 初识 InnoDB存储引擎
- MFC CImage透明图片显示
- 程序猿必备的17款最佳的代码审查工具
- c#选择文件保存路径
- win10查看计算机系统版本,如何查看我的电脑是不是win10 1909版本?
- 2020.07-Study_update.5
- 权变理论计算机管理理论,现代管理理论的主要学派
- ept技术_EPT与VPID
- Finding Your Better Half
- 什么是TXT记录?如何设置、检测TXT记录
- Flink一站式平台 StreamX 1.2.2 正式发布, 迄今最稳定可用版本
- RoboCup仿真3D TC笔记(2014年合肥中国公开赛 仿真3D比赛环境搭建)