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')

标签: pdf

赞 (7)

添加新评论