pdf提取文本转html笔记

曾经为了实现pdf的转化测试了太多的文件,导致现在我自己都有点晕了。

再者就是从cnki下载的pdf文件不知道为什么用pdf2htmlEX无法转化。

xpdf

xpdf的使用:参考链接 http://blog.csdn.net/jiang1984j/article/details/5757427 和 http://my.oschina.net/zbrxtpgyaps/blog/28171?fromerr=zd6Ms31I

我再使用的过程中将http://blog.csdn.net/jiang1984j/article/details/5757427此连接下的displayCIDFontTT   注释掉。

这个链接http://www.jb51.net/softjc/20047.html也是参考之一,注意里面的文件夹关系

以上都是解决了中文的问题。xpdf的转化效果有点差 ,尤其是多列的数据,基本就是混乱的。

pdf2htmlex

然后是pdf2htmlex这个工具,真心非常强大转换出来的html样式也特别好看,但是从cnki下载的pdf文件无法转换(报错:ToUnicode CMap is not valid and got dropped,然后一部分中文就无法显示,如果有人知道怎么解决请教教我),

进行测试发现与电脑是否安装字体无关,怀疑是pdf文件本身的问题。

此文件只需要data文件夹和pdf2htmlEX.exe这两个即可以运行:cmd命令  pdf2htmlEX file.pdf outfile.pdf

下载地址:http://soft.rubypdf.com/software/pdf2htmlex-windows-version

选项翻译:http://m.oschina.net/blog/206900

还有人自己用cmake进行编译的,可惜不会。

下面是使用pdfminer

pdfminer的安装比较麻烦,安装了好几次,已经忘记怎么安装的了,如果在运行代码过程中出现import错误,那可能是安装包的版本问题,我再使用过程中遇到过说是作者在后续的版本中更改了函数。

 1 import os
 2 parent = "G:/Python/Pythonproject/pdf"
 3 os.chdir(parent)
 4
 5 from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
 6 from pdfminer.pdfpage import PDFPage
 7 from pdfminer.converter import XMLConverter, HTMLConverter, TextConverter
 8 from pdfminer.layout import LAParams
 9 from cStringIO import StringIO
10
11
12 def pdfparser(data):
13
14
15     outfile = data+‘.txt‘
16     fp = file(data, ‘rb‘)
17     outfp = file(outfile,‘w‘)
18     rsrcmgr = PDFResourceManager()
19     retstr = StringIO()
20     codec = "utf-8"
21     laparams = LAParams()
22     device = TextConverter(rsrcmgr, outfp, codec=codec, laparams=laparams)
23     # Create a PDF interpreter object.
24     interpreter = PDFPageInterpreter(rsrcmgr, device)
25     # Process each page contained in the document.
26
27
28
29     for page in PDFPage.get_pages(fp):
30         #print page
31         interpreter.process_page(page)
32         data =  retstr.getvalue()
33         #layout = device.get_result()
34
35
36     print data
37
38
39     device.close()
40     outfp.close()
41
42
43 if __name__ == ‘__main__‘:
44     pdfparser(u‘基于PIL的验证码快速识别框架的研究_胡光中.pdf‘)

总体来说pdfminer的结果可以阅读,但是格式特别混乱,不过要比xpdf的好一点,而且依然有错误。速度超级慢。pdfminer的文档看不懂,不知道是否能有人写一篇详细的用法。

中文是实现的难点,很多对英文支持特别好,但是到了中文这儿就不行了。

就写到这儿吧,以后再想起来了,在进行更新!

时间: 2024-08-28 09:46:37

pdf提取文本转html笔记的相关文章

用PDFMiner从PDF中提取文本文字

1.下载并安装PDFMiner 从https://pypi.python.org/pypi/pdfminer/下载PDFMineer wget https://pypi.python.org/packages/57/4f/e1df0437858188d2d36466a7bb89aa024d252bd0b7e3ba90cbc567c6c0b8/pdfminer-20140328.tar.gz#md5=dfe3eb1b7b7017ab514aad6751a7c2ea 加压并安装 tar -zxvf

用ABBYY提取文本和表格的方法

在ABBYY FineReader 12 OCR文字识别软件中,有一个插件ABBYY Screenshot Reader,通常情况下与ABBYY FineReader 12一起安装到计算机中,它是一款易于使用的智能型应用程序,可以从屏幕上的任何区域抓取图像和文本,且能够将这些图像和文本转换为可编辑的格式,无需再重新输入,使得重新利用数字文档.电子邮件或报告内容变得简单,支持超过180种语言,识别精确度也很出色. 只需点击几下,便可从打开的文档.文件菜单.网页.演示文稿.Flash内容和PDF文件

Jsoup提取文本时保留标签

使用Jsoup来对html进行处理比较方便,你可能会用它来提取文本或清理html标签.如果你想提取文本时保留标签,可以使用Jsoup.clean方法,参数为html及标签白名单: Jsoup.clean(html, new Whitelist().addTags("img").addAttributes("img", "data-original", "align", "alt", "height

C#正则表达式提取文本中以逗号间隔的数据

使用正则表达式提取文本数据到内存是很方便的技术,下面通过一个例子介绍一下如何使用正则表达式提取文本 文本中内容格式 1,2,3,4,5 2,2,2,2,2 3,3,3,3,3 C#代码如下 public List<List<string>> GetDataCSV(string path) {         string pattern = @"\d+"; List<List<string>> data = new List<Lis

使用vba做一个正则表达式提取文本工具

测试中经常会遇到对数据的处理,比如我要删除某些特定数据,数据源是从网页请求中抓取,这时候可能复制下来一大堆内容,其中我们只需要特定的某些部分,笔者通常做法是拷贝到notepad++中处理,结合RegTester工具,但是RegTest需要导出匹配数据,不能直接拷贝,稍微麻烦了一点点......于是想用vba写一个正则表达式提取工具好了,又不花时间.(晕,刚想起来其实会有在线工具的,比如:http://tool.oschina.net/regex/),虽然找到了在线工具,还是说一下自己做的这个吧~

美国usan数据库——PDF提取

QQ:231469242 原创 单个PDF内容提取 # -*- coding: utf-8 -*- """ io.open() is the preferred, higher-level interface to file I/O. It wraps the OS-level file descriptor in an object that you can use to access the file in a Pythonic manner. os.open() is

c++之从标准流中提取文本数据

istream & istream :: get ( char * ,  int ,  char = '\n' ) ; istream & istream :: getline ( char * ,  int ,  char = '\n' ) ; 作用:从文本中提取指定个数的字符,并在串数组末添加一个空字符 其中,第一个参数指向接受字符数据的字符数组 第二个参数指定字符数组最多可容纳的字符个数 第三个参数用于指定一个终止符,缺省为换行符 操作遇到终止符或提取到规定个数字符时,提取终止 区别

PDF的文本内容怎么编辑设置

处理文档的时候如果遇到PDF格式的文件需要修改的话就很头疼,文字的编辑也没有word那样方便,而且PDF文件在阅读浏览和编辑上都是由不同软件来进行操作的,这让许多人以为PDF文件是不能编辑的,其实不然,PDF文档的文字也是可以编辑的. PDF文件可以直接进行编辑,用pdf的编辑工具打开文件就可以进行相应的操作.加密的文档只需要输入密码就可以正常操作. 文件打开后一般会有左右两个窗格,页面缩略图和页面编辑区,页面缩略图是用来方便切换当前编辑的页面的.如果没有显示缩略图窗格的话可以通过“视图-页面缩

TF-IDF 提取文本关键词

TF-IDF是一种统计方法,用于评估某个词语对于一个文本集或者一个语料库中的一个文件的重要程度,字词的重要性随着其在文本的出现次数成比例增加,但是又会随着其在语料库中的频率反比率下降,多为搜索引擎应用,作为文件和用户搜索的相关程度的度量和评级. 算法由二部分定义: TF:词频.一个字词在一个文本中出现的频率. TF = 某词在文章出现的次数/文章中总词数 但是在文章中出现最多的词语很可能是:"的","地","是"等词语,但是这样的词语对于文章的关