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.

主站蜘蛛池模板: 香蕉视频国产精品人| 国产香蕉97碰碰视频VA碰碰看| 国产xx在线观看| 久久综合丝袜长腿丝袜| 国产视频资源在线观看| 国产亚洲高清视频| 色欲色欲久久综合网| 欧美日韩一区二区在线免费观看| 欧美国产成人在线| 一区二区影院| 72种姿势欧美久久久大黄蕉| 在线观看免费人成视频色快速| 久久久久88色偷偷| 国产性猛交XXXX免费看| 1024国产在线| 高清欧美性猛交XXXX黑人猛交 | 亚洲欧美自拍视频| 成人第一页| 人妻91无码色偷偷色噜噜噜| 国产精品无码在线看| 夜色爽爽影院18禁妓女影院| 欧美不卡二区| 亚洲人免费视频| 全部无卡免费的毛片在线看| 国产伦精品一区二区三区视频优播 | 99这里只有精品6| 一本大道无码高清| 国产精品久久精品| 免费aa毛片| 日韩午夜福利在线观看| 久久99热66这里只有精品一 | 91福利在线看| 在线播放国产99re| 国产天天射| 亚洲国产精品VA在线看黑人| 亚洲人成网站日本片| 久草网视频在线| 精品无码日韩国产不卡av| 亚洲乱伦视频| 99精品在线视频观看| 日本久久网站| 福利一区在线| 三级视频中文字幕| 91青青草视频| 国产成人h在线观看网站站| 欧美日韩va| 日韩欧美国产精品| 99一级毛片| 欧美成人一区午夜福利在线| 国产精品微拍| 国模私拍一区二区三区| 日韩国产精品无码一区二区三区| 无码精油按摩潮喷在线播放| 丁香婷婷在线视频| 久久一色本道亚洲| 小蝌蚪亚洲精品国产| 谁有在线观看日韩亚洲最新视频| 亚洲免费三区| 精品无码人妻一区二区| 色综合网址| 激情爆乳一区二区| julia中文字幕久久亚洲| 国产内射一区亚洲| 精品国产毛片| 国产91无码福利在线 | 中文字幕精品一区二区三区视频| 久久99国产乱子伦精品免| 亚洲免费黄色网| 91九色国产porny| 特级毛片8级毛片免费观看| 成人免费视频一区| 波多野结衣爽到高潮漏水大喷| 乱系列中文字幕在线视频| 五月天在线网站| 亚洲αv毛片| 久久免费观看视频| 免费一级α片在线观看| 综合五月天网| 欧美精品v| 中文字幕日韩欧美| 91啪在线| 国产一区二区三区精品久久呦|