[python3] pypdf2 处理书签

这篇博客探讨了如何使用pypdf2库来处理PDF文件的书签,虽然pypdf4可以添加书签但缺乏跳转功能。PyPDF2库目前无法直接读取书签数据,但可以通过正则表达式匹配来调整书签的层次结构,特别是对于二级和三级书签的处理。
摘要由CSDN通过智能技术生成

pypdf4 能添加书签,但是没有跳转功能 (PyPDF2好像还不能读取书签数据)

https://pythonhosted.org/PyPDF2/index.html

#!/mingw64/bin/python3
# -*- coding: utf-8 -*-

from PyPDF2 import PdfFileWriter, PdfFileReader, PdfFileMerger, generic
import PyPDF2

class GetPdfBookmark:
	deep_count    = 0
	input         = None
	bm            = None
	inputname     = None
	reallypagenum = {
   }
	tabs          = ""

	def __init__(self, inputname):
		self.inputname = inputname
		try:
			self.input = PdfFileReader(open(inputname, "rb"))
		except:
			quit()

		self.bm = self.input.outlines

		self.__FixBookmarksPageNumber(self.input.getPage(0)['/Parent']['/Kids'], self.input.getPage(0)['/Parent']['/Count'])

	def __FixBookmarksPageNumber(self, data, data_len):
		for i in range(data_len):
			self.reallypagenum[str(data[i].idnum)] = str(i)

	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值