-3
下面是我使用itext7將PDF格式的表格添加到PDF頁面的代碼。我正在編輯PDF格式,希望在給定的頁面上添加pdf格式的pdf格式
不幸的是,它僅添加到第一頁而不是第8頁。
PdfDocument pdfDoc = new PdfDocument(new PdfReader(src), new PdfWriter(dest));
Table table = new Table(new float[]{1, 15});
table.setWidthPercent(80);
table.addHeaderCell("#");
table.addHeaderCell("description");
PageSize ps = pdfDoc.getDefaultPageSize();
PdfPage p =pdfDoc.getPage(8);
Document doc = new Document(p.getDocument());
table.setFixedPosition(doc.getLeftMargin(), doc.getBottomMargin(), ps.getWidth() - doc.getLeftMargin() - doc.getRightMargin());
IRenderer tableRenderer = table.createRendererSubTree().setParent(doc.getRenderer());
LayoutResult tableLayoutResult = tableRenderer.layout(new LayoutContext(new LayoutArea(0, new Rectangle(ps.getWidth(), 1000))));
float totalHeight = tableLayoutResult.getOccupiedArea().getBBox().getHeight();
doc.add(table);
doc.close();
我無法確定問題出在哪裏。
我在做什麼錯,我該如何有效地將表添加到特定頁面?
你想修改現有PdfDocument?因爲'Document doc = new Document(p.getDocument());'創建全新的PdfDocument。閱讀此問題[如何在不創建新PDF的情況下更新PDF?](https://stackoverflow.com/questions/16081831/how-to-update-a-pdf-without-creating-a-new-pdf) – Sergey
所以你知道**表格必須放在現有PDF的第8頁上?在這種情況下使用PdfStamper可能是一個好主意 – Jan
或者[iText - 將內容添加到現有PDF文件](https://stackoverflow.com/questions/3335126/itext-add-content-to-existing-pdf-file) 。 – Sergey