linux 下常用 pdf 处理工具
经常要处理一些 pdf 格式的电子书、文献和图片,积累了一些好用的工具,列在这里和大家分享吧。
常用工具
pdftk
可以做 pdf 的合并、删除、混合、旋转等操作。
可以导出、更新 pdf 的目录、作者等基本信息。
pdftotext 与 pdfimages
由 poppler 提供,可以将 pdf 中的文字和图片保存出来。
pdfminer
Python 包。可以把 pdf 内容解析成 xml 格式,以便后续分析。功能最强大,定制性最强。
from pdfminer.converter import XMLConverter
imagemagick
著名的 imagemagick,图像处理的瑞士军刀。以后再专门写日志介绍好了。
常见任务
合并 PDF
pdftk *.pdf cat output out.pdf
更新目录
pdftk input.pdf dump_data_utf8 output info1
# update info1 to info2
pdftk input.pdf update_info_utf8 info2 output output.pdf
一个例子,用 python 和 pdftk 更新 pdf 目录
import os
toc = []
# read toc into a list of dictionary
for p in toc:
print p["page"], p["title"], p["level"]
os.system('pdftk input.pdf dump_data_utf8 output info1')
with open('info2', 'w') as fp:
for line in open('info1'):
fp.write(line)
if "NumberOfPages" in line:
for p in toc:
p['page'] = int(p['page'])
fp.write("""BookmarkBegin
BookmarkTitle: {title}
BookmarkLevel: {level}
BookmarkPageNumber: {page}
""".format(**p))
os.system('pdftk input.pdf update_info_utf8 info2 output output.pdf')
- 上一篇: ssh 免密码登录
- 下一篇: 文字扫描图像去噪脚本:textcleaner