合并文档iText7



我正在向现有pdf中添加文本。

到目前为止,我的代码会将文本添加到文件中,但它删除了以前pdf上的原始内容,有人知道如何修复吗?这样添加的文本就在一个新页面上,pdf的原始内容就在另一个页面上。

String field1 = ("/Users/Desktop/") + selectedFile.getName();
System.out.println(field1);
PdfDocument pdfDoc = new PdfDocument(new PdfWriter(field1));
PdfPage page = pdfDoc.addNewPage();
PdfCanvas pdfCanvas = new PdfCanvas(page);
Rectangle rectangle = new Rectangle(1,1, 600, 843);
pdfCanvas.rectangle(rectangle);
pdfCanvas.stroke();
Canvas canvas = new Canvas( pdfCanvas, pdfDoc, rectangle);
Scanner myObj = new Scanner(System.in);  // Create a Scanner object
System.out.println("Enter text to add");
String addText = myObj.nextLine();  // Read user input
Paragraph p = new Paragraph(addText);
Scanner myObj1 = new Scanner(System.in);  // Create a Scanner object
PdfFont font = PdfFontFactory.createFont(FontConstants.HELVETICA_BOLD); 
p.setFont(font);                                
canvas.add(p);
pdfDoc.close();
canvas.close();

使用PdfDocument pdfDoc = new PdfDocument(new PdfWriter(field1)),您将始终创建具有新内容的新文档。您现在正在忽略原始内容。您必须以盖章模式打开PDF。

请参阅iText API:https://api.itextpdf.com/iText7/java/7.1.4/com/itextpdf/kernel/pdf/PdfDocument.html

构造函数和描述

PdfDocument(PdfReader reader)以阅读模式打开PDF文档。

PdfDocument(PdfReader reader, DocumentProperties properties)以阅读模式打开PDF文档。

PdfDocument(PdfReader reader, PdfWriter writer)在冲压模式下打开PDF文档。

PdfDocument(PdfReader reader, PdfWriter writer, StampingProperties properties)以冲压模式打开PDF文档。

PdfDocument(PdfWriter writer)以书写模式打开PDF文档。

PdfDocument(PdfWriter writer, DocumentProperties properties)以书写模式打开PDF文档。

相关内容

  • 没有找到相关文章

最新更新