還是那句話:十年河東,十年河西,莫欺少年窮。
目前,web端打印技術有很多,有收費的專業web打印控件,大家可以參考我的上一篇博客。當然,很多公司不願意出錢,那么今天咱們就探討下怎么做免費的打印。
web端JS技術很強大,JS也提供了簡單的打印方法,大家可參考JQprint()方法,這個方法網上有很多說明,在我的上一篇博客中也有提到,可以簡單實現打印功能,大家可自行查詢資料,在此不作說明。
現在咱們進入主題。
本篇旨在講解用C#代碼實現打印的方法及思路。
先說下思路:
項目模塊各功能要求打印的內容是各不相同的,有打印列表的,有打印圖表的,有打印文字的,例如:打印三七班所有學生信息,這個屬於列表。打印某個學生的體檢單,這個屬於表格和文字結合的。打印近五年畢業生的就業率,也就是柱狀圖/餅狀圖/線性圖等,這個屬於圖表打印!
那么,不管是打印列表還是打印圖表,亦或是其他復雜表格,我們在Docx文檔中都是可以設計出來的,例如下圖學生信息列表:
這種Docx文檔,我們在此稱為:模板
下面,將我制作的整個模板貼出來,如下:
OK,現在有了模板,我們下一步工作的內容是如何填充模板,並保存為新的Docx文檔。例如:把模板中UserName替換為:XX班。把maomi替換為:三七班的班花的照片。把空着的表格填充XX班學生的信息。
如何填充模板呢?填充完以后,如何保存為新的Docx文檔呢?這些都是代碼可以實現的,現在咱們先避開代碼部分,繼續講解思路。
有了填充后的docx文件,用戶下載后,就可以實現打印了,但是docx文件不是只讀的,為了防止用戶故意篡改docx文檔,我們有必要將docx文檔轉化為PDF文件或者swf文件(所謂:swf文件是Flash文件)。
將填充后的docx文檔轉化為PDF或者Flash文件后,我們的工作也就做完了!用戶也就可以打印相應的文件了。
現在先演示下我的項目:
屬於橫向打印:如下:
以上便是整個操作過程,項目運行后,會在瀏覽器端展示PDF文件,然后,鼠標右擊,打開打印頁面!
至於項目代碼,由於太多,不在博客園上傳,下載地址:http://download.csdn.net/detail/wolongbb/9820491
@陳卧龍的博客