pyPdf
纯Python的PDF处理工具。
主页:http://pybrary.net/pyPdf/。
主要功能:- 读取文档信息(标题,作者,……)
- 逐页分割文件
- 逐页合并文件
- 裁剪页面
- 合并多个页面为一个页面
- 加密、解密PDF文件
-
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系列的工具,这样质量有保证,乱码之类的问题比较少。