java解析PDF文件,并获取到指定数据.Eg
2017-11-24 15:38
597 查看
在工作中,需要将PDF文件中的部分数据读取出来,那怎样获取到有用的数据呢?废话少说,直接上货!
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import org.apache.pdfbox.pdfparser.PDFParser;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.util.PDFTextStripper;
/* 2017.11.24
* 解析pdf文件中的编号
* */
public class getInfoFromPDF {
private static String result = null; // 用来保存pdf文件中的信息
private static FileInputStream is = null; // 输入流
private static PDDocument document = null;
//获取pdf文件中的编号
public static String getAllInfoFromPDF(String pdfFilePath){
String result = null;
FileInputStream is = null;
PDDocument document = null;
try {
is = new FileInputStream(pdfFilePath);
PDFParser parser = new PDFParser(is);
parser.parse();
document = parser.getPDDocument();
PDFTextStripper stripper = new PDFTextStripper();
result = stripper.getText(document);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (is != null) {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (document != null) {
try {
document.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return result;
}
public static void main(String[] args) throws IOException {
/*
* 通过递归得到某一路径下所有的目录及其PDF文件
*/
// 通过传入文件路径获取文件
File file = new File("F:\\pdf文件解析");
// 把获取到的文件名保存在数组中
File[] files = file.listFiles();
for(File f:files){
//获取文件类型,即文件后缀名
int start = f.getAbsolutePath().length()-3;
int end = f.getAbsolutePath().length();
//得到文件的后缀名
String pdf = f.getAbsolutePath().substring(start, end);
//判断是否是pdf格式的文件
if(pdf.equals("pdf") || pdf.equals("PDF")){
// 是pdf格式的文件
//得到全部pdf文件中的信息
String str = getInfoFromPDF.getAllInfoFromPDF(f.getAbsolutePath());
//截取pdf文件中的编号
String code = str.substring(str.indexOf(":")+1,str.indexOf(":")+27);
System.out.println("解析pdf文件后编号为:"+code);
}
}
}
注:记得添加jar哦!
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import org.apache.pdfbox.pdfparser.PDFParser;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.util.PDFTextStripper;
/* 2017.11.24
* 解析pdf文件中的编号
* */
public class getInfoFromPDF {
private static String result = null; // 用来保存pdf文件中的信息
private static FileInputStream is = null; // 输入流
private static PDDocument document = null;
//获取pdf文件中的编号
public static String getAllInfoFromPDF(String pdfFilePath){
String result = null;
FileInputStream is = null;
PDDocument document = null;
try {
is = new FileInputStream(pdfFilePath);
PDFParser parser = new PDFParser(is);
parser.parse();
document = parser.getPDDocument();
PDFTextStripper stripper = new PDFTextStripper();
result = stripper.getText(document);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (is != null) {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (document != null) {
try {
document.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return result;
}
public static void main(String[] args) throws IOException {
/*
* 通过递归得到某一路径下所有的目录及其PDF文件
*/
// 通过传入文件路径获取文件
File file = new File("F:\\pdf文件解析");
// 把获取到的文件名保存在数组中
File[] files = file.listFiles();
for(File f:files){
//获取文件类型,即文件后缀名
int start = f.getAbsolutePath().length()-3;
int end = f.getAbsolutePath().length();
//得到文件的后缀名
String pdf = f.getAbsolutePath().substring(start, end);
//判断是否是pdf格式的文件
if(pdf.equals("pdf") || pdf.equals("PDF")){
// 是pdf格式的文件
//得到全部pdf文件中的信息
String str = getInfoFromPDF.getAllInfoFromPDF(f.getAbsolutePath());
//截取pdf文件中的编号
String code = str.substring(str.indexOf(":")+1,str.indexOf(":")+27);
System.out.println("解析pdf文件后编号为:"+code);
}
}
}
注:记得添加jar哦!
相关文章推荐
- java解析PDF文件,并获取到指定数据(升级版)
- [Java] 利用xpdf库获取pdf文件的指定范围文本内容
- [Java] 利用xpdf库获取pdf文件的指定范围文本内容
- [Java] 利用xpdf库获取pdf文件的指定范围文本内容
- [Java] 利用xpdf库获取pdf文件的指定范围文本内容
- [Java] 利用xpdf库获取pdf文件的指定范围文本内容
- [Java] 利用xpdf库获取pdf文件的指定范围文本内容
- java解析oracle日志,获取指定日期后的更新和插入数据
- java解析压缩文件.zip,获取文件夹下的数据
- 转:Android中数据文件解析(Json解析【从服务器端获取数据并且解析,显示在客户端上面】)
- Android中数据文件解析(Json解析【从服务器端获取数据并且解析,显示在客户端上面】)
- java获取指定目录下所有指定扩展名的文件
- Android中数据文件解析(Json解析【从服务器端获取数据并且解析,显示在客户端上面】)
- java文件过滤器(File类listFiles方法可选参数)--获取目录下指定的某类文件
- Android中数据文件解析(Json解析【从服务器端获取数据并且解析,显示在客户端上面】)
- java中如何获取远程计算机post提交的数据并把这些数据写入本地的txt文件中
- Android中数据文件解析(Json解析【从服务器端获取数据并且解析,显示在客户端上面】)
- java获取指定路径下文件的方法
- (java)获取某文件夹下面所有的指定类型的文件名称,并根据情况返回可用的名称
- 获取指定目录及其子目录的所有文件(JAVA)