Thanks to visit codestin.com
Credit goes to github.com

Skip to content

扫描版 PDF 的书签自动生成工具,可以根据 PDF 目录页内容,为 PDF 设置可跳转的书签。

License

Notifications You must be signed in to change notification settings

NatsUIJM/autoContents

Repository files navigation

autoContents

更新提醒:最新版本是2025年9月28日发布的,你可以根据获取更新来更新程序。

9月28日的版本对识别逻辑进行了完全重构,可实现任意版面结构的目录数据提取,且进一步简化了配置流程,强烈推荐更新。

项目概述

autoContents 是一款专为扫描版 PDF 设计的书签全自动生成工具,能够基于目录页内容创建可跳转书签。如果想先看看该工具的实际表现情况,请点击这里。它的工作流程大概是这样的:

工作流程

适用文档

  1. 支持目录页为任意版面结构的文档。
  2. 适用的文档长度无理论上限。
  3. 支持中文/英文及中英混合目录。

Step 1 下载程序

请点击页面顶部的绿色按钮Code,然后点击Download ZIP以下载程序源码。

Step 2 配置环境

2.1 申请通义千问 API-KEY

  1. 注册账号:如果没有阿里云账号,请先注册一个。
  2. 实名认证:参考实名认证文档对阿里云账号进行实名认证。
  3. 开通百炼:前往百炼控制台(模型广场),开通百炼模型服务。
  4. 获取 API Key:前往百炼控制台(API-KEY管理)然后创建一个 API-KEY,它以sk-开头。在此处获取的 API-KEY 请务必保管好,在下一步会用到。
  5. 如果你有高校学生或教师身份,可前往阿里云高校计划申请一些优惠。具体政策以该网页为准。

2.2 配置运行环境

2.2.1 Windows 用户

  1. 右键点击setup_documents文件夹中的windows_install.bat,选择以管理员身份运行,等待脚本运行完成。如果该脚本执行完成且无报错信息,表明上述所有操作均为正确操作。
  2. 按下Windows徽标键+R打开运行,然后在输入框中输入如下命令(其中sk-xxx的内容需替换为上第一步获取的sk-开头的API-KEY),然后点击运行。运行后命令行弹窗闪一下后退出是正常的。
powershell -Command "[Environment]::SetEnvironmentVariable('DASHSCOPE_API_KEY', 'sk-xxx', 'User')"
  1. 如果想要确定上一步是否成功设置,可再次打开运行并输入如下命令。若弹出的命令行窗口第一行显示sk-开头的内容,表示设置成功。
powershell -NoExit -Command "echo %DASHSCOPE_API_KEY%"

2.2.2 macOS 用户

  1. 打开“终端”APP,输入chmod +x (注意最后面有空格;注意是+x不是-x),然后将setup_documents文件夹中的macos_install.sh文件拖入终端窗口,按return
  2. macos_install.sh文件拖入终端窗口,按return,然后根据提示进行安装。
    • 如果未安装Xcode CLI Tools,会先安装该程序。安装完成后,请再次将macos_install.sh文件拖入终端窗口,按return,进行后续步骤。
    • 输入密码时,输入的内容并不会显示在屏幕上,输入完成后按return即可。
  3. 重新打开“终端”APP,输入sudo (注意最后面有空格),然后再将macos_install.sh文件拖入终端窗口,按return,等待脚本执行完成。如果该脚本执行完成且无报错信息,表明上述所有操作均为正确操作。
  4. 输入如下命令(其中sk-xxx的内容需替换为上第一步获取的sk-开头的API-KEY)并return执行。
export DASHSCOPE_API_KEY="sk-xxx"
  1. 如果想要确定上一步是否成功设置,需关闭当前终端窗口,然后打开一个新的终端窗口,在其中运行如下命令。若运行结果为sk-开头的内容,表示设置成功。
echo $DASHSCOPE_API_KEY

Step 3 使用方法

3.1 运行程序

  1. 双击根目录下的windows_start.batmacos_start.command来启动程序,浏览器界面会自动打开。
  2. 如果浏览器未打开,请在弹出的命令行窗口中找到http://127.0.0.1:5xxx,并复制到浏览器以打开。

3.2 上传 PDF 并处理

  1. 点击“选择PDF文件”,然后选择需要处理的 PDF 文件。
  2. 填写 PDF 数据:目录起始页指的是目录的第一页是 PDF 文件的第几页;目录结束页指的是目录的最后一页是 PDF 文件的第几页;正文偏移量是指 PDF 页码与实际页码的差值,比如书籍的第 10 页是 PDF 文件的第 20 页,那么该值为 20 - 10 = 10。
  3. 点击“开始执行”,等待进度条走完,浏览器会自动下载带有书签的 PDF 文件。

更多内容

编辑书签

该项目提供简易的书签编辑工具,可使用contents_editor中的脚本对 PDF 文件的书签进行编辑,使用方法如下:

  1. 将需要编辑的 PDF 文件放入contents_editor文件夹中;
  2. 运行windows_extract.batmacos_extract.command脚本,进行目录提取;
  3. 使用Microsoft ExcelNumbersVSCode或其他任何可编辑csv文件的软件编辑生成的csv文件:如果需要添加条目,那么插入一行;如果需要删除条目,那么删除对应行;如果只需要修改条目,那么修改对应行;
  4. 保存并关闭csv文件,然后再运行windows_merge.batmacos_merge.command脚本,将修改后的目录与 PDF 文件合并;
  5. 该目录下的*_edited.pdf文件即为处理后的 PDF 文件。

疑难解答

请阅读常见问题解答进行问题排查。

获取更新

  1. 点击页面顶部的绿色按钮Code,然后点击Download ZIP以下载程序源码;
  2. 将下载的autoContents-main文件夹中的全部内容覆盖到本地autoContents-main文件夹中;
  3. 重新运行2.2.1的第1步或2.2.21-3步。

Star History

Star History Chart

About

扫描版 PDF 的书签自动生成工具,可以根据 PDF 目录页内容,为 PDF 设置可跳转的书签。

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published