如何使用 Java 向 PDF 添加文本

问题描述

如何使用 Java 向 PDF 添加文本。

解决方案

以下是使用 Java 向 PDF 文档添加文本的示例程序。

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 AddingTextToAPdf {  
   public static void main(String args[]) throws IOException {     
      
        //加载现有文档
        PDDocument doc = PDDocument.load(new File("C:/pdfBox/AddText_IP.pdf"));
        
        //创建 PDF 文档
        PDPage page = doc.getPage(0);
        PDPageContentStream contentStream = new PDPageContentStream(doc, page);
        
        //开始内容流
        contentStream.beginText();
        
        //将字体设置为内容流
        contentStream.setFont( PDType1Font.TIMES_ROMAN, 16 ); 
        
        //设置线的位置
        contentStream.newLineAtOffset(25, 725 ); 
        String text = "This is an example of adding text to a page in the pdf document. 
         we can add as many lines as we want like this using the draw string method 
         of the ContentStream class"; 
        
        //以字符串形式添加文本
        contentStream.showText(text);
        
        //结束内容流
        contentStream.endText();
        System.out.println("Content added");       
        
        //关闭内容流
        contentStream.close();
        
        //保存文档
        doc.save(new File("C:/pdfBox/AddText_OP.pdf"));
        
        //关闭文档
        doc.close();  
   }  
} 

输入

添加文本输入

输出

添加文本输出
java_apache_pdf_box.html