pdfminer

付费?是不可能的!20行Python代码实现一款永久免费PDF编辑工具

不羁岁月 提交于 2020-08-08 20:01:40
PDF(Portable Document Format),中文名称便携文档格式是我们经常会接触到的一种文件格式,文献、文档...很多都是PDF格式。它以格式稳定的优势,使得我们在打印、分享、传输过程中能够最优的保持原有色彩和格式。 PDF是以PostScript语言图像模型为基础的一种文档格式,它在格式的稳定性方面虽然具有很大优势。但是,在可编辑性方面却为使用者引入了另外一个困扰。 例如,在文档的分割、合并、剪切、转换、编辑等方面PDF就有些捉襟见肘了。 Adobe Reader、福昕阅读器、熊猫PDF...经常用到的PDF工具只能用于文档阅读,但是免费版都不可以用于文档编辑。虽然,网页版PDF工具,例如SmallPDF、I love PDF可以用于PDF的编辑,但是对于文档大小也有限制。 曾经,为了替换PDF中的一页,我几乎试遍了所有市面上主流的PDF工具,最终还是不得不选择使用付费工具来解决问题。 事后想了想,既然这些商业化软件不靠谱,为什么不考虑自己动手开发一款工具呢?明明几十行代码能够解决的问题,为什么要费那么多劲去下载、安装那些没有节操的软件呢? 本文就来介绍一下利用Python轻松开发一款PDF编辑工具,可以用于PDF转TxT、分割、合并、剪切、转换。 PyPDF2 PyPDF2是一个第三方的python PDF库,它能够对PDF文件进行分割、合并、裁剪和转换页面。

构建简历解析工具

試著忘記壹切 提交于 2020-08-06 08:17:37
作者|Low Wei Hong 编译|VK 来源|Medium 当我还是一名大学生的时候,我很好奇自动提取简历信息是如何工作的。我将准备各种格式的简历,并上传到招聘网站,以测试背后的算法是如何工作的。我想自己尝试建一个。因此,在最近几周的空闲时间里,我决定构建一个简历解析器。 一开始,我觉得很简单。只是用一些模式来挖掘信息,结果发现我错了!构建简历解析器很困难,简历的布局有很多种,你可以想象。 例如,有些人会把日期放在简历的标题前面,有些人不把工作经历的期限写在简历上,有些人不会在简历上列出公司。这使得简历解析器更难构建,因为没有要捕获的固定模式。 经过一个月的工作,根据我的经验,我想和大家分享哪些方法工作得很好,在开始构建自己的简历分析器之前,你应该注意哪些事情。 在详细介绍之前,这里有一段视频短片,它显示了我的简历分析器的最终结果( https://youtu.be/E-yMeqjXzEA ) 数据收集 我在多个网站上搜了800份简历。简历可以是PDF格式,也可以是doc格式。 我使用的工具是Google的Puppeter(Javascript)从几个网站收集简历。 数据收集的一个问题是寻找一个好的来源来获取简历。在你能够发现它之后,只要你不频繁地访问服务器,抓取一部分就可以了。 之后,我选择了一些简历,并手动将数据标记到每个字段。标记工作的完成是为了比较不同解析方法的性能。

How to detect a rotated page in a PDF document in Python?

核能气质少年 提交于 2020-08-05 04:17:21
问题 Given a PDF document with multiple pages, how to check if a given page is rotated (-90, 90 or 180º)? Preferable using Python (pdfminer, pyPDF) ... UPDATE: The pages are scanned, and most of the page is composed by text. 回答1: I used simply /Rotate attribute of the page in PyPDF2 : pdf = PyPDF2.PdfFileReader(open('example.pdf', 'rb')) orientation = pdf.getPage(pagenumber).get('/Rotate') it can be 0 , 90 , 180 , 270 or None 来源: https://stackoverflow.com/questions/34515674/how-to-detect-a-rotated

Anyway to multithread pdf mining?

只愿长相守 提交于 2020-05-27 12:39:10
问题 I have a code which is looking for a particular string sequence throughout a bunch of pdfs. The problems is that this process is extremely slow. (Sometimes I get pdf's with over 50000 pages) Is there a way to do multi threading? Unfortunately even though I searched, I couldn't make heads or tails about the threading codes import os import shutil as sh f = 'C:/Users/akhan37/Desktop/learning profiles/unzipped/unzipped_files' import slate3k as slate idee = "123456789" os.chdir(f) for file in os

Python3自动化_文件批量处理(文本、PDF;读取、筛选、导出)

血红的双手。 提交于 2020-05-09 15:17:39
利用Python3脚本语言的简练语法,高级语言的丰富类库,快速写了几个文件读取、筛选、导出的“脚本”。 这里简单总结一下关键功能。 读取ini配置文件 检查ini文件是否存在;检查输入的key在ini文件里是否有定义。 1 import configparser 2 4 def getConfigInfo(_ini_nm): 5 6 # Open Ini File 7 config = configparser.ConfigParser() 8 if not config.read(os.path.join(os.getcwd(), _ini_nm + r ' .ini ' )): 9 printLog( ' E ' , ' Read Ini file fail. ' ) 10 11 while True: 12 sysCode = input(r ' Please input the system code : (Press [Enter] to quit): ' ).strip() 13 if 0 == len(sysCode.strip()): 14 exit() 15 16 # Init ConnectionSettings 17 if sysCode in config.sections(): 18 return dict(config[sysCode]) 19 else

记一次为解决Python读取PDF文件的Shell操作

删除回忆录丶 提交于 2020-04-24 23:04:16
[TOC] <hr> 一、背景 本想将 PDF 文件转换为 Word 文档,然后网上搜索了一下发现有挺多转换的软件。有的是免费的、收费,咱也不知哪个好使,还得一个个安装试用。先不说能不解决问题,就这安装试用想想就脑壳疼。便想起了"Python 大法",随即搜了几篇看起来 比较完整的博客 ,二话不说粘贴复制,改改运行试试。使用环境(python3.6+pdfminer3k),代码这里就不放出来了。 二、问题 运气不好,这一试就报错 WARNING:root:GBK-EUC-H ,然后又搜了一下有 同样的报错问题 ,但是这篇博客没啥大用,仅仅是知道缺了相关的字体文件,通过其中的链接顺藤摸瓜找到了 github 上的字体文件列表页 https://github.com/euske/pdfminer/tree/f1d5d681b6d2ab0ddeaea925ba784ebb94f6d509/pdfminer/cmap 三、解决 下载了报错的对应文件 GBK-EUC-H.pickle.gz ,然后将其文件解压把放置 Python 的安装目录下 Lib\site-packages\pdfminer\cmap 路径中,再次运行又报错 "pdfminer.converter:undefined: <PDFCIDFont: basefont='΢ÈíÑźÚ', cidcoding='Adobe

Python-PDF转为Word

非 Y 不嫁゛ 提交于 2020-04-24 03:04:50
手把手 | 20行Python代码教你批量将PDF转为Word 作者 | 丁彦军 给各位带来了一个免费简单快速的方法,手把手教你用 Python 批量处理PDF格式文件,获取自己想要的内容,存为word形式。 在实现PDF转Word功能之前,我们需要一个python的编写和运行环境,同时安装好相关的依赖包。 对于python环境,我们推荐使用PyCharm。 在本地 电脑 环境, anaconda 提供了非常便利的安装和部署。 PDF转Word功能所需的依赖包如下: PDFParser(文档分析器) PDFDocument(文档对象) PDFResourceManager(资源管理器) PDFPageInterpreter(解释器) PDFPageAggregator(聚合器) LAParams(参数分析器) 前期准备工作 说明:本文是在Windows7下使用python最新的3.6版本 1.安装pdfminer3k模块 安装 anaconda 后,直接可以通过pip安装 2.若安装不成功,可以试试下面方法 首先下载pdfminer3k:https://pypi.python.org/pypi/pdfminer3k;然后安装pdfminer,将下载好的pdfminer3k解压到D:或其他合适的盘符,通过win+r 打开运行窗口,输入cmd;输入D:切换到D盘,cd

Finding regex in PDF with PDFminer (python) not working

两盒软妹~` 提交于 2020-04-16 02:54:50
问题 I'm trying to find occurrences of a regular expression in a short pdf. However, it doesn't work. I don't understand why, because if I try to search a simple string I don't have problems. The text is rendered correctly. Here is my code: from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter from pdfminer.converter import TextConverter from pdfminer.layout import LAParams from pdfminer.pdfpage import PDFPage from io import StringIO import re def convert_pdf_to_txt(path): #\[\s

Finding regex in PDF with PDFminer (python) not working

这一生的挚爱 提交于 2020-04-16 02:54:01
问题 I'm trying to find occurrences of a regular expression in a short pdf. However, it doesn't work. I don't understand why, because if I try to search a simple string I don't have problems. The text is rendered correctly. Here is my code: from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter from pdfminer.converter import TextConverter from pdfminer.layout import LAParams from pdfminer.pdfpage import PDFPage from io import StringIO import re def convert_pdf_to_txt(path): #\[\s