java 解析pdf_Java 解析 PDF, pdfbox读取PDF内容

该博客介绍了如何使用Java的PDFBox库从PDF文件中提取文本。通过加载PDF文档,创建字节数组输出流和输出流写入器,然后利用PDFTextStripper类将文本导出,最终关闭相关资源并返回提取的文本。
摘要由CSDN通过智能技术生成

import java.io.ByteArrayOutputStream;

import java.io.File;

import java.io.OutputStreamWriter;

import org.pdfbox.pdmodel.PDDocument;

import org.pdfbox.util.PDFTextStripper;

public class Pdftext {

public static String getTxt(File f) throws Exception {

String ts = "";

try {

String temp = "";

PDDocument pdfdocument = PDDocument.load(f);

ByteArrayOutputStream out = new ByteArrayOutputStream();

OutputStreamWriter writer = new OutputStreamWriter(out);

PDFTextStripper stripper = new PDFTextStripper();

stripper.writeText(pdfdocument.getDocument(), writer);

pdfdocument.close();

out.close();

writer.close();

byte[] contents = out.toByteArray();

ts = new String(contents);

System.out.println(f.getName() + "length is:" + contents.length

+ "\n");

} catch (Exception e) {

e.printStackTrace();

} finally {

return ts;

}

}

public static void main(String[] args) throws Exception {

File file = new File("d:/hello.pdf");

System.out.println(Pdftext.getTxt(file));

/*

File file = new File("d:/hello.pdf");

FileInputStream fis = new FileInputStream(file);

BufferedInputStream bis = new BufferedInputStream(fis);

PDFParser parser = new PDFParser(bis);

//

parser.parse();

PDDocument document = parser.getPDDocument();

PDFTextStripper stripper = new PDFTextStripper();

String s = stripper.getText(document);

//

document.close();// /

bis.close();

// //

File ff = new File("d:/hello.pdf");

ff.createNewFile();

if (ff.exists())

{

ff.createNewFile();

}

FileWriter fw = new FileWriter(ff);

BufferedWriter bw = new BufferedWriter(fw);

bw.write(s);

bw.close();*/

}

}

下载次数: 174

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2011-07-04 20:59

浏览 5267

评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值