使用Word可以套打,其實套打一般就是將要打印的內容分毫不差的打印到已有的模板中去,比如獎狀、證書、票據、報表等都可以使用套打完成。
- 方法一: 將Word頁面排版的和打印紙中的頁面完全相同,然後將打印紙中存在的文字內容改爲白色的,或者設置成隱藏文字,表格等圖形的線條改成無,其他需要打印的數據的文本設置爲黑色,然後再套打即可。如果文件中使用了隱藏文字,那麼需要在打印之前,本地打開Word文件,設置“Word選項”中的“顯示”裏“打印選項”部分,去掉“打印隱藏文字”的勾選。這種方式的難度稍微大一點,畢竟用Word編輯一個與打印紙內容完全一樣的頁面是需要花費不少功夫的。
- 方法二: 把打印紙掃描成一張圖片當做Word模板文件的背景,然後在需要生成數據的位置插入沒有邊線和背景色的“簡單文本框”,在文本框中插入書籤用來標記動態填充數據的位置,這樣也可以實現套打。此方式需要在打印之前,本地啓動Word,設置“Word選項”中的“顯示”裏“打印選項”部分,去掉“打印背景色和圖像”的勾選。此方式實現較爲容易。
下面我們就製作一個“榮譽證書”套打模板的過程,來說明一下“方法二”是如何實現的,希望對於沒有接觸過套打的用戶有所幫助和啓發。
模板製作步驟
- 掃描“榮譽證書”的打印紙爲圖片。
- 新建打開Word模板文件,在“頁面佈局”-“頁面背景”中設置圖片填充,把上一步掃描的圖片作爲整個頁面的背景。
- 在需要生成數據的位置插入“簡單文本框”,設置文本框邊框的線條顏色爲“無線條”,設置文本框邊框的填充爲“無填充”,並在各個文本框中插入書籤用來標記動態數據的位置。如下圖所示:
套紅打印
- 在打印文件之前,先打開本地Word,設置“Word選項”中的“顯示”裏“打印選項”部分,去掉“打印背景色和圖像”的勾選。“打印選項”屬於Word本地設置,僅設置一次即可,無需每次套打時都設置。
- 調用PageOffice在線打開“榮譽證書”套打模板(honor.docx)並動態填充各項數據到指定位置。關鍵代碼如下:
WordDocument doc = new WordDocument();
doc.openDataRegion("PO_Name").setValue("李小偉");
doc.openDataRegion("PO_Year").setValue("2023");
doc.openDataRegion("PO_Honor").setValue("最佳員工");
doc.openDataRegion("PO_Unit").setValue("北京幻想科技公司");
PageOfficeCtrl poCtrl1 = new PageOfficeCtrl(request);
poCtrl1.setWriter(doc);
poCtrl1.webOpen("doc/honor.docx", OpenModeType.docReadOnly, "張三");
動態生成的文件效果如下圖所示:
打印生成的榮譽證書,套打的結果如下圖所示:
實際上打印文件時,打印機只打印輸出了下面的內容到打印紙上。
參考鏈接:Word套打