【发布时间】:2021-07-08 12:07:36
【问题描述】:
我正在向现有的 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();
【问题讨论】:
-
提示:一次删除一行,看看哪一行删除了原始内容。原始 PDF 中实际上是否有任何内容,如果您只打开并保存 pdf 而不添加任何内容会发生什么?如果您不添加新页面或不抚摸画布会发生什么?尝试像这样进行一些调试,您就能发现问题出在哪里。