iText有多种方法可以做到这一点。该PdfStamper班是一个选项。但是我发现最简单的方法是创建一个新的PDF文档,然后将现有文档中的各个页面导入到新的PDF中。
// Create output PDFdocument document = new document(PageSize.A4);PdfWriter writer = PdfWriter.getInstance(document, outputStream);document.open();PdfContentByte cb = writer.getDirectContent();// Load existing PDFPdfReader reader = new PdfReader(templateInputStream);PdfimportedPage page = writer.getimportedPage(reader, 1); // Copy first page of existing PDF into output PDFdocument.newPage();cb.addTemplate(page, 0, 0);// Add your new data / text here// for example...document.add(new Paragraph("my timestamp")); document.close();它将从中读取
PDFtemplateInputStream并将其写入
outputStream。这些可能是文件流或内存流,或任何适合您的应用程序的流。



