QuickRouter 原创练习 · 本地原生文件查看器

PDF真实outline目的地与页索引

作者参考
未执行目标 SaaS
titlephysical_pagepypdf_index
前言21
第一章 观察43
观察记录54
第二章 设备76
设备检查87
第三章 实践98
第四章 复查1110
from pathlib import Path
import csv
from pypdf import PdfReader,PdfWriter
p=Path(__file__).parent;r=PdfReader(p/'manual-original.pdf');w=PdfWriter()
for page in r.pages:w.add_page(page)
parent=None
for row in csv.DictReader((p/'chapter-map.csv').open(encoding='utf-8-sig')):
 item=w.add_outline_item(row['title'],int(row['physical_page'])-1,parent=parent if row['level']=='2'else None)
 if row['level']=='1':parent=item
w.write(p/'manual-bookmarked-reference.pdf')