Java读写pdf文件的详细实现方法
更新时间:2023年09月28日 09:30:40 作者:Inspire2023
最近公司的项目中需要操作pdf文件,所以这里给大家总结下方法,这篇文章主要给大家介绍了关于Java读写pdf文件的详细实现方法,文中通过代码介绍的非常详细,需要的朋友可以参考下
Java读写pdf文件
在OA业务开发中,经常需要java后台读取或生成pdf文件,
itextpdf是一个常用的java操作pdf的开源库
物料准备:
1.引入itextpdf依赖
2.定义Text2PdfUtil工具类
引入itextpdf相关的依赖
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itext-asian</artifactId>
<version>5.2.0</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.5.13</version>
</dependency>定义工具类Text2PdfUtil.java
package cn.ath.knowwikibackend.util;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Font;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.PdfWriter;
import com.itextpdf.text.pdf.parser.PdfTextExtractor;
import java.io.*;
import java.nio.charset.Charset;
/**
* 需要引入的依赖
*
* <dependency>
* <groupId>com.itextpdf</groupId>
* <artifactId>itext-asian</artifactId>
* <version>5.2.0</version>
* </dependency>
*
* <dependency>
* <groupId>com.itextpdf</groupId>
* <artifactId>itextpdf</artifactId>
* <version>5.5.13</version>
* </dependency>
*
*/
public class Text2PdfUtil {
/**
* txt文本文件 转pdf文件
* @param text F:/data/te616.txt
* @param pdf F:/data/aet618.pdf
* @throws DocumentException
* @throws IOException
*/
public static void text2pdf(String text,String pdf) throws DocumentException, IOException {
Document doc = new Document();
OutputStream os = new FileOutputStream(new File(pdf));
PdfWriter.getInstance(doc, os);
doc.open();
//指定 使用内置的中文字体
BaseFont baseFont =
BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.EMBEDDED);
Font font = new Font(baseFont,12,Font.NORMAL);
//指定输出编码为UTF-8
InputStreamReader isr = new InputStreamReader(
new FileInputStream(new File(text)), Charset.forName("UTF-8"));
BufferedReader br = new BufferedReader(isr);
String str = "";
while((str = br.readLine()) != null){
doc.add(new Paragraph(str,font));
}
isr.close();
br.close();
doc.close();
}
/**
* 读取pdf文件的内容
* @param filename F:/data/aet618.pdf
* @return String
*/
public static String readPDF(String filename){
StringBuilder result = new StringBuilder();
try {
PdfReader reader = new PdfReader(filename);
int countPage = reader.getNumberOfPages();
for(int i=1;i<=countPage;i++){
result.append(PdfTextExtractor.getTextFromPage(reader, i));
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
return result.toString();
}
}测试
@Test
void contextLoads() throws DocumentException, IOException {
String txtPath = "E:/test617.txt";
String pdfPath = "E:/test617.pdf";
Text2PdfUtil.text2pdf(txtPath,pdfPath);
System.out.println(Text2PdfUtil.readPDF(pdfPath));
}

总结
到此这篇关于Java读写pdf文件的详细实现方法的文章就介绍到这了,更多相关Java读写pdf文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Java使用EasyExcel生成动态表头和多Sheet数据的Excel实例
这篇文章主要介绍了Java使用EasyExcel生成动态表头和多Sheet数据的Excel实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2025-04-04
spring boot 3使用 elasticsearch 提供搜索建议的实例详解
这篇文章主要介绍了spring boot3使用elasticsearch提供搜索建议,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2023-08-08
部署springboot打包不打包配置文件,配置文件为外部配置文件使用详解
在Spring Boot项目中,将配置文件排除在jar包之外,通过外部配置文件来管理不同环境的配置,可以实现灵活的配置管理,在pom.xml文件中添加相关配置,打包时忽略指定文件,运行时在jar包同级目录下创建config文件夹,将配置文件放入其中即可2025-02-02
Hadoop使用hdfs指令查看hdfs目录的根目录显示被拒的原因及解决方案
这篇文章主要介绍了Hadoop使用hdfs指令查看hdfs目录的根目录显示被拒的原因及解决方案,分布式部署hadoop,服务机只有namenode节点,主机包含其他所有节点,本文给大家介绍的非常详细,需要的朋友可以参考下2023-10-10
LambdaQueryWrapper与QueryWrapper的使用方式
这篇文章主要介绍了LambdaQueryWrapper与QueryWrapper的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-05-05


最新评论