前言:
作為一個練習的小項目,自我感覺幾番波折⊥硭酰現(xiàn)在做到不到兩周時間尾膊,對我這個只接觸編程行業(yè)幾個月的菜雞,也頗有收獲荞彼。
一冈敛、
首先,在基本毫無想法的基礎上開始了摸索之旅鸣皂。
寫了幾張的需求分析抓谴,感覺整個東西不大好做,主要原因是大腦基本處于空白寞缝。
基本確定了以下的三步:
- 能夠打印固定的模板。
- 動態(tài)打印被啼。
- 數(shù)據(jù)導入打印帜消。
在沒有什么把握的情況下,編寫了項目進度計劃(等于沒什么計劃)趟据。
想要先要調(diào)用打印機券犁,于是各種baidu怎么調(diào)用打印機,三天時間下來汹碱,后臺調(diào)用打印機的想法成空粘衬,最終使用前端技術,還是調(diào)用了瀏覽器的打印功能,相當于window.print()解決了一切稚新。
二勘伺、
因為想著要做一個,標簽設計褂删,即就是能夠設計模板的軟件飞醉,想了各種方法,看了網(wǎng)上各種標簽設計的軟件屯阀,自我能力評估感覺完成不了缅帘。最終確定了使用模板打印,而不是設計模板难衰,感覺這個是可以做的钦无,但是其中還有一些小問題需要解決。
建了一個自我認為有層次的目錄結構盖袭,作為前端的項目失暂。自此開始了前端的旅途。
lib目錄下引入了jquery鳄虱、bootstrap弟塞、jquery-ui、jqueryArea拙已,src目錄下存放開發(fā)寫的相關文件决记。原本是打算做一個簡單的主頁面,將三個模板的操作在這個主頁面顯示倍踪。三個模板頁面寫的還相對順利霉涨,基本完成之后,結果在使用iframe標簽時碰到了頁面間傳值的問題惭适。在研究了大半天的時間后無果笙瑟,聽取前端人員的建議,最終還是將三個頁面直接整合在了一個頁面 上癞志。
在整合時感覺三個頁面分別按照自己的模板錄入數(shù)據(jù)時往枷,太次于是花費了大半天的時間,研究了整合成為一個三個表單共用一個表單錄入數(shù)據(jù)凄杯,這樣看起來就稍微漂亮一點错洁。
三、
最難解決的部分屬于打印時樣式的控制戒突。
- 打印整頁和打印數(shù)據(jù)
打印整頁比較好搞定屯碴,打印數(shù)據(jù)相當于是要搞定套打。
這個套打著實費了一波腦力膊存,最終通過打印時控制標簽的透明度导而,扣出了數(shù)據(jù)忱叭。 - 保證打印的數(shù)據(jù)和打印出的模板位置對住
解決辦法:將數(shù)據(jù)放到<span>,將<span>變?yōu)樾袃?nèi)塊元素,設置元素下邊框顯示今艺,并設置長度一定韵丑,這樣的話無論數(shù)據(jù)模板要填入的位置在哪里,數(shù)據(jù)都會與之對應在哪里顯示虚缎,不會隨意改變位置撵彻。這樣就保證了套打的位置正確性。
四实牡、
基本上到這里陌僵,打印的這個基本功能就達到我的預期,只是頁面設計上還是有比較大的缺陷创坞。
對于前面iframe的頁面?zhèn)髦颠€是有相當興趣研究的拾弃,因為我個人覺的好多東西放在一個頁面總顯得很亂,我利用周末時間好好研究了一下這個東東摆霉,發(fā)現(xiàn)這個東東可以解決。
但是對于這個小項目暫時就不再去做改動了奔坟。因為無聊的工作量携栋。
這里奉上解決iframe頁面?zhèn)髦档膁emo(別人的項目地址):
http://biqing.github.io/MessengerJS/