2013-12-14 817 views
0

我正在開發一個應用程序,它使用ITextSharp生成pdf並需要靜默或直接打印。我的工作流程就像這樣,我在樹形結構中列出了一些表單,並選擇表單並單擊打印按鈕將自動生成使用Itextsharp的pdf並保存到某個位置。這是因爲對於多個記錄,我們將其下載爲zip文件。並打開而不打開任何其他窗口。我使用谷歌瀏覽器作爲瀏覽器並使用KIOSK模式。在谷歌瀏覽器中使用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

我不熟悉你的JavaScript參數,但不想要'BUI:假,bSilent:true',所以*不顯示* UI並且它默默地打印? –

+0

即使我更改了代碼,也不會發生變化 – Sivajith

+1

您能否告訴我們您在哪裏找到了這些參數的文檔? –

回答

4

使用

--kiosk --kiosk-printing <application_URL> 

創建一個新的chrome.exe快捷 添加-kiosk -kiosk印刷標誌到的chrome.exe目標快捷 添加亭的網址在Chrome瀏覽器設置起始頁(或將chrome.exe替換爲「chrome.exe -kiosk http:// [在此輸入URL]」) 將快捷方式拖入啓動文件夾,以便自動加載。

這就是它!然後,當您打開它的全屏幕並將自助終端和自動打印功能集於一身! :)要退出Kiosk,請按鍵盤上的Alt + F4。

+0

未找到鏈接404 – Blowsie

3

必須使用:
DIRECT PRINT:--kiosk-printing
Kiosk模式:--kiosk [application_url]
Kiosk模式& DIRECT PRINT:--kiosk-printing --kiosk [application_url]