版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(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í)還需要完成打印模板的自定義(提供“所見即所得”的方式由最終用戶來根據(jù)需求設(shè)計(jì)打印的格式)和客戶端的打印機(jī)設(shè)置及頁面設(shè)置。1.1 實(shí)現(xiàn)機(jī)制在權(quán)衡了各種Web應(yīng)用打印方案之后,本系統(tǒng)將通過XML強(qiáng)大的自定義功能來自定義出我們需要的打印格式控制標(biāo)簽,在服務(wù)器端進(jìn)行動(dòng)態(tài)編碼后通過WEB服務(wù)器傳到客戶端,然后在客戶端進(jìn)行格式解析,根據(jù)服務(wù)器端定義的打印格式從客戶端直接控制打印機(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)記中附加上具體的樣式信息,作用類似HTML的標(biāo)簽,而我們的解析程序就相當(dāng)于IE瀏覽器,所不同的是IE將圖形輸出到屏幕,而我們是將圖形輸出到打印機(jī),由于打印機(jī)相對(duì)于顯示屏的特殊性(例如分頁),因此我們不能直接采用網(wǎng)頁瀏覽器的標(biāo)簽解析功能來打印,需要自己來做一個(gè)滿足需要的"打印瀏覽器"。1.1.2 框架選擇客戶端打印控件的實(shí)現(xiàn)可以采用ActiveX控件、Java Applet、.NET framework的WinForm來實(shí)現(xiàn)??紤]以下優(yōu)勢(shì),推薦采用WinForm來實(shí)現(xiàn)
3、:l 有很強(qiáng)大的打印控制功能。與操作系統(tǒng)兼容性高,同時(shí)具有.NET framework提供了強(qiáng)有力的支持。Java applet在這方面支持不太好,并且需要在客戶端進(jìn)行一定的設(shè)置。l 和IE兼容性高。同為Microsoft公司產(chǎn)品。Java applet在碰到一些特殊字體等情況下會(huì)出現(xiàn)問題。l 它不需要進(jìn)行客戶端注冊(cè)。相對(duì)于ActiveX的一個(gè)大優(yōu)點(diǎn)。l 比ActiveX安全性高。在.NET Common Language Runtime的控制之下運(yùn)行。l 編寫方便。Java applet受限制較多,會(huì)增加開發(fā)難度;而ActiveX開發(fā)周期較長且有版本問題。l 直接支持XML技術(shù)。1.1.3
4、安裝及使用:客戶端安裝.NET 運(yùn)行時(shí)環(huán)境;在頁面中嵌入調(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的位置,可以使用類似e=1&id=2的格式。而print.jsp根據(jù)參數(shù)獲取打印模板XML,同時(shí)獲取數(shù)據(jù)庫數(shù)據(jù)對(duì)此XML修改并輸出一個(gè)新的XML。1.1.4 工作流程:通過在網(wǎng)頁內(nèi)嵌入打印控件,同時(shí)通過定義好的格式文件和數(shù)據(jù)庫記錄生成活動(dòng)XML數(shù)據(jù)文件,打印控件讀取此文件及其中的頁面設(shè)置,在屏幕上分頁打印其定義的格式及內(nèi)容,用戶可以進(jìn)行御覽、修改打印設(shè)置并最終打印。系統(tǒng)初始將按照總局提供格式完成打印格式文件的定義,用戶在使用中可以進(jìn)行自定義并保存方便以后使用。定義打印格式的同樣調(diào)用打印控
6、件來進(jìn)行 “所見即所得”的 設(shè)置。1.2 格式定義為了能控制打印的格式,我們定義了下列的格式標(biāo)簽,其中在命名上參考了HTML的命名辦法,所以基本上熟悉HTML的都能明白標(biāo)簽的具體含義。如果有新的需求,也可以定義更多更精確的格式標(biāo)簽。在本系統(tǒng)的打印中,我們主要定義了文字、翻頁、表格以及圖片的控制標(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è)名稱預(yù)先核準(zhǔn)通知書</text>l Attribute含義Attribute含義取值類型Fontsize字體大小整數(shù) 4-72B是否加粗Booean (true or false)I是否斜體Booean (true or false)U是否有下劃線Booean (true or
8、 false)Fontname 字體名稱String (系統(tǒ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)將本通知書原件存入企業(yè)檔案。</mulitext>l Attribute含義Attribute含義取值類型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含義取值類型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è)名稱登記管理規(guī)定、企業(yè)名稱登記管理實(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="萬元(人民幣),住所設(shè)在 " /> <fillitem fontsize="14" b="True" i="False" u="False" fontname=&
14、quot;宋體" fontcolor="Black">浙江省麗水地區(qū)</fillitem> <label value="的企業(yè)名稱為:" /> </paragraph>l Attribute含義Attribute含義取值類型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、格可以通過嵌套完成,暫不實(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萬元</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萬元</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含義取值類型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、值類型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、取值類型X1,X2線條起始點(diǎn)橫坐標(biāo)整數(shù)Y1,y2線條起始點(diǎn)縱坐標(biāo)整數(shù)linecolor線條顏色系統(tǒng)顏色linesize線條寬度整數(shù),0則不顯示1.2.8 翻頁:(暫未實(shí)現(xiàn))l 使用場(chǎng)景:快速跳過頁內(nèi)剩余部分或跳過若干頁。l 示例:<newpage pageNumber=”1”><newpage>l Attribute含義Attribute含義取值類型pageNumber跳過頁數(shù),1則為當(dāng)前頁面整數(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含義取值類型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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度文化藝術(shù)界員工勞動(dòng)合同范本2篇
- 二零二五年度大蒜種植基地與電商平臺(tái)物流配送合同3篇
- 二零二五年度房產(chǎn)中介保密協(xié)議示范文本9篇
- 二零二五年度房屋抵押貸款與資產(chǎn)證券化合同范本3篇
- 二零二五年度建筑安裝工程安全應(yīng)急預(yù)案編制合同3篇
- 二零二五年度房地產(chǎn)開發(fā)項(xiàng)目合作智慧城市建設(shè)合作協(xié)議范本3篇
- 縱向推書機(jī)構(gòu)課程設(shè)計(jì)
- 二零二五年度步行街商鋪?zhàn)赓U與綠色能源使用協(xié)議合同3篇
- 二零二五年度房地產(chǎn)銷售代理服務(wù)合同(含綠色環(huán)保建材)3篇
- 海南衛(wèi)生健康職業(yè)學(xué)院《拓展運(yùn)動(dòng)課程設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 米吳科學(xué)漫畫奇妙萬象篇
- 河南省鄭州市金水區(qū)2022-2023學(xué)年三年級(jí)上學(xué)期期末數(shù)學(xué)試卷
- XXX酒店開辦費(fèi)POB預(yù)算
- Z矩陣、Y矩陣、A矩陣、S矩陣、T矩陣定義、推導(dǎo)及轉(zhuǎn)換公式
- 中美歐規(guī)范樁基承載力計(jì)算設(shè)計(jì)對(duì)比
- 外科洗手操作考核評(píng)分表
- 復(fù)旦大學(xué)外國留學(xué)生入學(xué)申請(qǐng)表
- 長安汽車發(fā)動(dòng)機(jī)水溫高故障案例分析處置
- 瞬時(shí)單位線法計(jì)算洪水
- 氣力輸灰安裝施工方案
- 抗精神疾病藥物與麻醉課件
評(píng)論
0/150
提交評(píng)論