文档章节

Python处理pdf文件的包

mickelfeng
 mickelfeng
发布于 2017/03/27 17:58
字数 562
阅读 464
收藏 1

 

在网上找了一下发现了“PyPDF”库,最后则采用了“PyPDF2”。参考http://mstamy2.github.io/PyPDF2/,“PyPDF”是始于2005年的一个pdf工具包,2011年末基于“PyPDF”而以改善pdf文件输入为初衷的改良加强版的“PyPDF2”出现。“PyPDF”和“PyPDF2”都是“pure Python”库所以直接支持“pip”安装,以下整理了“PyPDF2”库在各操作环境的简易安装方法。

  • ReportLab
    强大的生成PDF文件的库。
    主页:http://www.reportlab.com/software/opensource/rl-toolkit/
    主要功能:

    • 创建专业的PDF文件
    • Real document layout engine (Platypus) (这个不知道怎么翻译,大概是很NB的页面布局引擎)
    • 浮动对象,如段落,标题行,表格,图像,图形等
    • 支持嵌入Type-1字体或TTF字体
    • 支持亚洲,希伯来和阿拉伯字符
    • 支持任何流行格式的位图图像
    • 支持矢量图形
    • 包括一个可重用的基本图形库
    • 可扩展的widget库
    • Layed architecture, written in Python
    • 包含简单示例和更复杂的工具
    • 允许使用任何数据源
    • 源代码完全公开
    • 强大的社区支持
    • 跨平台
  • PDFMiner
    主要用于分析PDF文本内容的工具。
    主页:http://www.unixuser.org/~euske/python/pdfminer/index.html
    主要功能:

    • 纯Python(2.4以上版本)
    • 解析,分析和转换PDF文档
    • 支持PDF-1.7标准(几乎完美支持)
    • 支持CJK语言和竖向书写
    • 支持多种字体格式(Type1,TrueType,Type3和CID)
    • 基本的加密支持(RC4)
    • PDF转HTML(一个简单的Web转换器)
    • 摘要(TOC)抽取
    • 标记抽取内容
    • 重构原始布局

简单讲,如果只折腾现成的PDF文件,用pyPdf,如果要生成新内容的PDF文件用ReportLab,如果要分析现有PDF文件的内容,用PDFMiner。

不过,生成PDF方面,我更愿意使用LaTeX系列的工具,这样质量有保证,乱码之类的问题比较少。

© 著作权归作者所有

上一篇: 安装PhantomJS
下一篇: [模块]psutil简介
mickelfeng

mickelfeng

粉丝 237
博文 2802
码字总数 605868
作品 0
成都
高级程序员
私信 提问
如何使用Python玩转PDF各种骚操作?

Portable Document Format(可移植文档格式),或者PDF是一种文件格式,可以用于跨操作系统的呈现和文档交换。尽管PDF最初是由Adobe发明的,但它现在是由国际标准化组织(ISO)维护的开放标准。你...

急速奔跑中的蜗牛
05/24
0
0
手把手教你如何用Python从PDF文件中导出数据(附链接)

作者:Mike Driscoll ;翻译:季洋;校对:丁楠雅 本文约4000字,建议阅读10分钟。 本文介绍了在提取出想要的数据之后,如何将数据导出成其他格式的方法。 有很多时候你会想用Python从PDF中提...

数据分析v
2018/11/29
0
0
数据分析遇到PDF文本,怎么用Python批量提取内容

本文为你展示,如何用Python把许多PDF文件的文本内容批量提取出来,并且整理存储到数据框中,以便于后续的数据分析。 问题 最近,读者们在后台的留言,愈发五花八门了。 写了几篇关于自然语言...

程序猿拿Q
2018/10/31
39
0
Python处理csv、xlsx、pdf

一、csv文件的处理 CSV(Comma-Separated Values)即逗号分隔值,可以用Excel打开查看。由于是纯文本,任何编辑器也都可打开。与 Excel 文件不同,CSV 文件中: 值没有类型,所有值都是字符串 ...

blackfoxya
2018/06/08
1K
0
是程序员,就用python导出pdf

这两天一直在做课件,我个人一直不太喜欢PPT这个东西……能不用就不用,我个人特别崇尚极简风。 谁让我们是程序员呢,所以就爱上了Jupyter写课件,讲道理markdown也是个非常不错的写书格式啊...

上海小胖
03/30
38
0

没有更多内容

加载失败,请刷新页面

加载更多

代理模式之JDK动态代理 — “JDK Dynamic Proxy“

动态代理的原理是什么? 所谓的动态代理,他是一个代理机制,代理机制可以看作是对调用目标的一个包装,这样我们对目标代码的调用不是直接发生的,而是通过代理完成,通过代理可以有效的让调...

code-ortaerc
27分钟前
4
0
学习记录(day05-标签操作、属性绑定、语句控制、数据绑定、事件绑定、案例用户登录)

[TOC] 1.1.1标签操作v-text&v-html v-text:会把data中绑定的数据值原样输出。 v-html:会把data中值输出,且会自动解析html代码 <!--可以将指定的内容显示到标签体中--><标签 v-text=""></......

庭前云落
59分钟前
7
0
VMware vSphere的两种RDM磁盘

在VMware vSphere vCenter中创建虚拟机时,可以添加一种叫RDM的磁盘。 RDM - Raw Device Mapping,原始设备映射,那么,RDM磁盘是不是就可以称作为“原始设备映射磁盘”呢?这也是一种可以热...

大别阿郎
今天
10
0
【AngularJS学习笔记】02 小杂烩及学习总结

本文转载于:专业的前端网站☞【AngularJS学习笔记】02 小杂烩及学习总结 表格示例 <div ng-app="myApp" ng-controller="customersCtrl"> <table> <tr ng-repeat="x in names | orderBy ......

前端老手
昨天
14
0
Linux 内核的五大创新

在科技行业,创新这个词几乎和革命一样到处泛滥,所以很难将那些夸张的东西与真正令人振奋的东西区分开来。Linux内核被称为创新,但它又被称为现代计算中最大的奇迹,一个微观世界中的庞然大...

阮鹏
昨天
18
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部