打印實(shí)現(xiàn)機(jī)制及使用方法_第1頁
打印實(shí)現(xiàn)機(jī)制及使用方法_第2頁
打印實(shí)現(xiàn)機(jī)制及使用方法_第3頁
打印實(shí)現(xiàn)機(jī)制及使用方法_第4頁
打印實(shí)現(xiàn)機(jī)制及使用方法_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論