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以环状形式组合排列图片并输出的方法
Mar 17 Python
python调用系统ffmpeg实现视频截图、http发送
Mar 06 Python
Linux CentOS Python开发环境搭建教程
Nov 28 Python
Python大数据之从网页上爬取数据的方法详解
Nov 16 Python
pytorch实现从本地加载 .pth 格式模型
Feb 14 Python
python检查目录文件权限并修改目录文件权限的操作
Mar 11 Python
django模型类中,null=True,blank=True用法说明
Jul 09 Python
Python实现文件压缩和解压的示例代码
Aug 12 Python
calendar在python3时间中常用函数举例详解
Nov 18 Python
Python偏函数实现原理及应用
Nov 20 Python
flask项目集成swagger的方法
Dec 09 Python
分位数回归模型quantile regeression应用详解及示例教程
Nov 02 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数组相加 array(“a”)+array(“b”)结果还是array(“a”)
2012/09/19 PHP
一个严格的PHP Session会话超时时间设置方法
2014/06/10 PHP
PHP中使用imagick实现把PDF转成图片
2015/01/26 PHP
PHP获取当前相对于域名目录的方法
2015/06/26 PHP
php验证码生成代码
2015/11/11 PHP
Netbeans 8.2将支持PHP7 更精彩
2016/06/13 PHP
通过Jscript中@cc_on 语句识别IE浏览器及版本的代码
2011/05/07 Javascript
JS自定义功能函数实现动态添加网址参数修改网址参数值
2013/08/02 Javascript
解析页面加载与js函数的执行 onload or ready
2013/12/12 Javascript
jQuery实现数字加减效果汇总
2014/12/16 Javascript
JavaScript实现计算字符串中出现次数最多的字符和出现的次数
2015/03/12 Javascript
jQuery+HTML5实现手机摇一摇换衣特效
2015/06/05 Javascript
JavaScript实现带箭头标识的多级下拉菜单效果
2015/08/27 Javascript
浅谈js中几种实用的跨域方法原理详解
2016/12/02 Javascript
jquery实现折叠菜单效果【推荐】
2017/03/08 Javascript
canvas实现环形进度条效果
2017/03/23 Javascript
浅谈微信小程序之官方UI框架we-ui使用教程
2018/08/20 Javascript
实例分析vue循环列表动态数据的处理方法
2018/09/28 Javascript
JavaScript+HTML5 canvas实现放大镜效果完整示例
2019/05/15 Javascript
JS拖动选择table里的单元格完整实例【基于jQuery】
2019/05/28 jQuery
LayUI动态设置checkbox不显示的解决方法
2019/09/02 Javascript
vue改变循环遍历后的数据实例
2019/11/07 Javascript
[01:10:48]完美世界DOTA2联赛PWL S2 GXR vs PXG 第一场 11.18
2020/11/18 DOTA
在Django同1个页面中的多表单处理详解
2017/01/25 Python
用python找出那些被“标记”的照片
2017/04/20 Python
python实时分析日志的一个小脚本分享
2017/05/07 Python
对python的unittest架构公共参数token提取方法详解
2018/12/17 Python
PyTorch实现AlexNet示例
2020/01/14 Python
Python 多线程共享变量的实现示例
2020/04/17 Python
解决keras GAN训练是loss不发生变化,accuracy一直为0.5的问题
2020/07/02 Python
使用HTML5 Geolocation实现一个距离追踪器
2018/04/09 HTML / CSS
《桂林山水》教学反思
2014/02/08 职场文书
学习十八大的心得体会
2014/09/01 职场文书
oracle表分区的概念及操作
2021/04/24 Oracle
HTML基础详解(下)
2021/10/16 HTML / CSS
一文弄懂MySQL中redo log与binlog的区别
2022/02/15 MySQL