我正在使用iText創建帶有表格的PDF。表頭有90度旋轉文本,我使用CellEvent(下面的代碼)添加。這個效果很好,除非表格跨越多個頁面,旋轉的單元格標題文本從頁面頂部流出。iText:在CellEvent期間設置單元格高度
我試過設置cell.setFixedHeight(100)但它似乎不影響單元格。我也嘗試過this solution,但是我無法讓單元格顯示帶有文本的結果圖像。
@Override
public void cellLayout(PdfPCell cell, Rectangle position, PdfContentByte[] canvases) {
PdfContentByte canvas = canvases[PdfPTable.TEXTCANVAS];
try {
canvas.setFontAndSize(BaseFont.createFont(BaseFont.HELVETICA_BOLD, BaseFont.WINANSI, false), this.fontSize);
} catch (DocumentException | IOException e) {
e.printStackTrace();
}
if (this.alignment == PdfPCell.ALIGN_CENTER) {
this.left = ((position.getRight() - position.getLeft())/2);
}
else if (this.alignment == PdfPCell.ALIGN_MIDDLE) {
this.top = ((position.getTop() - position.getBottom())/2);
}
canvas.showTextAligned(this.alignment, this.text, position.getLeft() + this.left, position.getTop() - this.top, this.rotation);
}
下面是單元頭溢出的樣子。在這個例子中,它應該顯示月份和年份(2016年3月)。
我想有細胞依賴於所使用的實際標題文本任意高度。有關如何解決這個問題的任何想法?
這適用於90度增量旋轉,我會接受這個答案。由於需要任何文本角度,我正在使用CellEvent處理它,但我想我會看看90度旋轉是否適用於所有需求。謝謝! – JohnP