近些天項目中需要產生PDF報表,網上查了下java產生PDF檔案的方式,大概有兩種,一種是利用jacob調用EXCEL另存新檔PDF檔案,另一張是
用第三方開源庫iText.jar直接產生PDF檔案,這兩種我都試了下,結合項目的需求,感覺還是使用iText產生PDF報表更為自由。以下是範例程式碼,記錄一下
iText如何簡單的產生PDF檔案及表格。
String path = UatsResources.getAppPath()+uats.getItem()+"/test-report.pdf";com.lowagie.text.Document document = new com.lowagie.text.Document();PdfWriter.getInstance(document, new FileOutputStream(path));document.open();BaseFont style = BaseFont.createFont("STSongStd-Light","UniGB-UCS2-H", false); Font chinese = new Font(style, 8, Font.BOLD,Color.BLACK); PdfPTable table = new PdfPTable(10);table.addCell(new PdfPCell(new Phrase("編號",chinese)));table.addCell(new PdfPCell(new Phrase("應用程式名稱",chinese)));table.addCell(new PdfPCell(new Phrase("檔案類型",chinese)));table.addCell(new PdfPCell(new Phrase("應用版本",chinese)));table.addCell(new PdfPCell(new Phrase("安裝情況",chinese)));table.addCell(new PdfPCell(new Phrase("應用啟動",chinese)));table.addCell(new PdfPCell(new Phrase("應用退出",chinese)));table.addCell(new PdfPCell(new Phrase("應用運行",chinese)));table.addCell(new PdfPCell(new Phrase("卸載情況",chinese)));table.addCell(new PdfPCell(new Phrase("測試類型",chinese)));table.addCell(new PdfPCell(new Phrase("安全檢查",chinese)));table.addCell(new PdfPCell(new Phrase("啟動時間",chinese)));table.addCell(new PdfPCell(new Phrase("CPU佔用",chinese)));table.addCell(new PdfPCell(new Phrase("記憶體佔用",chinese)));table.addCell(new PdfPCell(new Phrase("測試時間",chinese)));table.addCell(new PdfPCell(new Phrase("測試人員",chinese)));document.add(table);document.close();