簡體   English   中英

在ASP.NET頁面中控制打印

[英]Control Printing in ASP.NET Page

我需要創建一個打印支票的Web應用程序。 由於程序的性質,它需要非常安全,並且需要記錄每個操作。 我需要能夠生成支票,打印支票,如果需要允許重印等。

我已完成檢查的一代。 我決定制作一個PDF(這樣我就不會得到任何瀏覽器頁眉/頁腳垃圾)。 我想做的是甚至不將PDF保存到文件中,而是將數據直接發送到打印機。 基本上,我希望用戶輸入支票金額,選擇要打印的帳戶,然后單擊一個按鈕,將該支票的數據直接發送到打印機。 我甚至不希望用戶能夠查看要打印的內容的PDF。

有沒有人在ASP.NET中做過類似的事情?

謝謝。

[編輯]

我問過的原始問題是用ActiveX控件回答的。 然而,我決定采用不同的方式。 我沒有打印PDF,而是決定創建支票背景的圖像。 然后我將使用該圖像(.jpg),並使用System.Drawing.Graphics並在我的X,Y坐標和字體首選項中放置相應的文本(MICR行,數量,檢查日期等)來操作它。 D B。 從那里,我可以使用System.Drawing.Printing命名空間從Web服務器將新的.jpg文件發送到網絡打印機,從而無需使用activeX控件並進一步加強安全性,因為完成檢查的新圖像永遠不會已保存,用戶永遠無法訪問支票的疊加層。

謝謝你的幫助。

如果你看看郵政服務如何解決這個問題,你會發現一個簡單的Web應用程序不會這樣做。 要控制項目發送到打印機的方式和時間,請使用ActiveX組件或Java軟件。

[編輯]

小澄清:我認為軟件必須在客戶端運行,而不是建議的服務器端建議。

如果您想要使用.NET路由,那么您需要使用Managed C ++中的ActiveX或從Web啟動的Click-Once應用程序(允許更多的.NET語言,但可以進行反編譯和更改)。

我們已經通過幾種方式實現了這種情況。 首先,我們有傳統的PDF解決方案,服務器生成PDF打印圖像,將其返回到瀏覽器,然后通過PDF插件顯示並可選擇打印。

其次,我們編寫了一個客戶端ActiveX組件來處理打印。 將輸入值傳遞給后端Web服務,該服務使用FOP將打印格式化為PCL。 PCL被傳遞回ActiveX組件,然后該組件將PCL直接發送到用戶默認打印機。 此處不需要PDF。

無論哪種方式都有效,但只有第二種選擇 - 這將要求您實現一些客戶端部分 - 滿足您的所有要求。

沒有辦法做到這一點。 您只能向用戶發送文檔,然后用戶可以將文檔發送到打印機。 有一些方法可以提示打印對話框直接彈出,但如果允許您控制在用戶計算機上管理數據的方式,則網絡會非常不安全。

NKCSS是正確的,它需要在用戶的機器上實際安裝軟件。 您可以通過將其設置為提示用戶打印的PDF來盡可能多地完成。

如果您將支票作為html,則可以使用樣式顯示/隱藏僅適用於打印機的內容,如本文所述: 此處

沒有辦法完全安全地完成這項工作。 即使您強制PDF直接打印到用戶的默認打印機,它本身也可能是像PDFCreator這樣的PostScript或PDF打印機。 因此他們最終仍然可以獲得可見的PDF。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM