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完成FizzBuzzWhizz问题(拉勾网面试题)示例
May 05 Python
Win7下搭建python开发环境图文教程(安装Python、pip、解释器)
May 17 Python
Python 获取当前所在目录的方法详解
Aug 02 Python
Python实现的字典排序操作示例【按键名key与键值value排序】
Dec 21 Python
在Python 中同一个类两个函数间变量的调用方法
Jan 31 Python
Django在pycharm下修改默认启动端口的方法
Jul 26 Python
Python pandas实现excel工作表合并功能详解
Aug 29 Python
Python流程控制 while循环实现解析
Sep 02 Python
Python动态导入模块和反射机制详解
Feb 18 Python
Pycharm编辑器功能之代码折叠效果的实现代码
Oct 15 Python
python中PyQuery库用法分享
Jan 15 Python
python 单机五子棋对战游戏
Apr 28 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中$_REQUEST、$_POST、$_GET的区别和联系小结
2011/11/23 PHP
修改PHP的memory_limit限制的方法分享
2012/02/21 PHP
PHP设计模式之装饰者模式代码实例
2015/05/11 PHP
thinkphp3.x中session方法的用法分析
2016/05/20 PHP
thinkphp分页集成实例
2017/07/24 PHP
PHP获取数据库表中的数据插入新的表再原删除数据方法
2018/10/12 PHP
jquery 查找iframe父级页面元素的实现代码
2011/08/28 Javascript
JavaScript实现的in_array函数
2014/08/27 Javascript
JavaScript实现的双向跨域插件分享
2015/01/31 Javascript
jQuery源码解读之removeClass()方法分析
2015/02/20 Javascript
js创建对象的方法汇总
2016/01/07 Javascript
利用JS实现数字增长
2016/07/28 Javascript
JavaScript DOM节点操作方法总结
2016/08/23 Javascript
浅谈MVC+EF easyui dataGrid 动态加载分页表格
2016/11/10 Javascript
js数字舍入误差以及解决方法(必看篇)
2017/02/28 Javascript
原生JS控制多个滚动条同步跟随滚动效果
2017/12/22 Javascript
详解vue-cli之webpack3构建全面提速优化
2017/12/25 Javascript
vue.js+element-ui动态配置菜单的实例
2018/09/07 Javascript
layui 选择列表,打勾,点击确定返回数据的例子
2019/09/02 Javascript
微信小程序和H5页面间相互跳转代码实例
2019/09/19 Javascript
解决layui页面按钮点击无反应,也不报错的问题
2019/09/29 Javascript
微信小程序定义和调用全局变量globalData的实现
2019/11/01 Javascript
微信域名检测接口调用演示步骤(含PHP、Python)
2019/12/08 Javascript
JS自定义对象创建与简单使用方法示例
2020/01/15 Javascript
Django中反向生成models.py的实例讲解
2018/05/30 Python
python3的输入方式及多组输入方法
2018/10/17 Python
python画图--输出指定像素点的颜色值方法
2019/07/03 Python
python 魔法函数实例及解析
2019/09/25 Python
Python greenlet和gevent使用代码示例解析
2020/04/01 Python
Django+Celery实现动态配置定时任务的方法示例
2020/05/26 Python
荷兰领先的百货商店:De Bijenkorf
2018/10/17 全球购物
毕业自荐信
2013/12/16 职场文书
美术教师自我鉴定
2014/02/12 职场文书
爱情寄语大全
2014/04/09 职场文书
人生哲理妙语30条:淡写流年,笑过人生
2019/09/04 职场文书
pytorch损失反向传播后梯度为none的问题
2021/05/12 Python