导航:首页 > 文件类型 > java读取pdf文件页数

java读取pdf文件页数

发布时间:2025-08-31 23:57:33

java 读取pdf内容

这里简单介绍2种Java读取PDF文件内容的方法,分别是PDFBox和Spire.PDF,感兴趣的朋友可以尝试一下:
01PDFBox
这是Apache提供的一个免费、开源工具,专门用于操作PDF文档,目前支持加密/解密PDF文档,从PDF文档中导出表单数据,向已有PDF文档追加内容,以及切分PDF文档等,导入项目或工程的话,可以直接下载Jar包,也可以直接Maven引入,如下:
02Spire.PDF
这也是一个专门用于读取PDF文件内容的Java工具包,商业版需要付费购买,也有个人免费版,但功能比较局限,只能提取前10页内容,目前支持文本、图片等内容提取,导入项目或工程的话,可以直接下载Jar包,也可以直接Maven引入,如下:
目前,就分享这2种Java读取PDF文件内容的方法吧。总的来说,整个过程非常简单,只要你有一定Java基础,熟悉一下上面的代码和示例,很快就能掌握的,当然,你也可以使用其他工具包,像iTika等也都非常不错,网上也有相关教程和资料,介绍的非常详细,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。

㈡ 如何用java读取pdf文档的部分内容

你需要用到 api

https://pdfbox.apache.org/1.8/cookbook/textextraction.html

例子如下

importjava.io.File;
importjava.io.IOException;
importorg.apache.pdfbox.pdmodel.PDDocument;
importorg.apache.pdfbox.text.PDFTextStripper;
importorg.apache.pdfbox.text.PDFTextStripperByArea;

try{
PDDocumentdocument=null;
document=PDDocument.load(newFile("test.pdf"));
document.getClass();
if(!document.isEncrypted()){
PDFTextStripperByAreastripper=newPDFTextStripperByArea();
stripper.setSortByPosition(true);
PDFTextStripperTstripper=newPDFTextStripper();
Stringst=Tstripper.getText(document);
System.out.println("Text:"+st);
}
}catch(Exceptione){
e.printStackTrace();
}

㈢ 用java如何提取pdf中的标题和作者

PDDocument document=PDDocument.load(fis);
PDDocumentInformation info = document.getDocumentInformation();
System.out.println("页数:"+document.getNumberOfPages());

System.out.println( "标题:" + info.getTitle() );
System.out.println( "主题:" + info.getSubject() );
System.out.println( "作者:" + info.getAuthor() );
System.out.println( "关键字:" + info.getKeywords() );

System.out.println( "应用程序:" + info.getCreator() );
System.out.println( "pdf 制作程序:" + info.getProcer() );

System.out.println( "Trapped:" + info.getTrapped() );

System.out.println( "创建时间:" + dateFormat( info.getCreationDate() ));
System.out.println( "修改时间:" + dateFormat( info.getModificationDate()));

㈣ java 如何读取PDF文件内容

import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.net.MalformedURLException;
import java.net.URL;
import org.pdfbox.pdmodel.PDDocument;
import org.pdfbox.util.PDFTextStripper;
public class PdfReader {
public void readFdf(String file) throws Exception {
// 是否排序
boolean sort = false;
// pdf文件名
String pdfFile = file;
// 输入文本文件名称
String textFile = null;
// 编码方式
String encoding = "UTF-8";
// 开始提取页数
int startPage = 1;
// 结束提取页数
int endPage = Integer.MAX_VALUE;
// 文件输入流,生成文本文件
Writer output = null;
// 内存中存储的PDF Document
PDDocument document = null;
try {
try {
// 首先当作一个URL来装载文件,如果得到异常再从本地文件系统//去装载文件
URL url = new URL(pdfFile);
//注意参数已不是以前版本中的URL.而是File。
document = PDDocument.load(pdfFile);
// 获取PDF的文件名
String fileName = url.getFile();
// 以原来PDF的名称来命名新产生的txt文件
if (fileName.length() > 4) {
File outputFile = new File(fileName.substring(0, fileName
.length() - 4)
+ ".txt");
textFile = outputFile.getName();
}
} catch (MalformedURLException e) {
// 如果作为URL装载得到异常则从文件系统装载
//注意参数已不是以前版本中的URL.而是File。
document = PDDocument.load(pdfFile);
if (pdfFile.length() > 4) {
textFile = pdfFile.substring(0, pdfFile.length() - 4)
+ ".txt";
}
}
// 文件输入流,写入文件倒textFile
output = new OutputStreamWriter(new FileOutputStream(textFile),
encoding);
// PDFTextStripper来提取文本
PDFTextStripper stripper = null;
stripper = new PDFTextStripper();
// 设置是否排序
stripper.setSortByPosition(sort);
// 设置起始页
stripper.setStartPage(startPage);
// 设置结束页
stripper.setEndPage(endPage);
// 调用PDFTextStripper的writeText提取并输出文本
stripper.writeText(document, output);
} finally {
if (output != null) {
// 关闭输出流
output.close();
}
if (document != null) {
// 关闭PDF Document
document.close();
}
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
PdfReader pdfReader = new PdfReader();
try {
// 取得E盘下的SpringGuide.pdf的内容
pdfReader.readFdf("E://SpringGuide.pdf");
} catch (Exception e) {
e.printStackTrace();
}
}
}

阅读全文

与java读取pdf文件页数相关的资料

热点内容
巨量百应如何看后台数据 浏览:451
java判断文件是否图片格式 浏览:893
文件打开方式下载 浏览:677
java文件非对称加密 浏览:173
2013微信wap接入点不能视频 浏览:887
如何学会迷你编程用哪个软件 浏览:732
wpf数据库 浏览:409
泰生活app新人专属抽奖在哪里抽 浏览:940
js时间加一天 浏览:555
javaservletapi在线 浏览:63
如何给服务器文件加密 浏览:558
什么有数据分析功能 浏览:845
苹果维保新政策 浏览:448
vb生成条形码代码 浏览:963
手机上怎么升级qq会员 浏览:515
java读取pdf文件页数 浏览:836
android购物app代码 浏览:720
中国教程网祁连山pscs6 浏览:606
word合并单元格粘贴 浏览:533
qq捕鱼达人客服 浏览:968

友情链接