com.itextpdf.text.PdfPTable & PdfPCell


Demo

  • 注意:表格中的列必須填滿,否則表格不顯示。
PdfPTable table = new PdfPTable(3)
// 設置表格的填充寬度百分比,在當前 Table 和其父級的左右寬度微調的時候使用。
table.setWidthPercentage(95)  // 寬帶95填充,左右流出一點點空間出來。

// 表格與其上邊和下邊元素的間隔
table.setSpacingBefore(10f)   // 前間距
table.setSpacingAfter(10f)    // 后間距

// 默認一個單元個如果在當前頁顯示不下,就會整個移動到下一個頁面,如下設置會分割單元格到兩個頁面上。
table.setSplitLate(false)     // 表格跨頁顯示需要設置1
table.setSplitRows(true)      // 表格跨頁顯示需要設置2


// 設置每個單元格的相對的 Width,這里有個技巧就是把所有列占用的空間比作 1,想讓每個列占多大的位置,這里就分成對應的值就行,最終相加等於1即可。
float[] columnWidths = [0.2f, 0.2f, 0.6f]
table.setWidths(columnWidths)

PdfPCell

  • 注意行間距:例如 9 磅字體setLeading(1.5f, 1.5f),第一行坐標在(10,10)開始,第二行則在(1.5 + 1.5*10,10)處開始,兩行會間隔 6.5(16.5 - 9)磅的空白,Word也是這樣的計算方式。
PdfPCell cell = new PdfPCell(new Paragraph("企業名稱:" + companyName, customFont.font12))
// 設置 comumn 的最小 Height
cell.setMinimumHeight(30)
// 設置垂直對其方式
cell.setHorizontalAlignment(Cell.ALIGN_LEFT)
// 設置水平對其方式
cell.setVerticalAlignment(Cell.ALIGN_MIDDLE)
// 合並列
cell.setColspan(3)
// 設置邊框寬度
cell.setBorderWidth(0.5f)
// 設置單元格內文字的行間距,第一個參數是固定間距,第二個參數是成倍的間距:1.5磅 + 1.5 * 此行最大字體的磅數
cell.setLeading(1.5f, 1.5f)
// 設置單元格內四周邊距,也可以單獨設置每邊的邊距,默認邊距是 2
cell.setPadding(15)
// 去掉右邊邊框
cell.setBorderWidthRight(0)
// 去掉外層邊框
cell.setBorder(0)
// 合並行
cell1.setRowspan(4)
// 單元格的水平垂直居中設置
cell1.setUseDescender(true)
cell1.setHorizontalAlignment(Element.ALIGN_CENTER)
cell1.setVerticalAlignment(Element.ALIGN_MIDDLE)
// 添加到 Table
table.addCell(cell)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM