c# 打印

两种方法:adobe PDF或gs,统一之处都是先把控件画在printDocument(控件)上,保存为gs文件,然后转成PDF打印

case "Adobe PDF":
                                #region  Adobe
                                PrintReport.PrinterSettings.PrinterName = DBConnection.printer;//PrintReport即printDocument控件
                                PrintReport.DefaultPageSettings.PaperSize = new PaperSize("Custom", 745, 1050);
                                PrintReport.DefaultPageSettings.Margins.Right = 70;
                                PrintReport.DefaultPageSettings.Margins.Top = 90;
                                PrintReport.PrinterSettings.PrintToFile = true;
                                PrintReport.PrinterSettings.PrintFileName = @"in\document.ps";
                                PrintReport.PrintController = new StandardPrintController();
                                PrintReport.Print();
                                Process p_adobe = Process.Start(Application.StartupPath + @"/Acrobat/acrodist.exe");
                                p_adobe.WaitForExit();
                                Focus();
                                UpFile(@"out\document.pdf", SeriesID.Replace('*', 'x') + ".pdf");//利用ftp上传,可以忽略
                                #endregion
                                break;
                            default:
                                #region gs
                                PrintReport.PrinterSettings.PrinterName = DBConnection.printer;
                                PrintReport.DefaultPageSettings.PaperSize = new PaperSize("Custom", 745, 1050);
                                PrintReport.DefaultPageSettings.Margins.Right = 70;
                                PrintReport.DefaultPageSettings.Margins.Top = 90;
                                PrintReport.PrinterSettings.PrintToFile = true;
                                PrintReport.PrinterSettings.PrintFileName = @"gs/document.ps";
                                PrintReport.PrintController = new StandardPrintController();
                                PrintReport.Print();
                                Environment.CurrentDirectory = Application.StartupPath + "/gs";
                                Process pros = Process.Start("ps2pdf.bat", "document.ps");
                                pros.WaitForExit();
                                Environment.CurrentDirectory = Application.StartupPath;
                                Focus();
                                UpFile(@"gs/document.pdf", SeriesID.Replace('*', 'x') + ".pdf");
                                #endregion
                                break;

 

转载于:https://www.cnblogs.com/gaara-zhang/p/9663277.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值