999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于iText類庫實現在線生成OA審批單的應用開發

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

張豎群

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

關鍵詞:OA公文審批單? iText? 在線生成PDF

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

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

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

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

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

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

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

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

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

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

Document mydocument=new Document(PageSize.A4);

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

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

(3)打開文檔。

mydocument.open();

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

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

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

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

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

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

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

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

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

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

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

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

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

newCellSubject.setVerticalAlignment(Element.ALIGN_MIDDLE);

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

newCellSubject.setHorizontalAlignment(Element.ALIGN_CENTER);

(7)在OA公文審批單中,一個單元格需要包括多條用戶審批記錄,如果每條審批記錄都存放到各自單元格中,會大大影響表格的美觀性和浪費頁面的空間。為了解決這個問題,可以使用Paragraph類創建一個新的字段,利用循環語句把多條審批記錄匯總到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進行加密和權限設置,其中userPassword參數為用戶密碼,ownerPassword參數為所有者密碼,這兩部分可以理解為管理員密碼和用戶密碼,因此,在設置這兩個密碼的時候,往往會將所有者密碼的權限級別設置的更高,而用戶密碼的權限是“只讀”。

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

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

mydocument.add(NewTable;

(10)關閉文檔。

mydocument.close();

3? 結語

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

參考文獻

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

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

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

主站蜘蛛池模板: 日韩高清欧美| 日韩AV无码一区| 国产精品九九视频| 亚洲天堂777| 激情成人综合网| 国产乱人伦精品一区二区| 国产精品亚洲日韩AⅤ在线观看| 2021最新国产精品网站| 日韩精品免费一线在线观看| 亚洲码在线中文在线观看| 萌白酱国产一区二区| 国产成人精品一区二区| 精品久久国产综合精麻豆| 玖玖精品视频在线观看| 国产精品久久久久久影院| 国产永久在线视频| 国产精品美人久久久久久AV| 亚洲av日韩av制服丝袜| 亚洲国产日韩一区| 国产在线无码一区二区三区| 无码免费的亚洲视频| 免费午夜无码18禁无码影院| 亚洲人妖在线| A级全黄试看30分钟小视频| 91久久夜色精品| 美女内射视频WWW网站午夜 | 欧美午夜久久| 亚洲男人的天堂网| 欧美一区二区自偷自拍视频| 亚洲综合精品香蕉久久网| 欧美高清视频一区二区三区| 免费A级毛片无码无遮挡| 久久精品亚洲专区| 日韩黄色在线| 久久久精品无码一区二区三区| 欧美第一页在线| 国产精品入口麻豆| 亚洲成年网站在线观看| 国产av一码二码三码无码| 天堂亚洲网| 欧美不卡视频在线观看| 美女一级免费毛片| 欧美爱爱网| 黄片一区二区三区| 欧美激情成人网| 波多野吉衣一区二区三区av| 中文字幕va| 国产男人天堂| 亚洲欧美一区二区三区图片 | 国产成人凹凸视频在线| 欧美色丁香| 国产打屁股免费区网站| 婷婷五月在线| 中国国产一级毛片| 亚洲天堂网视频| 最新日韩AV网址在线观看| 不卡的在线视频免费观看| 亚洲色中色| 免费中文字幕一级毛片| 国产精品久久久久久影院| 凹凸国产分类在线观看| 国产噜噜在线视频观看| 综合色在线| 免费看av在线网站网址| 精品国产免费人成在线观看| 欧美国产日产一区二区| 国产h视频免费观看| 久久国产乱子| 暴力调教一区二区三区| 少妇精品在线| 狠狠色狠狠综合久久| 91亚洲精品第一| 91精品久久久无码中文字幕vr| 情侣午夜国产在线一区无码| 亚洲成人播放| 免费无码AV片在线观看国产| 日本妇乱子伦视频| 有专无码视频| 五月天综合网亚洲综合天堂网| 色综合激情网| 国产高清色视频免费看的网址| 国产成+人+综合+亚洲欧美|