Skip to content

SunicYosen/PDFBookmark

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PDFBookmark - PDF导航书签添加工具

根据已有的目录文本为你的PDF自动添加导航书签。

Example

此项目基于:https://github.com/chroming/pdfdir. 致谢chroming

软件功能

根据网上或PDF中已有的目录内容自动将导航书签插入PDF文件中。

适用于以下场景:

  1. 扫描版电子书籍无导航书签;
  2. 文字版电子文档无导航书签但PDF中有目录。

基本用法

使用

  • 选择文件(必填):在 "PDF文件路径" 文本框中填入pdf文件路径(如D:/统计思维.pdf)或点击 "打开" 按钮通过文件管理器选择所需的pdf文件。

  • 目录文本(必填):将目录文本粘贴到“目录文本”框中。如何获取目录文本

  • 偏移页(默认0):指实际页数与文档内容下标页码的差值,如:第一章实际在pdf的第5页,但此页的下标页码为第1页,则偏移页为4 。

  • 子目录区域(非必填区域):

    若此区域留空则所有目录均作为首层写入。

    • 首级:用于匹配首级目录标题的第一个样例,如:第一章
    • 二级:用于匹配二级子目录标题的第一个样例,如:1.1
    • 三级:用于匹配三级子目录标题的第一个样例,如:1.1.1
    • 前三级表达式都未匹配到的标题,默认当作首级目录。
  • 写入导航:前三个均填好之后就可以点击 "写入导航" 自动将目录写入pdf的新拷贝中,拷贝文件自动命名为 "原文件名_new.pdf"。

获取目录文本

目录文本是以下形式的文本内容:

  • 标题+页数

文本内容一般来源于网上书店(如亚马逊)或图书介绍网站(如豆瓣读书)。图书的介绍中一般会列出该书的目录文本,如亚马逊的在 商品描述--目录 下。

注意:自动生成的目录完全依赖于目录文本,如果此文本有问题则生成的目录也会有问题。

英文支持

下载源码中的language/en.qm 放到程序同目录下 language/en.qm , 之后点击程序菜单栏中的 "语言 -- English" 即可切换为英文界面。

已知问题

  • 一般图书非正文部分(如序言,目录等)没有标页码或使用另一套页码标记,本程序将这些目录默认链接到第一页,如需修正这些,可手动修改。
  • 有些正文中的目录没有标页码,程序会将该条目录链接到上一个有页码的标题页。

TODO:

  • 支持更多级目录

其他

目录文本格式

目前通过以下格式处理目录文本:

标题+页数+换行符

所有在一行的都被认为是一条目录。页数通过正则(\d*$)匹配(匹配文本结尾处的所有数字),如果匹配不到则默认为第一页或上一条目录的页数。

About

Insert bookmarks to pdf file

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published