PDFbox实现文本抽取

一、介绍

Apache PDFbox是一个开源的、基于Java的、支持PDF文档生成的工具库,它可以用于创建新的PDF文档,修改现有的PDF文档,还可以从PDF文档中提取所需的内容。Apache PDFBox还包含了数个命令行工具。
Apache PDFbox于前不久发布了最新的1.8.2版。

二、特征

Apache PDFBox主要有以下特征:
1)文本提取:从PDF文档中提取文本。
2)合并&分割:可以把多个PDF文档合并成单个,也可以把单个PDF分拆成多个PDF文档。
3)表单填充:可以从PDF表单中提取数据,或者是填充PDF表单。
4)PDF/A验证:验证PDF文档是否满足PDF/A ISO标准。
5)PDF打印:把PDF文档输出到打印机——利用了Java的打印API。
6)PDF转换:可以把PDF文档转换成映像文件。
7)PDF创建:可以从头创建新的PDF文档。

8)集成Lucene搜索引擎:Lucene搜索引擎与PDF索引相集成。  

三、下载地址

地址:
1)pdfbox-1.8.2.jar
地址:http://archive.apache.org/dist/pdfbox/1.8.2/pdfbox-1.8.2.jar
说明:满足一般的PDF操作需求。
2)pdfbox-app-1.8.2.jar
http://archive.apache.org/dist/pdfbox/1.8.2/pdfbox-app-1.8.2.jar
说明:PDFbox的多个命令行的工具包。
3)fontbox-1.8.2.jar
地址:http://archive.apache.org/dist/pdfbox/1.8.2/fontbox-1.8.2.jar
说明:PDF使用的字库包


package com.fk.extract.pdf;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

import org.apache.pdfbox.pdfparser.PDFParser;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.util.PDFTextStripper;


public class ExtractTextFromPDF {
	public void readPDF(String filename){
		File file = new File(filename);
		FileInputStream in = null;
		try {
			in = new FileInputStream(filename);
			PDFParser parser = new PDFParser(in);
			parser.parse();
			PDDocument pdDocument = parser.getPDDocument();
			PDFTextStripper stripper = new PDFTextStripper();
			String result = stripper.getText(pdDocument);
			System.out.println("PDF文件" + file.getAbsolutePath()+"内容如下:");
			System.out.println(result);
		} catch (IOException e) {
			//e.printStackTrace();
		}
	}
	public static void main(String[] args) {
		new ExtractTextFromPDF().readPDF("src/match.pdf");
	}
}



你可能感兴趣的:(apache,开源,pdf,文本抽取)