python 根据PDF 目录生成PDF书签

Python 代码 PDF 生成书签代码 ,使用PyPDF4 库。

txt_path 目录文件

pdf_path pdf 文件 换成自己的地址

txt 文件 格式

第 1 章-LAMP 网站构建-1
1.1-Web 概述-1
1.1.1-Web 应用的优势-2
1.1.2-Web 2.0-时代的互联网-3

章节-标题-目录中的页码

import PyPDF4

txt_path = '/Users/lcd/Desktop/lcd/python/pdfbookmark/pdf/test.txt'
pdf_path = '/Users/lcd/Desktop/lcd/python/pdfbookmark/pdf/php2.pdf'
ini_page = 26 # pdf 正式开始的页码


# 目录 可以复制pdf文档中的目录结构到txt. 调整成文档中的结构。
def get_mu_lu(page):
    sy = ''
    with open(txt_path, 'r') as f:
        txt_lines = f.readlines()
        for line in txt_lines:
            line_split = line.split('-')
            line_title = line_split[1]
            line_num = line_split[-1].replace('\n', '')
            line_level = line_split[0]
            line_level_split = line_level.split('.')
            if str(page) == str(line_num):
                if len(line_level_split) > 1:
                    sy = line_level+line_title
                    if len(line_level_split) > 2:
                        sy = line_level+line_title
                        break
                    else:
                        break

    return sy


def read_pdf():
    # 打开pdf 文件
    pdf_file = open(pdf_path, 'rb')
    pdf_reader = PyPDF4.PdfFileReader(pdf_file)
    pdf_page_num = pdf_reader.getNumPages()
    # 创建 pdfwriter 对象
    pdf_writer = PyPDF4.PdfFileWriter()
    for page_num in range(pdf_page_num):
        page = pdf_reader.getPage(page_num)
        pdf_writer.addPage(page)
        if page_num > ini_page:
            mulu = get_mu_lu(page_num - ini_page)
            if mulu:
                pdf_writer.addBookmark(mulu, page_num)
                print(mulu)
    output_file = open('example_with_bookmarks.pdf', 'wb')
    pdf_writer.write(output_file)

    pdf_file.close()
    output_file.close()


read_pdf()

希望可以帮到您

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python学习手册(第3版).pdf本书包括:   类型和操作——深入讨论Python主要的内置对象类型:数字、列表和字典等。   语句和语法——在Python中输入代码来建立并处理对象,以及Python一般的语法模型。   函数——Python基本的面向过程工具,用于组织代码和重用。   模块——封装语句、函数以及其他工具,从而可以组织成较大的组件。   类和OOP——Python可选的面向对象编程工具,可用于组织程序代码从而实现定制和重用。   异常和工具——异常处理模型和语句,并介绍编写更大程序的开发工具。 《Python学习手册(第3版)》讲述了:Python可移植、功能强大、易于使用,是编写独立应用程序和脚本应用程序的理想选择。无论你是刚接触编程或者刚接触Python,通过学习《Python学习手册(第3版)》,你可以迅速高效地精通核心Python语言基础。读完《Python学习手册(第3版)》,你会对这门语言有足够的了解,从而可以在你所从事的任何应用领域中使用它。, 《Python学习手册(第3版)》是作者根据过去10年用于教学而广为人知的培训课程的材料编写而成的。除了有许多详实说明和每章小结之外,每章还包括一个头脑风 暴:这是《Python学习手册(第3版)》独特的一部分,配合以实用的练习题和复习题,让读者练习新学的技巧并测试自己的理解程度。, 《Python学习手册(第3版)》包括:, 类型和操作——深入讨论Python主要的内置对象类型:数字、列表和字典等。, 语句和语法——在Python中输入代码来建立并处理对象,以及Python一般的语法模型。, 函数——Python基本的面向过程工具,用于组织代码和重用。, 模块——封装语句、函数以及其他工具,从而可以组织成较大的组件。, 类和OOP——Python可选的面向对象编程工具,可用于组织程序代码从而实现定制和重用。, 异常和工具——异常处理模型和语句,并介绍编写更大程序的开发工具。, 讨论Python 3.0。, 《Python学习手册(第3版)》让你对Python语言有深入而完整的了解,从而帮助你理解今后遇到的任何Python应用程序实例。如果你准备探索Google和YouTube为什么选中了Python,《Python学习手册(第3版)》就是你入门的最佳指南。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值