我正在开发一个使用ITextSharp生成pdf的应用程序,需要静默或直接打印。我的工作流程是这样的,我在树形结构中列出了一些表格,在选择表格时点击打印按钮将使用Itextsharp自动生成pdf并保存到某个位置。这是因为对于多个记录我们将其下载为zip文件。然后去打印而不打开任何其他窗口。我使用谷歌浏览器作为浏览器并使用KIOSK模式。
但不幸的是,当我执行代码时,打印预览将在我的浏览器中打开,我需要单击后退按钮才能到达我的页面。我想要清除它。我还需要清除树形结构的选择。
特此打印时附上代码。
MemoryStream ms = new MemoryStream();
var urlPdf = Server.MapPath("~/Pdf/pdfMerge/" + id + "Merge_doc.pdf");
PdfReader ps = new PdfReader(urlPdf);//1
PdfStamper pdf = new PdfStamper(ps, ms);//2
pdf.JavaScript = "this.print({bUI: true,bSilent:false,bShrinkToFit: true});" + "\r\n" + "this.closeDoc();";//3
pdf.Close();//4
HttpContext.Current.Response.ClearContent();//5
HttpContext.Current.Response.ClearHeaders();//6
HttpContext.Current.Response.ContentType = "application/pdf";//7
HttpContext.Current.Response.AddHeader("Content-Disposition", "inline;filename=quickforms.pdf");//8
HttpContext.Current.Response.BinaryWrite(ms.ToArray());//9
ms.Flush();
有人能帮助我吗?
答案 0 :(得分:6)
使用
--kiosk --kiosk-printing <application_URL>
创建新的chrome.exe快捷方式 将-kiosk -kiosk-printing标志添加到chrome.exe目标快捷方式 将自助服务终端的网址添加为Chrome设置中的起始页(或将chrome.exe替换为“chrome.exe -kiosk http:// [在此输入网址]”) 将快捷方式拖到启动文件夹中,以便自动加载。
就是这样!然后,当您打开全屏并锁定自助服务终端和自动打印功能时! :)要退出Kiosk,请按键盘上的Alt + F4。
答案 1 :(得分:3)
必须使用:
PRINT DIRECT:--kiosk-printing
KIOSK模式:--kiosk [application_url]
KIOSK MODE&amp; PRINT DIRECT:--kiosk-printing --kiosk [application_url]