简体   繁体   English

合并文档 iText7

[英]Merging Documents iText7

I am adding text to an existing pdf.我正在向现有的 pdf 添加文本。

My code so far will add the text to the file but it deletes the original content that was on the pdf before, does anyone know how to fix this?到目前为止,我的代码会将文本添加到文件中,但它会删除之前 pdf 上的原始内容,有人知道如何解决这个问题吗? So that the added text is on a new page and the original content of the pdf is on another page.这样添加的文本在一个新页面上,而 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();

With PdfDocument pdfDoc = new PdfDocument(new PdfWriter(field1)) you will always create a new document with new content.使用PdfDocument pdfDoc = new PdfDocument(new PdfWriter(field1))您将始终创建具有新内容的新文档。 You are now ignoring the original content.您现在忽略了原始内容。 You must open the PDF in stamping mode.您必须在冲压模式下打开 PDF。

Refer to the iText API: https://api.itextpdf.com/iText7/java/7.1.4/com/itextpdf/kernel/pdf/PdfDocument.html Refer to the iText API: https://api.itextpdf.com/iText7/java/7.1.4/com/itextpdf/kernel/pdf/PdfDocument.html

Constructor and Description构造函数和描述

PdfDocument(PdfReader reader) Open PDF document in reading mode. PdfDocument(PdfReader reader)以阅读模式打开 PDF 文档。

PdfDocument(PdfReader reader, DocumentProperties properties) Open PDF document in reading mode. PdfDocument(PdfReader reader, DocumentProperties properties)以阅读模式打开 PDF 文档。

PdfDocument(PdfReader reader, PdfWriter writer) Opens PDF document in the stamping mode. PdfDocument(PdfReader reader, PdfWriter writer)以冲压模式打开 PDF 文档。

PdfDocument(PdfReader reader, PdfWriter writer, StampingProperties properties) Open PDF document in stamping mode. PdfDocument(PdfReader reader, PdfWriter writer, StampingProperties properties)以冲压模式打开 PDF 文档。

PdfDocument(PdfWriter writer) Open PDF document in writing mode. PdfDocument(PdfWriter writer)以书写模式打开 PDF 文档。

PdfDocument(PdfWriter writer, DocumentProperties properties) Open PDF document in writing mode. PdfDocument(PdfWriter writer, DocumentProperties properties)以书写模式打开 PDF 文档。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM