我有一個正在通過iText1.4.6生成的動態PDF(是的,我堅持使用這個舊版本)。我遇到了兩件事:
1)爲所有頁面添加水印,而不僅僅是第一頁。
2)根據結果集中的結果數量更改頁面尺寸。iText:根據ResultSet更改頁面尺寸
下面是一些代碼:
Document testScoreReport = new Document(PageSize.A4,50,50,25,230);
OutputStream outStream = response.getOutputStream();
PdfWriter writer = null;
writer = PdfWriter.getInstance(testScoreReport, outStream);
testScoreReport.open();
Image watermark = Image.getInstance(CreateTestReport.class.getResource("/resource/img.jpg"));
// Build table
PdfPTable testTable = new PdfPTable(3);
PdfPCell cell1 = new PdfPCell(new Phrase("Test Date", FONT)));
PdfPCell cell2 = new PdfPCell(new Phrase("Test Name", FONT)));
PdfPCell cell3 = new PdfPCell(new Phrase("Test Score", FONT)));
testTable.addCell(cell1);
testTable.addCell(cell2);
testTable.addCell(cell3);
// QUERY HERE
while (resultSet.next()) {
if (resultTestCount > 20) {
// NEW PAGE, SO PRINT WATERMARK AND CHANGE PAGE DIMENSIONS OF NEW PAGE
resultTestCount = 0;
}
PdfPCell cell1 = new PdfPCell(new Phrase(testDate, FONT)));
PdfPCell cell2 = new PdfPCell(new Phrase(testName, FONT)));
PdfPCell cell3 = new PdfPCell(new Phrase(testScore, FONT)));
resultTestCount++;
}
testScoreReport.close();
我認爲這是所有相關的代碼。我試圖將水印添加到表格單元格中,或者只是將其添加到while循環中,但似乎忽略它。頁面尺寸 - 我嘗試了幾件事情,似乎沒有任何工作。
忽略你提到的事情的主要原因是因爲我不認爲它是相關的。表格行的高度在我的代碼中設置,以及將單元格添加到表格(並將表格添加到文檔中)。我有一個頁腳圖像,它位於文檔的底部,所以當我點擊最後一頁時,我需要更改頁面的尺寸(而不是實際的頁面尺寸) – Dan 2013-04-11 15:30:22
好吧,現在您知道您可以更改下一頁的大小,但不是當前頁面的大小。我希望這有幫助。 – 2013-04-11 15:32:38
setPageSize()更改頁面大小,而不是正確的尺寸?有沒有辦法改變尺寸?類似於它最初的做法Document testScoreReport = new Document(PageSize.A4,50,50,25,230); – Dan 2013-04-11 16:54:32