网络编程
位置:首页>> 网络编程>> Python编程>> Python生成pdf目录书签的实例方法

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

作者:PY  发布时间:2023-10-11 15:43:21 

标签:Python,pdf

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

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

工具下载:https://www.jb51.net/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是不是更加美观实用了呢?

来源:https://www.py.cn/jishu/jichu/20363.html

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com