亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Web的PDF報(bào)表實(shí)現(xiàn)技術(shù)

        2012-12-31 00:00:00李愈馨喬歡李雷崔萬(wàn)瑞

        摘要:本文講解了基于Web的PDF格式報(bào)表實(shí)現(xiàn)技術(shù),同時(shí)介紹了報(bào)表實(shí)現(xiàn)的重要性,提出了報(bào)表實(shí)現(xiàn)技術(shù)的發(fā)展趨勢(shì)。

        關(guān)鍵詞:PDF報(bào)表;Web

        中圖分類(lèi)號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9599 (2012) 24-0078-02

        1 基于Web的PDF報(bào)表實(shí)現(xiàn)的重要性

        新型數(shù)字化系統(tǒng)具有系統(tǒng)管理、計(jì)劃與調(diào)度管理、參數(shù)監(jiān)測(cè)與分析、資源管理、質(zhì)量管理、報(bào)表管理等幾大功能模塊。其中報(bào)表管理是系統(tǒng)非常重要必不可少的部分,在應(yīng)用系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)中占有十分突出的地位。它包括生產(chǎn)日?qǐng)?bào)、生產(chǎn)月報(bào)、半成品收發(fā)月報(bào),質(zhì)量完成情況報(bào)表等功能。它解決了新型數(shù)字化系統(tǒng)基于Web的瘦客戶端不能操作客戶端打印機(jī)的問(wèn)題,使基于Web系統(tǒng)的報(bào)表打印成為可能。

        2 基于Web的PDF報(bào)表的Java實(shí)現(xiàn)方法

        2.1 iText組件簡(jiǎn)介

        iText是一款開(kāi)源的免費(fèi)Java組件,用于創(chuàng)建和生成PDF文檔,iTextAPI使得Java開(kāi)發(fā)人員可以利用編程來(lái)創(chuàng)建PDF文檔,它有一系列強(qiáng)大功能。

        2.2 PDF報(bào)表的Java實(shí)現(xiàn)方法

        下面以新型數(shù)字化系統(tǒng)的生產(chǎn)月報(bào)為例,具體說(shuō)明基于Web的PDF格式報(bào)表技術(shù)的實(shí)現(xiàn)

        (1)首先導(dǎo)入PDF格式報(bào)表所必須的iText組件的類(lèi),支持PDF、FDF文檔,生成文檔模板:

        importcom.lowagie.text.Document;

        支持使用各種字體:

        importcom.lowagie.text.pdf.BaseFont;

        importcom.lowagie.text.Font;

        支持使用各種元素:

        importcom.lowagie.text.Element;

        支持使用不同的頁(yè)面大?。?/p>

        importcom.lowagie.text.PageSize;

        支持創(chuàng)建PDF表格:

        importcom.lowagie.text.pdf.PdfPTable;

        支持寫(xiě)入PDF文檔:

        importcom.lowagie.text.pdf.PdfWriter;

        支持設(shè)置PDF單元格:

        importcom.lowagie.text.pdf.PdfPCell;

        支持設(shè)置不同的段落格式:

        importcom.lowagie.text.Paragraph;

        (2)設(shè)計(jì)PDF報(bào)表

        首先生成文檔,并設(shè)計(jì)文檔的紙張大小A2,上邊距46,下邊距72左邊距108右邊距108。

        Documentdocument=newDocument(PageSize.A2,46,72,108,108);

        然后設(shè)計(jì)字體的基本格式:

        bfChinese=BaseFont.createFont(\"STSong-Light\",\"UniGB-UCS2-H\",BaseFont.NOT_EMBEDDED);

        為文檔設(shè)計(jì)字節(jié)輸出流:

        ByteArrayOutputStreambuffer=newByteArrayOutputStream();

        寫(xiě)入已經(jīng)生成好的文檔:

        PdfWriter.getInstance(document,buffer);

        打開(kāi)文檔:

        document.open();

        建立表格,并設(shè)置表格的列數(shù)為5:

        PdfPTabledatatable=newPdfPTable(5);

        設(shè)計(jì)表頭的寬度:

        intheaderwidths[]={5,15,15,15,5}

        datatable.setWidths(headerwidths);

        設(shè)計(jì)數(shù)據(jù)表的寬度百分比為100:

        datatable.setWidthPercentage(100);

        設(shè)計(jì)數(shù)據(jù)表單元格的墊襯為5:

        datatable.getDefaultCell().setPadding(5);

        設(shè)計(jì)數(shù)據(jù)表單元格的邊界寬度為1:

        datatable.getDefaultCell().setBorderWidth(1);

        設(shè)計(jì)數(shù)據(jù)表單元格內(nèi)容為中對(duì)齊:

        datatable.getDefaultCell().setHorizontalAlignment(

        Element.ALIGN_CENTER);

        設(shè)計(jì)表頭:車(chē)間生產(chǎn)月報(bào)統(tǒng)計(jì)

        Stringss=\"車(chē)間\"+\"生產(chǎn)月報(bào)統(tǒng)計(jì)表\";

        Paragraphpg=newParagraph(ss,F(xiàn)ontChinese1);

        pg.setAlignment(Element.ALIGN_CENTER);

        pg.setSpacingAfter(20);

        document.add(pg);

        設(shè)計(jì)表格的列標(biāo)題:

        PdfPCellh1=newPdfPCell(newParagraph(\"序號(hào)\",F(xiàn)ontChinese));

        h1.setHorizontalAlignment(Element.ALIGN_CENTER);

        PdfPCellh2=newPdfPCell(newParagraph(\"申報(bào)日期\",F(xiàn)ontChinese));

        h2.setHorizontalAlignment(Element.ALIGN_CENTER);

        PdfPCellh3=newPdfPCell(newParagraph(\"車(chē)間\",F(xiàn)ontChinese));

        h3.setHorizontalAlignment(Element.ALIGN_CENTER);

        PdfPCellh4=newPdfPCell(newParagraph(\"產(chǎn)品代號(hào)\",F(xiàn)ontChinese));

        h4.setHorizontalAlignment(Element.ALIGN_CENTER);

        PdfPCellh5=newPdfPCell(newParagraph(\"產(chǎn)品名稱\",F(xiàn)ontChinese));

        加入列標(biāo)題到數(shù)據(jù)表的單元格:

        datatable.addCell(h1);

        datatable.addCell(h2);

        datatable.addCell(h3);

        datatable.addCell(h4);

        datatable.addCell(h5);

        循環(huán)將數(shù)據(jù)值插入到數(shù)據(jù)表單元格中:

        for(inti=0;i

        PdfPCellsn=newPdfPCell(newParagraph(newInteger(i+1).toString(),F(xiàn)ontChinese));

        sn.setHorizontalAlignment(Element.ALIGN_CENTER);

        datatable.addCell(sn);

        將數(shù)據(jù)表添加到文檔中,并關(guān)閉文檔:

        document.add(datatable);

        document.close();

        byte[]bytes=buffer.toByteArray();

        這樣以新型數(shù)字化車(chē)間的生產(chǎn)月報(bào)表為例的PDF格式報(bào)表就基本實(shí)現(xiàn)了。

        2.3 基于Web的PDF格式報(bào)表的軟件實(shí)現(xiàn)

        新型數(shù)字化系統(tǒng)在有客戶機(jī)/服務(wù)器體系結(jié)構(gòu)支持的基礎(chǔ)上,采用了ZK的開(kāi)發(fā)模式,此開(kāi)發(fā)模式是一個(gè)基于事件驅(qū)動(dòng)和組件的框架,它為Web應(yīng)用提供了豐富的用戶接口。ZK使Web應(yīng)用的開(kāi)發(fā)環(huán)境和桌面應(yīng)用開(kāi)發(fā)環(huán)境很類(lèi)似,客戶端組件和服務(wù)端組件之間是保持一致的。無(wú)論何時(shí)當(dāng)修改一個(gè)運(yùn)行在服務(wù)端的組件時(shí),客戶端的組件也會(huì)通過(guò)ZK的引擎在瀏覽器上進(jìn)。系統(tǒng)的實(shí)現(xiàn)主要有以下步驟:

        搭建ZK開(kāi)發(fā)環(huán)境

        安裝Javaservlet容器,建議安裝ApacheTomcat

        配置web.xml文件此文件對(duì)Web應(yīng)用如何部署進(jìn)行了描述

        配置zk.xml文件此文件對(duì)應(yīng)用進(jìn)行了自定義的配置

        在XML編輯器中設(shè)置zul文件擴(kuò)展名的關(guān)聯(lián)

        創(chuàng)建新型數(shù)字化系統(tǒng)Web工程

        編寫(xiě)新型數(shù)字化系統(tǒng)ZK源代碼

        運(yùn)行新型數(shù)字化系統(tǒng)應(yīng)用程序

        數(shù)字化車(chē)間生產(chǎn)月報(bào)界面中,輸入統(tǒng)計(jì)日期最早日期和最晚日期,點(diǎn)擊統(tǒng)計(jì)按鈕,出現(xiàn)文本下載的對(duì)話框,如圖1點(diǎn)擊打開(kāi)。

        圖1 生產(chǎn)月報(bào)統(tǒng)計(jì)

        出現(xiàn)如下界面:

        圖2 生產(chǎn)月報(bào)統(tǒng)計(jì)結(jié)果

        其表格的實(shí)現(xiàn)在上一節(jié)已經(jīng)介紹。其中此報(bào)表具有PDF格式報(bào)表的所有功能。例如:打印、預(yù)覽、查找,檢索等功能。

        3 結(jié)束語(yǔ)

        報(bào)表實(shí)現(xiàn)技術(shù)在Java編程中一直被看成是一個(gè)難點(diǎn),但是近年來(lái)隨著編程技術(shù)的高速發(fā)展,報(bào)表實(shí)現(xiàn)技術(shù)取得了突破性進(jìn)展,本文只是基于Web的PDF格式的報(bào)表實(shí)現(xiàn)技術(shù),希望能起到拋磚引玉的作用,有助于實(shí)現(xiàn)更多的基于Web報(bào)表的格式,為新型數(shù)字化生產(chǎn)提供更大的作用。

        參考文獻(xiàn):

        [1]譚傳恩.Java實(shí)現(xiàn)Web報(bào)表打印功能[J].電腦學(xué)習(xí),2005.

        [2]劉利軍.J2EE的Web報(bào)表系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2007.

        亚洲av成人噜噜无码网站 | 被驯服人妻中文字幕日本| 一本大道久久a久久综合精品| 国产成人精品久久亚洲高清不卡| 中国凸偷窥xxxx自由视频| 欧美成人免费看片一区| 一区二区在线观看视频亚洲| 国产精品国产三级国产a| 美女又色又爽视频免费| 婷婷色综合成人成人网小说| 国产精品午夜福利天堂| 欧美老妇牲交videos| 激情综合一区二区三区| 中文字幕久久久人妻无码| 久久亚洲国产高清av一级| 成人片黄网站a毛片免费| 亚洲av无码一区二区二三区| 无码人妻丝袜在线视频| 国产爽快片一区二区三区| 久久精品国产亚洲av香蕉| 亚洲中文久久精品无码ww16| 国产精品一区二区午夜久久| 国产精品人伦一区二区三| 无码va在线观看| 欧美在线播放一区二区| 亚洲男人在线天堂av| 国内永久福利在线视频图片| 99久久精品费精品国产一区二区| 被欺辱的高贵人妻被中出| 国产愉拍91九色国产愉拍| 国产专区一线二线三线码| 伊人色综合视频一区二区三区| 日本一区不卡高清在线观看| 自拍偷自拍亚洲精品第按摩| 久久国产劲暴∨内射| 亚洲av在线播放观看| 极品粉嫩嫩模大尺度视频在线播放| 国产精品成人网站| 四虎永久免费影院在线| 亚洲国产精品二区三区| 久久影院午夜理论片无码|