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

        ?

        基于iText類庫實現(xiàn)在線生成OA審批單的應(yīng)用開發(fā)

        2020-05-11 06:21:30張豎群
        科技資訊 2020年7期

        張豎群

        摘? 要:該文主要討論iText類庫在實現(xiàn)OA公文流程審批意見的歸類匯總及在線生成公文審批單的相關(guān)操作步驟。實現(xiàn)紙質(zhì)審批表單到電子審批表單的轉(zhuǎn)變,從而改善實際業(yè)務(wù)中復(fù)雜的紙質(zhì)公文歸檔流程,減輕了檔案管理人員的工作量,也大大節(jié)約了企業(yè)的紙質(zhì)資源。

        關(guān)鍵詞:OA公文審批單? iText? 在線生成PDF

        iText是SOURCEFORGE站點的一個項目,其主要功能是生成PDF文件,因其輕便、高效、易用等特點,被人常用在報表、公文審批單、電子賬單等方面。該文主要討論其在辦公自動化系統(tǒng)(以下簡稱OA)中如何自定義歸類匯總OA公文流程審批意見并且在線生成公文審批單和對公文審批單進行加密和權(quán)限設(shè)置,從而大大減輕了檔案管理人員的工作,實現(xiàn)高效率的檔案匯總管理。

        1? 公文審批單主要引用到的iText類

        (1)com.itextpdf.text.Document是iText類庫中最常用的類,其作用是可以使用它創(chuàng)建一個PDF實例,后續(xù)可以通過open、add、close等方法對創(chuàng)建的實例進行操作。

        (2)com.itextpdf.text.Font是iText類庫的字體設(shè)置類,其中包括字體大小、字體樣式、字體顏色等設(shè)置。

        (3)com.itextpdf.text.PageSize可以根據(jù)實際需求設(shè)置版面的大小,比如A4、A5、版面橫向或者縱向等信息。

        (4)com.itextpdf.text.pdf.PdfWriter類可以建立一個與Document類實例關(guān)聯(lián)的書寫器(Writer)。

        (5)com.itextpdf.text.Paragraph類可以創(chuàng)建一個段落,并可以設(shè)置段落的縮進、文本的對齊方式等內(nèi)容。

        (6)com.itextpdf.text.pdf.PdfPTable類可以創(chuàng)建一個表格實例,并可以設(shè)置各個列的寬度,以便后續(xù)進行自定義繪圖。

        2? 在線生成公文審批單流程

        (1)創(chuàng)建一個Document對象,并設(shè)置Document對象的頁面尺寸。

        Document mydocument=new Document(PageSize.A4);

        (2)通過PdfWriter靜態(tài)類的getInstance()方法得到對象實例,并可以直接關(guān)聯(lián)Document類實例和文件輸出類。

        PdfWriter pwriter = PdfWriter.getInstance(mydocument, new FileOutputStream("PDF存儲路徑及名稱.PDF"));

        (3)打開文檔。

        mydocument.open();

        (4)iText提供兩個創(chuàng)建表格的類,其中Table類通常用來實現(xiàn)簡單表格,而PdfPTable類通常用來實現(xiàn)比較復(fù)雜的表格,該文主要圍繞PdfPTable類進行相關(guān)操作。在創(chuàng)建PdfPTable對象時,需要注意參數(shù)只需指定列數(shù),不用指定行數(shù),要設(shè)置表格的列寬可以通過定義數(shù)組,并把數(shù)組作為setWidths()方法的參數(shù)進行各列寬整體設(shè)置。同時,為了整個表格能夠填充整個版面,可以用setWidthPercentage(float widthPercentage)方法設(shè)置表在頁面中所占的寬度百分比。

        PdfPTable NewTable = new PdfPTable(4);//創(chuàng)建PdfPTable對象

        int ColWidth[] = {40,60,40,60};//定義列寬數(shù)組

        NewTable.setWidths(ColWidth);//設(shè)置列寬

        baseTable.setWidthPercentage(100);//定義頁面中所占的寬度百分比

        (5)根據(jù)企業(yè)公文歸檔的字體樣式,可以通過BaseFont類創(chuàng)建一個新的字體,并通過Font類定義字體樣式、大小、顏色等內(nèi)容。

        BaseFont bfont = BaseFont.createFont("c:\\windows\\fonts\\微軟雅黑.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);

        Font fontStyle = new Font(bfont, 24, Font.BOLD);

        fontStyle.setColor(BaseColor.RED);

        (6)表格創(chuàng)建好之后,則需要給前面創(chuàng)建好的baseTable對象添加單元格和合并單元格。其中添加單元格可以通過addCell(Object object)方法進行添加,其Object對象可以是PdfPcell、Image、String等信息,合并單元格可以通過PdfPCell類提供的setColspan(int colspan)方法。為了使單元格對象內(nèi)容比較整齊,還可以引用setVerticalAlignment(int verticalAlignment)方法設(shè)置單元格的垂直對齊方式和setHorizontalAlignment(int horizontalAlignment)方法設(shè)置單元格的水平對齊方式。

        PdfPCell newCellTitle=new PdfPCell(new Paragraph("文件標題", fontStyle));//新建一個存放段落內(nèi)容的單元格

        PdfPCell newCellSubject=new PdfPCell(new Paragraph(doc.get("SUBJECT"), fontStyle));//獲取數(shù)據(jù)源數(shù)據(jù),并存放到單元格中

        newCellSubject.setColspan(3);//合并單元格

        NewTable.addCell(newCellTitle);//添加到表格對象中

        NewTable.addCell(newCellSubject);//添加到表格對象中

        newCellTitle.setVerticalAlignment(Element.ALIGN_MIDDLE);//設(shè)置單元格垂直居中

        newCellSubject.setVerticalAlignment(Element.ALIGN_MIDDLE);

        newCellTitle.setHorizontalAlignment(Element.ALIGN_CENTER);//設(shè)置單元格水平居中

        newCellSubject.setHorizontalAlignment(Element.ALIGN_CENTER);

        (7)在OA公文審批單中,一個單元格需要包括多條用戶審批記錄,如果每條審批記錄都存放到各自單元格中,會大大影響表格的美觀性和浪費頁面的空間。為了解決這個問題,可以使用Paragraph類創(chuàng)建一個新的字段,利用循環(huán)語句把多條審批記錄匯總到Paragraph對象中,然后再填充到單元格中。

        PdfPCell spyjCell=new PdfPCell();

        Paragraph Spyj=new Paragraph("",fontStyle);

        ResultSet Spjl=Rdb.getResultSet(SQL);

        while(Spjl.next()){Spyj.add(new Chunk(Spjl.getString("REMARK")+"\n"));

        Spyj.add(new Chunk(SpjlgetString("DEPTNAME")+"\n"));

        spyjCell.addElement(Spyj);

        (8)為確保OA公文歸檔的審批單保密性,可以通過PdfWriter類的setEncryption(byte[] userPassword, byte[] ownerPassword, int permissions, int encryptionType)方法對在線生成的PDF進行加密和權(quán)限設(shè)置,其中userPassword參數(shù)為用戶密碼,ownerPassword參數(shù)為所有者密碼,這兩部分可以理解為管理員密碼和用戶密碼,因此,在設(shè)置這兩個密碼的時候,往往會將所有者密碼的權(quán)限級別設(shè)置的更高,而用戶密碼的權(quán)限是“只讀”。

        pwriter.setEncryption("userpassword".getBytes(),"ownerPassword".getBytes(),PdfWriter.ALLOW_COPY, PdfWriter.STANDARD_ENCRYPTION_128);

        (9)根據(jù)OA公文審批單的要求。

        mydocument.add(NewTable;

        (10)關(guān)閉文檔。

        mydocument.close();

        3? 結(jié)語

        該文主要討論引用iText類庫實現(xiàn)OA公文流程審批意見的歸類匯總及在線生成公文審批單的相關(guān)操作步驟。實現(xiàn)紙質(zhì)審批表單到電子審批表單的轉(zhuǎn)變,從而改善實際業(yè)務(wù)中復(fù)雜的紙質(zhì)公文歸檔流程,減輕了檔案管理人員的工作量,也大大節(jié)約了企業(yè)的紙質(zhì)資源。同時,也大大提高了公文借閱、查閱的效率。

        參考文獻

        [1] 崔永,王建新.淺議基于Java的PDF文檔生成[J].電腦知識與技術(shù),2011(24):5923-5924.

        [2] 丁振凡,王小明,吳小元,等.利用iText包實現(xiàn)Java報表打印[J].微型機與應(yīng)用,2012(18):84-86.

        [3] 胡陽,鄒海.基于iTextSharp的報表打印技術(shù)[J].計算機與現(xiàn)代化,2011(1):60-62.

        中文字幕亚洲一区二区不下| www.亚洲天堂.com| 国产亚洲精品高清视频| 国产一品二品精品在线| 亚洲日韩av无码一区二区三区人| 国产精品人妻一区夜夜爱| 欧美激情国产亚州一区二区| 亚洲av高清一区二区| 日韩精品人妻中文字幕有码| 欧美疯狂做受xxxx高潮小说| 免费国产一级片内射老| 精品女人一区二区三区| 性高朝久久久久久久3小时| 俄罗斯老熟妇色xxxx| 久久久AV无码精品免费| 长腿丝袜在线观看国产| 狠狠躁日日躁夜夜躁2022麻豆| 精品国产sm捆绑最大网免费站| 国产精品福利小视频| 最好的99精品色视频大全在线| 噜噜噜噜私人影院| 亚洲精品字幕在线观看| 狠狠狠狠狠综合视频| 国产一区二区三区精品乱码不卡 | 亚洲人成网网址在线看| 免费黄色电影在线观看| 97人妻无码免费专区| 经典三级免费看片天堂| 精品www日韩熟女人妻| 伊人网综合| 女同另类专区精品女同| 色综合久久蜜芽国产精品| 欧美疯狂性xxxxxbbbbb| 午夜国产精品视频免费看电影| 久久精品一区二区三区蜜桃| 少妇私密会所按摩到高潮呻吟| 狠狠躁天天躁无码中文字幕图| 在线视频免费自拍亚洲| 国产三级在线观看完整版| 欧美午夜精品久久久久免费视| 国产三级国产精品国产专区|