繁体   English   中英

合并文档 iText7

[英]Merging Documents 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。

Refer to the 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 文档。

暂无
暂无

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

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