(9)IText读取PDF
2016-04-01 18:53
288 查看
import com.itextpdf.text.pdf.PdfReader; import com.itextpdf.text.pdf.parser.PdfTextExtractor; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; import java.io.Writer; import java.util.logging.Level; import java.util.logging.Logger; /** * * @author Angela */ public class ITextToTxt { /**提取文本**/ public static void extractTXT(String file){ try { PdfReader reader = new PdfReader(file); int pageNum = reader.getNumberOfPages();//获得页数 for (int i=1; i<=pageNum; i++) {// 只能从第1页开始读 System.out.println(PdfTextExtractor.getTextFromPage(reader, i)); } } catch (IOException ex) { Logger.getLogger(ITextToTxt.class.getName()).log(Level.SEVERE, null, ex); } } /** * 提取部分页面文本 * @param file pdf文件路径 * @param startPage 起始页数 * @param endPage 结束页数 */ public static void extractTXT(String file,int startPage,int endPage){ try { PdfReader reader = new PdfReader(file); for (int i=startPage; i<=endPage; i++) { System.out.println(PdfTextExtractor.getTextFromPage(reader, i)); } } catch (IOException ex) { Logger.getLogger(ITextToTxt.class.getName()).log(Level.SEVERE, null, ex); } } /** * 保存文本内容 * @param file pdf文件路径 * @param savePath 文本保存路径 */ public static void extractTXT(String file,String savePath){ try { PdfReader reader = new PdfReader(file); int pageNum = reader.getNumberOfPages();//获得页数 //创建一个输出流 Writer writer=new OutputStreamWriter(new FileOutputStream(savePath)); for (int i=1; i<=pageNum; i++) {// 只能从第1页开始读 writer.write(PdfTextExtractor.getTextFromPage(reader, i)); } writer.flush(); writer.close(); } catch (IOException ex) { Logger.getLogger(ITextToTxt.class.getName()).log(Level.SEVERE, null, ex); } } /** * 保存部分页面文本 * @param file pdf文件路径 * @param startPage 起始页数 * @param endPage 结束页数 * @param savePath 文本保存路径 */ public static void extractTXT(String file,int startPage, int endPage,String savePath){ try { PdfReader reader = new PdfReader(file); //创建一个输出流 Writer writer=new OutputStreamWriter(new FileOutputStream(savePath)); for (int i=startPage; i<=endPage; i++) { System.out.println(PdfTextExtractor.getTextFromPage(reader, i)); } writer.flush(); writer.close(); } catch (IOException ex) { Logger.getLogger(ITextToTxt.class.getName()).log(Level.SEVERE, null, ex); } } public static void main(String args[]){ String file="F:\\pdf\\2013\\000608_阳光股份_2013年年度报告(更新后)_1.pdf"; String savePath="E:\\result2.txt"; long startTime=System.currentTimeMillis(); extractTXT(file,savePath); long endTime=System.currentTimeMillis(); System.out.println("读写所用时间为:"+(endTime-startTime)+"ms"); } }
相关文章推荐
- JQuery之动画与特效
- HTTP抓包的实践--协议
- Android MTK 锁屏时间显示显示不全修改
- POJ题目分类
- OpenGL入门博文精选
- (8)PDFBOX读取PDF(元数据、纲要、文本、图片)
- leetcode @python 121. Best Time to Buy and Sell Stock
- SQL注入
- TL-WN725N 安装问题
- 可以编辑的表格
- css text
- 网络聊天_客户端(Winsock编程)
- HDU题目分类
- 选择cocos2d-js的原因,摘录了官网的一些东西
- DPDK简介
- PHP 正则表达式匹配中文字符
- Android WebView兼容性问题
- 网络聊天_服务器端(Winsock编程)
- 每天一个linux命令(50):crontab命令
- Oracle sql中(+)号作用