版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、打印實(shí)現(xiàn)機(jī)制及使用方法1 本項(xiàng)目使用的打印實(shí)現(xiàn)機(jī)制本系統(tǒng)的證照文書(shū)打印要求較高,不僅需要精確控制打印的效果,同時(shí)還需要完成打印模板的自定義(提供“所見(jiàn)即所得”的方式由最終用戶(hù)來(lái)根據(jù)需求設(shè)計(jì)打印的格式)和客戶(hù)端的打印機(jī)設(shè)置及頁(yè)面設(shè)置。1.1 實(shí)現(xiàn)機(jī)制在權(quán)衡了各種Web應(yīng)用打印方案之后,本系統(tǒng)將通過(guò)XML強(qiáng)大的自定義功能來(lái)自定義出我們需要的打印格式控制標(biāo)簽,在服務(wù)器端進(jìn)行動(dòng)態(tài)編碼后通過(guò)WEB服務(wù)器傳到客戶(hù)端,然后在客戶(hù)端進(jìn)行格式解析,根據(jù)服務(wù)器端定義的打印格式從客戶(hù)端直接控制打印機(jī)打印出我們需要的報(bào)表。如圖:1.1.1 實(shí)現(xiàn)原理實(shí)現(xiàn)的原理就是要方便的解析出定義好的XML格式標(biāo)記,解讀出文件中標(biāo)記的
2、參數(shù)定義,最后將這些信息還原成打印機(jī)輸出的圖形格式。為了能表達(dá)出復(fù)雜的報(bào)表樣式,我們需要定義一些標(biāo)記,在這些標(biāo)記中附加上具體的樣式信息,作用類(lèi)似HTML的標(biāo)簽,而我們的解析程序就相當(dāng)于IE瀏覽器,所不同的是IE將圖形輸出到屏幕,而我們是將圖形輸出到打印機(jī),由于打印機(jī)相對(duì)于顯示屏的特殊性(例如分頁(yè)),因此我們不能直接采用網(wǎng)頁(yè)瀏覽器的標(biāo)簽解析功能來(lái)打印,需要自己來(lái)做一個(gè)滿(mǎn)足需要的"打印瀏覽器"。1.1.2 框架選擇客戶(hù)端打印控件的實(shí)現(xiàn)可以采用ActiveX控件、Java Applet、.NET framework的WinForm來(lái)實(shí)現(xiàn)。考慮以下優(yōu)勢(shì),推薦采用WinForm來(lái)實(shí)現(xiàn)
3、:l 有很強(qiáng)大的打印控制功能。與操作系統(tǒng)兼容性高,同時(shí)具有.NET framework提供了強(qiáng)有力的支持。Java applet在這方面支持不太好,并且需要在客戶(hù)端進(jìn)行一定的設(shè)置。l 和IE兼容性高。同為Microsoft公司產(chǎn)品。Java applet在碰到一些特殊字體等情況下會(huì)出現(xiàn)問(wèn)題。l 它不需要進(jìn)行客戶(hù)端注冊(cè)。相對(duì)于ActiveX的一個(gè)大優(yōu)點(diǎn)。l 比ActiveX安全性高。在.NET Common Language Runtime的控制之下運(yùn)行。l 編寫(xiě)方便。Java applet受限制較多,會(huì)增加開(kāi)發(fā)難度;而ActiveX開(kāi)發(fā)周期較長(zhǎng)且有版本問(wèn)題。l 直接支持XML技術(shù)。1.1.3
4、安裝及使用:客戶(hù)端安裝.NET 運(yùn)行時(shí)環(huán)境;在頁(yè)面中嵌入調(diào)用:<object classid="clsid:977B2235-D02A-40D5-B757-E8E6679DC02D" Width="100%" Height="100%" ID="Printcontrol1" codebase="Setup.Exe" ><PARAM NAME="SourceXml" VALUE=":8080/wzdjgl/repor
5、t.xml" ></object>其中參數(shù)SourceXml定義了XML的位置,可以使用類(lèi)似e=1&id=2的格式。而print.jsp根據(jù)參數(shù)獲取打印模板X(qián)ML,同時(shí)獲取數(shù)據(jù)庫(kù)數(shù)據(jù)對(duì)此XML修改并輸出一個(gè)新的XML。1.1.4 工作流程:通過(guò)在網(wǎng)頁(yè)內(nèi)嵌入打印控件,同時(shí)通過(guò)定義好的格式文件和數(shù)據(jù)庫(kù)記錄生成活動(dòng)XML數(shù)據(jù)文件,打印控件讀取此文件及其中的頁(yè)面設(shè)置,在屏幕上分頁(yè)打印其定義的格式及內(nèi)容,用戶(hù)可以進(jìn)行御覽、修改打印設(shè)置并最終打印。系統(tǒng)初始將按照總局提供格式完成打印格式文件的定義,用戶(hù)在使用中可以進(jìn)行自定義并保存方便以后使用。定義打印格式的同樣調(diào)用打印控
6、件來(lái)進(jìn)行 “所見(jiàn)即所得”的 設(shè)置。1.2 格式定義為了能控制打印的格式,我們定義了下列的格式標(biāo)簽,其中在命名上參考了HTML的命名辦法,所以基本上熟悉HTML的都能明白標(biāo)簽的具體含義。如果有新的需求,也可以定義更多更精確的格式標(biāo)簽。在本系統(tǒng)的打印中,我們主要定義了文字、翻頁(yè)、表格以及圖片的控制標(biāo)簽,同時(shí)為了實(shí)現(xiàn)簡(jiǎn)單的報(bào)表格式(如餅圖、柱狀圖等)擴(kuò)展了線條、扇形、矩形等結(jié)構(gòu)。而更復(fù)雜的效果可以先由其他系統(tǒng)轉(zhuǎn)化為圖形,然后在這里調(diào)用。以下的例子展示了其基本結(jié)構(gòu):1.2.1 文本: (text)l 使用場(chǎng)景:常用于單行文本的打印l 示例:<text fontsize="24"
7、; b="False" i="False" u="False" fontname="黑體" fontcolor="Black" x="204" y="101">企業(yè)名稱(chēng)預(yù)先核準(zhǔn)通知書(shū)</text>l Attribute含義Attribute含義取值類(lèi)型Fontsize字體大小整數(shù) 4-72B是否加粗Booean (true or false)I是否斜體Booean (true or false)U是否有下劃線Booean (true or
8、 false)Fontname 字體名稱(chēng)String (系統(tǒng)字體名稱(chēng))Fontcolor 顏色String(系統(tǒng)顏色)X起始橫坐標(biāo)整數(shù)Y起始橫坐標(biāo)整數(shù)1.2.2 多行文本: (mulitext)l 使用場(chǎng)景:常用于固定內(nèi)容且使用默認(rèn)行間距的段落l 示例:<mulitext fontsize="9" b="False" i="False" u="False" fontname="楷體_GB2312" fontcolor="Black" x="110"
9、y="894" width="600" spaces="0">企業(yè)設(shè)立登記后,企業(yè)登記機(jī)關(guān)應(yīng)將本通知書(shū)原件存入企業(yè)檔案。</mulitext>l Attribute含義Attribute含義取值類(lèi)型Width打印寬度整數(shù)Spaces首行縮進(jìn)空格數(shù)整數(shù)1.2.3 固定大小文本:(fixedsizetext)l 使用場(chǎng)景:常用于套打中大小固定而內(nèi)容可變的區(qū)域l 示例:<fixedsizetext x="499" y="208" fontsize="18"
10、b="False" i="False" u="False" fontname="宋體" fontcolor="Black" width="300" height="100" spaces="0">這是一個(gè)固定大小的文本框,會(huì)根據(jù)寬度和高度和高度自動(dòng)調(diào)節(jié)字體的大小 </fixedsizetext>l Attribute含義Attribute含義取值類(lèi)型height打印高度整數(shù)1.2.4 組合而成的段落:(paragrap
11、h) l 使用場(chǎng)景:常用于段落中可變固定較多時(shí)l 示例: <paragraph fontsize="14" b="False" i="False" u="False" fontname="宋體" fontcolor="Black" x="101" y="200" width="600" spaces="4" split="1"> <label value=&q
12、uot;根據(jù)企業(yè)名稱(chēng)登記管理規(guī)定、企業(yè)名稱(chēng)登記管理實(shí)施辦法等規(guī)定,同意預(yù)先核準(zhǔn)下列 " /> <fillitem fontsize="14" b="True" i="False" u="False" fontname="宋體" fontcolor="Black">2</fillitem> <label value="個(gè)投資人出資,注冊(cè)資本(金)" /> <fillitem fontsize=&quo
13、t;14" b="True" i="False" u="False" fontname="宋體" fontcolor="Black">200</fillitem> <label value="萬(wàn)元(人民幣),住所設(shè)在 " /> <fillitem fontsize="14" b="True" i="False" u="False" fontname=&
14、quot;宋體" fontcolor="Black">浙江省麗水地區(qū)</fillitem> <label value="的企業(yè)名稱(chēng)為:" /> </paragraph>l Attribute含義Attribute含義取值類(lèi)型Split 行間距倍數(shù)(如1倍行距)floatl ChildNode含義ChildNode含義內(nèi)容Label 固定打印內(nèi)容子項(xiàng)文本Fillitem 填充項(xiàng)需要描述字體的文本(可能加粗、下劃等)1.2.5 表格:(paragraph) l 使用場(chǎng)景:多行表格(目前只考慮簡(jiǎn)單表格,復(fù)雜表
15、格可以通過(guò)嵌套完成,暫不實(shí)現(xiàn))l 示例: <table x="103" y="439" width="500" bordercolor="Black" bordersize="0" CanChange="True"> <tr height="20"> <td fontsize="11" b="True" i="False" u="False" fo
16、ntname="宋體" fontcolor="Black" x="103" y="439" width="350" align="left">伊利集團(tuán)</td> <td fontsize="11" b="True" i="False" u="False" fontname="宋體" fontcolor="Black" x="
17、453" y="439" width="75" align="center">100萬(wàn)元</td> <td fontsize="11" b="True" i="False" u="False" fontname="宋體" fontcolor="Black" x="528" y="439" width="75" align=&
18、quot;center">50%</td> </tr> <tr height="20"> <td fontsize="11" b="True" i="False" u="False" fontname="宋體" fontcolor="Black" x="103" y="459" width="350" align="left&qu
19、ot;>夢(mèng)牛集團(tuán)</td> <td fontsize="11" b="True" i="False" u="False" fontname="宋體" fontcolor="Black" x="453" y="459" width="75" align="center">100萬(wàn)元</td> <td fontsize="11" b=
20、"True" i="False" u="False" fontname="宋體" fontcolor="Black" x="528" y="459" width="75" align="center">50%</td> </tr>l Attribute含義Attribute含義取值類(lèi)型bordercolor邊框顏色系統(tǒng)顏色borderSize 邊框?qū)挾日麛?shù),0則不顯示CanChange是
21、否根據(jù)內(nèi)容計(jì)算并使用較合適的寬度、高度Boolean l ChildNode含義ChildNode含義內(nèi)容tr表格行高度Td單元格對(duì)齊方式,寬度及文本使用內(nèi)容1.2.6 圖片:(printimg)l 使用場(chǎng)景:圖片,如使用公章、復(fù)雜固定內(nèi)容可以先保存成圖片等l 示例: <printimg x="515" width="128" y="167" height="128" fixed="False" src="" />l Attribute含義Attribute含義取
22、值類(lèi)型fixed是否固定大小,否則匹配圖片的大小Boolean src圖片源文件地址文件路徑,可為httptransparence是否透明boolean1.2.7 線條:(printline)l 使用場(chǎng)景:報(bào)表(如:折線圖 K線圖)、分割線、特殊形狀等l 示例: <printline x1="182" x2="382" y1="104" y2="104" linecolor="Red" linesize="2" />l Attribute含義Attribute含義
23、取值類(lèi)型X1,X2線條起始點(diǎn)橫坐標(biāo)整數(shù)Y1,y2線條起始點(diǎn)縱坐標(biāo)整數(shù)linecolor線條顏色系統(tǒng)顏色linesize線條寬度整數(shù),0則不顯示1.2.8 翻頁(yè):(暫未實(shí)現(xiàn))l 使用場(chǎng)景:快速跳過(guò)頁(yè)內(nèi)剩余部分或跳過(guò)若干頁(yè)。l 示例:<newpage pageNumber=”1”><newpage>l Attribute含義Attribute含義取值類(lèi)型pageNumber跳過(guò)頁(yè)數(shù),1則為當(dāng)前頁(yè)面整數(shù)1.2.9 扇形:(暫未實(shí)現(xiàn))l 使用場(chǎng)景:餅圖等l 示例:紅色部分50%<pie x="450" y="40" h="
24、300" w="300" preAngel ="0" curAngel="180" fillColor="red"><pen color="Black" Width ="6"></pen></pie>綠色部分25%<pie x="450" y="40" h="300" w="300" preAngel ="180" cu
25、rAngel="90" fillColor="green"><pen color="Black" Width ="6"></pen></pie>藍(lán)色部分25%<pie x="450" y="40" h="300" w="300" preAngel ="270" curAngel="90" fillColor="blue">&
26、lt;pen color="Black" Width ="6"></pen></pie>l Attribute含義Attribute含義取值類(lèi)型preAngel起始角度整數(shù)curAngel自身角度整數(shù)fillColor填充顏色系統(tǒng)顏色l ChildNode含義ChildNode含義內(nèi)容pen邊線顏色及線寬1.2.10 矩形:(暫未實(shí)現(xiàn))l 使用場(chǎng)景:柱狀圖等l 示例:<rect x="450" y="40" h="300" w="300" ><pen color="Black" Width ="6"></pen></rect>
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版信托資金借貸合同合規(guī)性審查條款3篇
- 二零二五年度古董家具修復(fù)木工合同范本4篇
- 二零二五年度智能鎖定制加工合同范本4篇
- 2025版環(huán)保木工材料供應(yīng)與分包工程合同4篇
- 2025版事業(yè)單位聘用合同續(xù)簽與績(jī)效考核及晉升標(biāo)準(zhǔn)協(xié)議3篇
- 2025版外教中介聘請(qǐng)合同標(biāo)準(zhǔn)范本3篇
- 農(nóng)產(chǎn)品倉(cāng)儲(chǔ)庫(kù)存管理與優(yōu)化考核試卷
- 2025版信托投資公司外匯存款賬戶(hù)管理合同3篇
- 2025年加盟冰淇淋店合同模板
- 2025年加盟加盟推廣合同
- 道路瀝青工程施工方案
- 內(nèi)陸?zhàn)B殖與水產(chǎn)品市場(chǎng)營(yíng)銷(xiāo)策略考核試卷
- 票據(jù)業(yè)務(wù)居間合同模板
- 承包鋼板水泥庫(kù)合同范本(2篇)
- DLT 572-2021 電力變壓器運(yùn)行規(guī)程
- 公司沒(méi)繳社保勞動(dòng)仲裁申請(qǐng)書(shū)
- 損傷力學(xué)與斷裂分析
- 2024年縣鄉(xiāng)教師選調(diào)進(jìn)城考試《教育學(xué)》題庫(kù)及完整答案(考點(diǎn)梳理)
- 車(chē)借給別人免責(zé)協(xié)議書(shū)
- 應(yīng)急預(yù)案評(píng)分標(biāo)準(zhǔn)表
- “網(wǎng)絡(luò)安全課件:高校教師網(wǎng)絡(luò)安全與信息化素養(yǎng)培訓(xùn)”
評(píng)論
0/150
提交評(píng)論