本文概述
- 加载现有文档
- 获取所需页面
- 准备内容流
- 开始文字
- 设定文字位置
- 设置文字字体
- 写文字内容
- 结束文字
- 关闭内容流
- 保存文件
- 关闭文件
请按照以下步骤在现有PDF文档中添加文本内容-
加载现有文档 我们可以使用static load()方法加载现有的PDF文档。此方法接受文件对象作为参数。我们也可以使用PDFBox的类名PDDocument调用它。
File file = new File("PATH");
PDDocument doc = PDDocument.load(file);
获取所需页面 获取所需的页面, 我们要在其中添加PDF文档中的文本内容。 getPage()方法用于从PDF文档检索页面。 getPage()方法接受页面的索引作为参数。
PDPage page = doc.getPage(Page Index);
准备内容流 PDPageContentStream类用于在文档中插入数据。在此类中, 我们需要传递文档对象和页面对象作为其参数来插入数据。
PDPageContentStream contentStream = new PDPageContentStream(doc, page);
开始文字 当我们在PDF文档中插入文本时, 我们还可以提供文本的开始位置。 PDPageContentStream类的beginText()方法用于启动文本内容。
contentStream.beginText();
设定文字位置 我们可以使用PDPageContentStream类的newLineAtOffset()方法设置文本的位置, 该方法可以在以下代码中显示。
contentStream.newLineAtOffset(20, 450);
设置文字字体 我们可以使用PDPageContentStream类的setFont()方法来设置文本的字体样式和字体大小。
contentStream.setFont(Font_Type, Font_Size);
写文字内容 我们可以使用PDPageContentStream类的showText()方法在PDF文档中插入文本内容。
contentStream.showText(text);
结束文字 在PDF文档中插入文本时, 我们必须提供文本的终点。 PDPageContentStream类的endText()方法用于结束文本内容。
contentStream.endText();
关闭内容流 我们可以使用close()方法关闭PDPageContentStream类。
contentStream.close();
保存文件 添加所需的文档后, 我们必须将其保存到所需的位置。 save()方法用于保存文档。 save()方法接受字符串值, 并将文档的路径作为参数传递。
doc.save("Path of Document");
关闭文件 完成任务后, 我们需要使用close()方法关闭PDDocument类对象。
doc.close();
例-
import java.io.File;
import java.io.IOException;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
import org.apache.pdfbox.pdmodel.font.PDType1Font;
public class AddingText { public static void main(String[] args)throws IOException {//Loading an existing documentFile file = new File("/eclipse-workspace/blank.pdf");
PDDocument doc = PDDocument.load(file);
//Retrieving the pages of the document PDPage page = doc.getPage(2);
PDPageContentStream contentStream = new PDPageContentStream(doc, page);
//Begin the Content stream contentStream.beginText();
//Setting the font to the Content stream contentStream.setFont(PDType1Font.TIMES_BOLD_ITALIC, 14);
//Setting the position for the line contentStream.newLineAtOffset(20, 450);
String text = "Hi!!! This is the first sample PDF document.";
//Adding text in the form of string contentStream.showText(text);
//Ending the content stream contentStream.endText();
System.out.println("New Text Content is added in the PDF Document.");
//Closing the content stream contentStream.close();
//Saving the document doc.save(new File("/eclipse-workspace/blank.pdf"));
//Closing the document doc.close();
}}
输出
成功执行以上程序后, 我们将看到以下消息。
文章图片
【PDFBox添加文本】现在, 打开PDF文档, 我们可以看到文本内容已添加到PDF文档的页面中。
文章图片
推荐阅读
- 使用PDFBox创建第一个PDF文档
- PHP开发(安装PHP详细步骤)
- PDFBox添加矩形
- PDFBox添加页面
- PDFBox添加多行
- 带有进程的SRTF包含CPU和IO时间图解实例
- Android中ViewPager实现滑动条及与Fragment结合的实例教程
- [Android Pro]开发一流Android SDK
- Spring,@Controller,@RequestMapping, @ResponseBody,@RequestParam