gpt4 book ai didi

java - 使用 Java 编辑 PDF 文本

转载 作者:IT老高 更新时间:2023-10-28 20:29:39 26 4
gpt4 key购买 nike

有没有一种方法可以从 Java 编辑 PDF?
我有一个 PDF 文档,其中包含需要使用 Java 替换的文本占位符,但是我看到的所有库都从头开始创建了 PDF 和小型编辑功能。
无论如何我可以编辑 PDF 还是这不可能?

最佳答案

您可以使用 iText .我用以下代码对其进行了测试。它会在现有 PDF 的每一页上添加一段文本和一个红色圆圈。

/* requires itextpdf-5.1.2.jar or similar */
import java.io.*;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.pdf.*;

public class AddContentToPDF {

public static void main(String[] args) throws IOException, DocumentException {

/* example inspired from "iText in action" (2006), chapter 2 */

PdfReader reader = new PdfReader("C:/temp/Bubi.pdf"); // input PDF
PdfStamper stamper = new PdfStamper(reader,
new FileOutputStream("C:/temp/Bubi_modified.pdf")); // output PDF
BaseFont bf = BaseFont.createFont(
BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED); // set font

//loop on pages (1-based)
for (int i=1; i<=reader.getNumberOfPages(); i++){

// get object for writing over the existing content;
// you can also use getUnderContent for writing in the bottom layer
PdfContentByte over = stamper.getOverContent(i);

// write text
over.beginText();
over.setFontAndSize(bf, 10); // set font and size
over.setTextMatrix(107, 740); // set x,y position (0,0 is at the bottom left)
over.showText("I can write at page " + i); // set text
over.endText();

// draw a red circle
over.setRGBColorStroke(0xFF, 0x00, 0x00);
over.setLineWidth(5f);
over.ellipse(250, 450, 350, 550);
over.stroke();
}

stamper.close();

}
}

关于java - 使用 Java 编辑 PDF 文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4131031/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com