基于信封套打以及批量打印的實現(xiàn)過程

最近需要向客戶發(fā)送一些宣傳資料集畅,Excel列表里面有一兩百個記錄园担,本來想手寫就算了届谈,估摸著也花不了多少時間,不過寫完一個信封我就后悔了弯汰,整天敲著鍵盤艰山,書寫的字太難看了,而且感覺手還是有點累咏闪。才第一個啊曙搬,想著后面還有那么多,感覺整個人頭都大了鸽嫂,只好放棄纵装,太沒技術(shù)含量了。然后尋找有無一些套打的的軟件据某,不過找來找去還是沒有滿意的橡娄,還是自己寫一個套打的軟件好了,這個小小的還是有點技術(shù)含量癣籽,呵呵挽唉。本篇隨筆基于這個困惑,整理了一個信封套打以及批量打印的實現(xiàn)過程才避,軟件可以實現(xiàn)自動批量的信封套打橱夭,一兩百個的信封地址,也是一陣子的功夫就打印完成了桑逝,感覺小有成就棘劣,而且以后就基于這個模式來批量打印信封,方便了很多楞遏。

1茬暇、信封套打的實現(xiàn)思路

基于套打的處理,我在幾年前的隨筆都有一些隨筆介紹寡喝,如《Web打印的解決方案之證件套打》糙俗、《基于MVC4+EasyUI的Web開發(fā)框架經(jīng)驗總結(jié)(16)--使用云打印控件C-Lodop打印頁面或套打報關(guān)運單信息》這兩篇隨筆基本思路還是采用打印控件C-Lodop(http://www.lodop.net/)來進行打印的,我這樣的套打小程序预鬓,最好還是做成Winform程序比較方便巧骚,因此在Winform里面整合網(wǎng)頁瀏覽就可以實現(xiàn)這個控件的打印處理了。

另外,我們根據(jù)打印的地址信息劈彪,動態(tài)的生成HTML內(nèi)容即可竣蹦,基于這樣的理念,我們動態(tài)生成HTML可以考慮使用NVelocity的模板化處理技術(shù)沧奴,這個可以參考下我的隨筆《使用NVelocity生成內(nèi)容的幾種方式》進行了解痘括,這個NVelocity用來處理模板化的內(nèi)容生成還是非常方便的。

前面介紹的這些內(nèi)容滔吠,其實就是基于C-Lodop 和 NVelocity進行一個信封批量套打的處理實現(xiàn)技術(shù)纲菌。

這些技術(shù)都是之前研究實現(xiàn)過的東西,用起來應(yīng)該駕輕就熟了疮绷,也就不枉費精力去找其他信封套打軟件了翰舌。

我們先來介紹一下整體的打印效果,首先我們要有一些特制的信封或者普通信封冬骚,這樣才能基于這個基礎(chǔ)上進行套打灶芝,把郵政編碼、地址和聯(lián)系人等信息打印上去唉韭。

image

然后你需要有一個打印設(shè)備,我這里采用了一個佳能的噴墨打印機(當(dāng)然其他的也沒問題)犯犁。

image

最后就是基于軟件的基礎(chǔ)上進行套打了属愤,軟件可以單個打印,也可以導(dǎo)入Excel進行套打才可以解決實際問題酸役。

image

一般是在單個打印沒問題后住诸,進行批量打印,可以省卻大量的時間涣澡,下面是基于這個套打軟件打印的信封贱呐,如果手寫的話,不知道寫到何年何月了入桂。

image

2奄薇、信封套打的實現(xiàn)過程

下面我們來介紹這個信封套打的實現(xiàn)過程。

首先我們先做一個測試頁面抗愁,啟動C-Lodop的設(shè)計界面馁蒂,我們往里面添加一些信封所需要的元素,如套打的背景圖片蜘腌、郵政編碼的文本沫屡、地址文本、人名稱呼等信息后撮珠,大致調(diào)整到合適的位置即完成了相關(guān)的設(shè)計沮脖,界面設(shè)計效果如下所示。

image

然后我們通過獲取設(shè)計樣式下的代碼

image

生成代碼里面就可以看到具體的內(nèi)容了。

image

有了這些信息勺届,我們就可以創(chuàng)建一個HTML模板驶俊,然后利用NVelocity來動態(tài)生成相關(guān)的變量信息即可,HTML模板文件中的邏輯代碼(JS代碼)如下所示涮因。

image

接著在我們模板文件中的打印預(yù)覽函數(shù)編寫如下所示废睦。

image

這樣就可以實現(xiàn)標(biāo)準(zhǔn)格式的瀏覽了,文本顯示位置不一定和背景完全吻合养泡,背景只是作為參考處理而已嗜湃。

image

完成這些就基本上是大功告成了,但是我們打印的時候澜掩,我們需要注意在打印設(shè)置中采用的紙張购披,如果采用A4的卡紙寬度和自定義的卡紙寬度的設(shè)置是不同的,我們建議根據(jù)信封的尺寸自定義格式設(shè)置肩榕,卡紙的位置就和信封寬度一致即可刚陡,防止信封進紙的時候晃動導(dǎo)致位置發(fā)生偏差。下面的是我對打印信封的用戶自定義設(shè)置對話框株汉,采用實際的尺寸(毫米)進行設(shè)置即可筐乳。

image

前面介紹的是當(dāng)個信封打印預(yù)覽然后進行打印,打印的按鈕事件處理代碼如下所示乔妈。

image

傳入相關(guān)的鍵值參數(shù)后蝙云,可以實現(xiàn)相關(guān)的數(shù)據(jù)綁定,然后打開HTML后路召,就可以執(zhí)行相關(guān)的腳本進行信封打印了勃刨。

而對于批量打印,處理方式和單個打印有所差異股淡,就是不會每個都介入預(yù)覽操作身隐,我們是需要把一批對象進行打印。

那么我們?nèi)绻獙崿F(xiàn)批量的數(shù)據(jù)打印唯灵,就需要利用JS里面的數(shù)組操作贾铝,把對應(yīng)的對象放到里面,然后批量進行打印就可以了埠帕。

image

而這個數(shù)據(jù)的生成忌傻,我們就是利用NVelocity的模板函數(shù)進行處理即可。

image

完成這些搞监,我們就可以傳入對應(yīng)的打印集合水孩,讓其在NVelocity模板里面生成對應(yīng)的HTML代碼,生成對應(yīng)的對象加入到打印的數(shù)組里面琐驴,從而完成批量的數(shù)據(jù)打印了俘种。

批量套打是在我們確認單個打印格式吻合已有信封的位置情況下秤标,進行批量的打印處理。

image

一旦開啟批量打印宙刘,我們的剩下的工作就是不斷的往打印機上面放置足夠的信封即可苍姜,可以邊喝茶邊等待完成,悠然自得的了悬包。

image

以上就是基于NVelocity+C-LODOP控件實現(xiàn)的信封套打整個思路和實現(xiàn)方式衙猪,對于我們技術(shù)人來說,做一個這樣的軟件所花費的時間布近,比手寫幾百個信封浪費的時間更有意義垫释,所獲得的成就感也是有那么一些的。

總之撑瞧,技術(shù)就是為生活服務(wù)棵譬。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市预伺,隨后出現(xiàn)的幾起案子订咸,更是在濱河造成了極大的恐慌,老刑警劉巖酬诀,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件脏嚷,死亡現(xiàn)場離奇詭異,居然都是意外死亡瞒御,警方通過查閱死者的電腦和手機然眼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來葵腹,“玉大人,你說我怎么就攤上這事屿岂〖纾” “怎么了?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵爷怀,是天一觀的道長阻肩。 經(jīng)常有香客問我,道長运授,這世上最難降的妖魔是什么烤惊? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮吁朦,結(jié)果婚禮上柒室,老公的妹妹穿的比我還像新娘。我一直安慰自己逗宜,他們只是感情好雄右,可當(dāng)我...
    茶點故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布空骚。 她就那樣靜靜地躺著,像睡著了一般擂仍。 火紅的嫁衣襯著肌膚如雪囤屹。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天逢渔,我揣著相機與錄音肋坚,去河邊找鬼。 笑死肃廓,一個胖子當(dāng)著我的面吹牛智厌,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播亿昏,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼峦剔,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了角钩?” 一聲冷哼從身側(cè)響起吝沫,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎递礼,沒想到半個月后惨险,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡脊髓,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年辫愉,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片将硝。...
    茶點故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡恭朗,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出依疼,到底是詐尸還是另有隱情痰腮,我是刑警寧澤,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布律罢,位于F島的核電站膀值,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏误辑。R本人自食惡果不足惜沧踏,卻給世界環(huán)境...
    茶點故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望巾钉。 院中可真熱鬧翘狱,春花似錦、人聲如沸砰苍。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至历等,卻和暖如春讨惩,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背寒屯。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工荐捻, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人寡夹。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓处面,卻偏偏與公主長得像,于是被迫代替她去往敵國和親菩掏。 傳聞我的和親對象是個殘疾皇子魂角,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,592評論 2 353

推薦閱讀更多精彩內(nèi)容