Python生成pdf目录书签的实例方法


Posted in Python onOctober 29, 2020

有时候我们用的一些pdf资料是没有目录的,这样找寻我们想到的东西比较麻烦。本篇文章就为大家带来python来生成pdf目录书签的方法。

首先,我们需要下载一个软件FreePic2Pdf,利用它我们可以将我们的pdf文件导入书签

工具下载:https://3water.com/softs/57870.html

Python生成pdf目录书签的实例方法

然后,我们需要获取原始版本的目录,这个可以到京东上找到书籍,查看目录,把其中的目录复制到一个txt文件中即可,或者有些pdf允许复制,也可以直接把目录复制下来。

Python生成pdf目录书签的实例方法

复制之后假设存到aa.txt文件中:

Python生成pdf目录书签的实例方法

接下来的,就是利用python读取txt来实现目录生成:

代码还是比较简单的,有需要的可以直接弄成.py文件,改下目标文件名运行即可,但是要注意aa.txt的文件格式得如上面一致才行

# 编码格式需要txt保存的编码格式是什么,只要最终文件不乱码就ok
fin = open("aa.txt", "r", encoding='GBK')
fout = open("bb.txt", "w")

for each_line in fin:
    list = each_line.split()
    for i in range(len(list) - 1): #倒数第一个元素是数字,先不放
        index=list[i].split('.')
        if(len(index)>1):
             # 第二级目录
            fout.write('\t')
            if(len(index)>2):
             # 第三级目录
                fout.write('\t')
                # 假如还有下级目录,可以继续追加...
        #  输出序号
        fout.write(list[i])
        # 输出空格
        fout.write(' ')
    # 为书页号置tap位
    fout.write('\t')
    num = int(list[-1]) + 0 #单独处理倒数第一个数字
    fout.write(str(num))#书页号
    # 下一行
    fout.write("\n")

fin.close()
fout.close()

运行结果:

Python生成pdf目录书签的实例方法

然后按照上述链接的方法,因为书面目录页码和实际页码的差距,需要修改起始页码的配置值,即可实现导入书签。

Python生成pdf目录书签的实例方法

加了目录的pdf是不是更加美观实用了呢?

以上就是Python生成pdf目录书签的实例方法的详细内容,更多关于Python生成pdf目录书签的方法的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python多线程socket编程之多客户端接入
Sep 12 Python
python使用SMTP发送qq或sina邮件
Oct 21 Python
对python多线程中Lock()与RLock()锁详解
Jan 11 Python
解决python3 安装不了PIL的问题
Aug 16 Python
pip 安装库比较慢的解决方法(国内镜像)
Oct 06 Python
Python3使用xlrd、xlwt处理Excel方法数据
Feb 28 Python
python网络编程socket实现服务端、客户端操作详解
Mar 24 Python
Python ini文件常用操作方法解析
Apr 26 Python
keras 自定义loss损失函数,sample在loss上的加权和metric详解
May 23 Python
Python 私有属性和私有方法应用场景分析
Jun 19 Python
详解如何在pyqt中通过OpenCV实现对窗口的透视变换
Sep 20 Python
解决python存数据库速度太慢的问题
Apr 23 Python
利用python清除移动硬盘中的临时文件
Oct 28 #Python
python实现一个简单RPC框架的示例
Oct 28 #Python
pycharm永久激活超详细教程
Oct 29 #Python
linux mint中搜狗输入法导致pycharm卡死的问题
Oct 28 #Python
浅谈Python __init__.py的作用
Oct 28 #Python
详解Selenium-webdriver绕开反爬虫机制的4种方法
Oct 28 #Python
详解Python流程控制语句
Oct 28 #Python
You might like
php读取msn上的用户信息类
2008/12/05 PHP
ThinkPHP分页类使用详解
2014/03/05 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(三)
2014/06/23 PHP
php字符串的替换,分割和连接方法
2016/05/23 PHP
php使用fullcalendar日历插件详解
2019/03/06 PHP
ExtJS的FieldSet的column列布局
2009/11/20 Javascript
JS教程:window.location使用方法的区别介绍
2013/10/04 Javascript
JavaScript设置body高度为浏览器高度的方法
2015/02/09 Javascript
jQuery实现新消息闪烁标题提示的方法
2015/03/11 Javascript
jQuery实现文本框输入同步的方法
2015/06/20 Javascript
innerHTML中标签可以换行的方法汇总
2015/08/14 Javascript
jQuery结合CSS制作动态的下拉菜单
2015/10/27 Javascript
浅析jQuery Mobile的初始化事件
2015/12/03 Javascript
javascript基本数据类型及类型检测常用方法小结
2016/12/14 Javascript
vue中实现methods一个方法调用另外一个方法
2018/02/08 Javascript
jquery实现搜索框功能实例详解
2018/07/23 jQuery
微信小程序数据分析之自定义分析的实现
2018/08/17 Javascript
JS实现滚动条触底加载更多
2019/09/19 Javascript
vue中添加与删除关键字搜索功能
2019/10/12 Javascript
实例分析javascript中的异步
2020/06/02 Javascript
js实现贪吃蛇游戏(简易版)
2020/09/29 Javascript
[00:34]TI7不朽珍藏III——纯金地穴编织者饰品展示
2017/07/15 DOTA
初步解析Python中的yield函数的用法
2015/04/03 Python
使用Python将Mysql的查询数据导出到文件的方法
2019/02/25 Python
如何在python中写hive脚本
2019/11/08 Python
详解Python可视化神器Yellowbrick使用
2019/11/11 Python
Python实现图片指定位置加图片水印(附Pyinstaller打包exe)
2021/03/04 Python
澳大利亚排名第一的儿童在线玩具商店:Toy Galaxy
2018/10/06 全球购物
Radley英国官网:英国莱德利小狗包
2019/03/21 全球购物
皇家阿尔伯特瓷器美国官网:Royal Albert美国
2020/02/16 全球购物
小学校园广播稿(3篇)
2014/09/19 职场文书
安全生产奖惩制度
2015/08/06 职场文书
2016年5月份红领巾广播稿
2015/12/21 职场文书
2019幼儿教师求职信(3篇)
2019/09/20 职场文书
少年的你:世界上没有如果,要在第一次就勇敢的反抗
2019/11/20 职场文书
用Python提取PDF表格的方法
2021/04/11 Python