使用PDFBox解析PDF文档
来源:互联网 发布:php获取服务器内网ip 编辑:程序博客网 时间:2024/04/29 05:53
认识Expresso——正则编写、测试、分析利器中提到近期一项目需要解析PDF,使用的就是流行的PDFBox组件。
PDFBox是Java实现的PDF文档协作类库,提供PDF文档的创建、处理以及文档内容提取功能,也包含了一些命令行实用工具。
主要特性包括:
- 开源(BSD许可)
- 从PDF提取文本
- 合并PDF文档
- PDF文档加密与解密
- 与Lucene搜索引擎的集成
- 填充PDF/XFDF表单数据
- 从文本文件创建PDF文档
- 从PDF页面创建图片
- 打印PDF文档
官方网址:http://www.pdfbox.org
下载地址:http://sourceforge.net/projects/pdfbox/
既然是Java库,要在.NET中使用,需要另一弓虽的开源组件——IKVM——转为.NET(包括Mono and the Microsoft .NET Framework)实现的JVM。
下载包中包含了多个.NET环境的DEMO,最新版本是 0.7.3。
基本上,在.NET中使用PDFBox从PDF解析文本需要下面4个组件:
IKVM.GNU.Classpath.dll
PDFBox-0.7.3.dll
FontBox-0.1.0-dev.dll
IKVM.Runtime.dll
当使用VS进行开发时,添加对前两个dll的引用,并将后两个dll置于运行目录。
只需要下面几行代码:
using org.pdfbox.pdmodel;using org.pdfbox.util; string pdfPath = @"C:/my.pdf"; PDDocument doc = PDDocument.load(pdfPath); PDFTextStripper stripper = new PDFTextStripper(); string txt = stripper.getText(doc); Console.WriteLine(txt);
可针对某些页面提取文本,代码如下
//... PDFTextStripper stripper = new PDFTextStripper(); stripper.setStartPage(2); stripper.setEndPage(10); string txt = stripper.getText(doc); //...
还可通过stripper.setStartBookmark(...) 和 stripper.setEndBookmark(...)设置书签,
更多的文本提取功能见:http://www.pdfbox.org/userguide/text_extraction.html
其他PDF解析工具还有:
http://itextsharp.sourceforge.net/
http://www.codeproject.com/KB/cs/PDFToText.aspx
- 使用PDFBox解析PDF文档
- PDFBox 解析PDF文档
- PDFBox解析PDF文档
- 使用pdfbox解析pdf文档信息(属性,内容,图片)
- 使用pdfbox解析pdf文档信息(属性,内容,图片)
- 使用PDFBox处理PDF文档
- 使用PDFBox处理PDF文档
- 使用PDFBox处理PDF文档
- 使用PDFBox处理PDF文档
- 使用PDFBox处理PDF文档
- 使用PDFBox处理PDF文档
- 使用PDFBox处理PDF文档
- 使用PDFBox处理PDF文档
- 使用PDFBox解析pdf文件
- 使用PDFBox解析PDF内容
- PDF文档解析:PDFBox和iText实例
- 7.1 使用PDFBox处理PDF文档
- lucene入门-使用pdfbox解析中文PDF
- DLL
- 遗忘的——target属性
- pv是什么?
- 函数指针与typedef
- groovy eclipse plugin update website
- 使用PDFBox解析PDF文档
- [转帖] 一篇被台湾网站封杀的帖子
- PBO及内表修改问题
- 通过GetProcAddress函数动态调用dll中地函数,是否必须通过extern C声明导出函数?
- 解决“由于应用程序的配置不正确,应用程序未能启动,重新安装应用程序可能会纠正这个问题”
- BIOS中英文对照表
- 备忘-windows mobile 模拟器上网过程
- 后台JOB List and EMail
- squid配置-squid详细配置