使用pdfbox实现pdf文本提取和合并功能示例
有时我们需要对PDF文件进行一些处理,提取文本、合并等。以前我们使用A-PDF Text Extractor免费工具,为什么不自己写一个呢?
现在我们可以使用PDFBox-0.7.3这个开源类库. 下载解包后引用:
代码如下:
PDFBox-0.7.3.dll
IKVM.GNU.Classpath.dll
public static string ParseToTxtStringUsingPDFBox(string filename){
PDDocument doc = PDDocument.load(filename);
PDFTextStripper stripper = new PDFTextStripper();
return stripper.getText(doc);
}
获得这个textString,再把它们写成磁盘文件就可以了, 像这样的方法:
代码如下:
public static void WriteToTextFile(string str,string txtpath)
{
if (string.IsNullOrEmpty(txtpath))
throw new ArgumentNullException("Output file path should not be Null");
using (var txtWriter = new StreamWriter(txtpath))
{
txtWriter.Write(str);
txtWriter.Close();
}
}
其它的功能您可以自行发挥了. 这个类库目前支持:
PDF to text extraction
Merge PDF Documents
PDF Document Encryption/Decryption
Lucene Search Engine Integration
Fill in form data FDF and XFDF
Create a PDF from a text file
Create images from PDF pages
Print a PDF
相关推荐
-
使用pdfbox实现pdf文本提取和合并功能示例
有时我们需要对PDF文件进行一些处理,提取文本.合并等.以前我们使用A-PDF Text Extractor免费工具,为什么不自己写一个呢? 现在我们可以使用PDFBox-0.7.3这个开源类库. 下载解包后引用: 复制代码 代码如下: PDFBox-0.7.3.dllIKVM.GNU.Classpath.dll 新建一个项目,代码很简单: 复制代码 代码如下: public static string ParseToTxtStringUsingPDFBox(string filename){P
-
Python编程实现微信企业号文本消息推送功能示例
本文实例讲述了Python微信企业号文本消息推送功能.分享给大家供大家参考,具体如下: 企业号的创建.企业号应用的创建.组.tag.part就不赘述了,一搜一大堆,但是网上拿的那些个脚本好多都不好使,所以自己修了一个 坦率的讲,这个脚本是用来作为zabbix的通知媒介脚本的,本人是个菜鸟,如果哪里不对,大神们不要笑话,python也处于学习阶段,如果有哪些地方不合理,很希望可以不吝赐教,废话不多说,脚本奉上: #!/usr/bin/python # _*_coding:utf-8 _*_ imp
-
PHP实现的大文件切割与合并功能示例
本文实例讲述了PHP实现的大文件切割与合并功能.分享给大家供大家参考,具体如下: 分割代码 split.php <?php $i = 0; //分割的块编号 $fp = fopen("hadoop.sql","rb"); //要分割的文件 $file = fopen("split_hash.txt","a"); //记录分割的信息的文本文件,实际生产环境存在redis更合适 while(!feof($fp)){ $han
-
Python使用tkinter库实现文本显示用户输入功能示例
本文实例讲述了Python使用tkinter库实现文本显示用户输入功能.分享给大家供大家参考,具体如下: #coding:utf-8 from Tkinter import * class App: def __init__(self,root): #定义帧 frame = Frame(root) frame.pack() self.frame = frame w = Label(frame,text = "calculator") w.pack() self.newinput() #
-
Python实现使用卷积提取图片轮廓功能示例
本文实例讲述了Python实现使用卷积提取图片轮廓功能.分享给大家供大家参考,具体如下: 一.实例描述 将彩色的图片生成带边缘化信息的图片. 本例中先载入一个图片,然后使用一个"3通道输入,1通道输出的3*3卷积核"(即sobel算子),最后使用卷积函数输出生成的结果. 二.代码 ''''' 载入图片并显示 首先将图片放到代码的同级目录下,通过imread载入,然后将其显示并打印出来 ''' import matplotlib.pyplot as plt # plt 用于显示图片 im
-
Delphi提取PDF文本实例
生成PDF的控件很多,但解析的不是太多,pdf Toolkit可以,但测试的第一个复杂的pdf就报告错误,并且汉字乱码,可能使用的版本或使用方法不对. 想起之前使用java调用的Apache名下的pdfBox库很好用,于是就用下载了pdfBox,使用Delphi来调用pdfBox解析pdf文本. 环境要求:java运行环境 pdfBox应用包:pdfbox-app-2.0.6.jar 这里使用了DOS命令行来解析,然后调用解析结果. 首先是执行DOS命令: procedure CheckResu
-
基于Python实现PDF区域文本提取工具
目录 功能简介 开发代码 功能简介 打开软件后界面如下: 点击打开文件按钮打开之前的PDF文件后效果如下: 框选区域后,标题栏会自动显示当前框选的区域提取到的文字,还可以左右按钮切换: 实际我们需要提取文字的区域可能不止这一个,所以程序支持多区域框选: 完成区域框选后就可以点击保存文件,将PDF每页提取到的文本保存到一个csv文件中,当前选区的保存结果如下: 可以看到已经按框选顺序依次保存了每一个区域的字符串. 如果选择区域时发现提取结果不准确,可以撤销后重新选择: 保存图片则会将PDF的每页的
-
利用Python提取PDF文本的简单方法实例
目录 第一步,安装工具库 第二步,编写代码 第三步,执行 最后的话 你好,一般情况下,Ctrl+C 是最简单的方法,当无法 Ctrl+C 时,我们借助于 Python,以下是具体步骤: 第一步,安装工具库 1.tika — 用于从各种文件格式中进行文档类型检测和内容提取 2.wand — 基于 ctypes 的简单 ImageMagick 绑定 3.pytesseract — OCR 识别工具 创建一个虚拟环境,安装这些工具 python -m venv venv source venv/bin
-
Linux系统中利用node.js提取Word(doc/docx)及PDF文本的内容
前言 想要做全文搜索引擎,则需要将word/pdf等文档内容提取出来.对于pdf有xpdf等一些开源方案. 但Word文档的情况则会复杂一些. 提取PDF文本内容 XPDF是一个免费开源的软件,用于显示PDF文件,并可将pdf转换成文字图片等,同样支持Windows版.在Debian Linux上安装非常简单: apt-get install xpdf 我们这里只使用pdftotext这个功能,直接输入可查看帮助: root@raspberrypi:/var/www# pdftotext pdf
-
python从PDF中提取数据的示例
01 前言 数据是数据科学中任何分析的关键,大多数分析中最常用的数据集类型是存储在逗号分隔值(csv)表中的干净数据.然而,由于可移植文档格式(pdf)文件是最常用的文件格式之一,因此每个数据科学家都应该了解如何从pdf文件中提取数据,并将数据转换为诸如"csv"之类的格式,以便用于分析或构建模型. 在本文中,我们将重点讨论如何从pdf文件中提取数据表.类似的分析可以用于从pdf文件中提取其他类型的数据,如文本或图像.我们将说明如何从pdf文件中提取数据表,然后将其转换为适合于进一步分
随机推荐
- python发送邮件实例分享
- Shell脚本实现自动安装zookeeper
- MySQL数据表字段内容的批量修改、清空、复制等更新命令
- python虚拟环境virtualenv的使用教程
- python正则分组的应用
- JavaScript获取路径设计源码
- php通过字符串调用函数示例
- MySQL 开启慢查询日志的方法
- Linux/UNIX和Window平台上安装Mysql
- Vue制作Todo List网页
- javascript操作表格排序实例分析
- 用JQuery实现表格隔行变色和突出显示当前行的代码
- C++交换指针实例
- MongoDB错误32-bit servers don't have journaling enabled by default解决方法
- ThinkPHP在新浪SAE平台的部署实例
- jquery实现选中单选按钮下拉伸缩效果
- jQuery/CSS3图片特效插件整理推荐
- 通用javascript代码判断版本号是否在版本范围之间
- 整理的比较不错的JavaScript的方法和技巧第1/3页
- C++函数的嵌套调用和递归调用学习教程