我正在开发一个使用 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();
有谁能够帮我?
最佳答案
用
--kiosk --kiosk-printing <application_URL>
创建一个新的 chrome.exe 快捷方式
向 chrome.exe 目标快捷方式添加 –kiosk –kiosk-printing 标志
在 Chrome 设置中添加 kiosk 的 url 作为起始页面(或将 chrome.exe 替换为“chrome.exe –kiosk http://[在此处输入 URL]”)
将快捷方式拖到启动文件夹中,使其自动加载。
就是这样!然后,当您打开它时,它会全屏显示并与自助服务终端和自动打印功能合二为一! :) 要退出 Kiosk,请按键盘上的 Alt + F4。