簡體   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