MCPcopy Index your code
hub / github.com/NatsUIJM/autoContents

github.com/NatsUIJM/autoContents @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
86 symbols 292 edges 11 files 30 documented · 35%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

autoContents

项目概述

autoContents 是一款专为扫描版 PDF 设计的书签全自动生成工具,能够基于目录页内容创建可跳转书签。上传 PDF 文档后无需进行任何其他操作,等待 1 分钟左右即可获取处理结果。 如果想先看看该工具的实际表现情况,请点击这里

适用文档

适用于全部自带目录页面的中英文文档。

Step 1 下载程序

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

Step 2 配置环境

2.1 申请通义千问 API-KEY

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

2.2 配置运行环境

Windows

  1. 点击这里下载Python安装程序。下载完成后双击打开,然后按照下图依次操作:勾选Add python.exe to PATH -> 点击Install Now -> 安装完成后,点击Close

如何勾选Add Python to PATH

  1. 双击根目录下的windows_install.bat,直到运行完成(Setup complete.)。

macOS

  1. 点击这里下载Python安装程序。下载完成后直接安装即可。
  2. 打开“终端”APP,输入chmod +x(注意最后面有空格),然后将macos_install.command文件拖入终端窗口,按return

Step 3 使用方法

3.1 运行程序

  1. 双击根目录下的windows_start.batmacos_start.command来启动程序,浏览器界面会自动打开。
  2. 如果浏览器未打开,请在弹出的命令行窗口中找到http://127.0.0.1:5xxx,并复制到浏览器以打开。
  3. 百炼控制台(API-KEY管理)获取的API-KEY填入LLM配置管理的API 密钥栏中,然后点击保存 LLM 配置

3.2 上传 PDF 并处理

  1. 点击“选择PDF文件”,然后选择需要处理的 PDF 文件。
  2. 点击“开始执行”,等待进度条走完,浏览器会自动下载带有书签的 PDF 文件。
  3. 关于结果:
    1. 如果效果不错,请前往页面右上方,为这个项目增加一个Star,谢谢!
    2. 如果目录层级有误,请参见下方的编辑书签条目,或者使用自己的PDF编辑器进行相关操作。
    3. 如果运行出现问题,请参见下方的疑难解答以进行问题排查。

编辑书签

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

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

更新日志

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

10月13日的版本对识别逻辑进行了完全重构,可实现任意版面结构的目录数据提取,同时处理速度提升50%,且进一步简化了配置流程;12月2日的版本支持直接在前端进行提示词修改;3月25日发布的版本支持自定义LLM服务;3月29日发布的版本增加了使用LLM对下载文件进行重命名的功能,特别鸣谢@Little-White3110提出的建议;4月4日发布的版本实现的全自动目录提取。4月6日的版本对项目结构再次进行大量重构,解决了很多细节问题。

获取更新

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

Star History

Star History Chart

Core symbols most depended-on inside this repo

write_log
called by 37
mainprogress/pdf_metadata_extractor.py
write_log
called by 25
mainprogress/determine_toc_levels.py
write_log
called by 11
mainprogress/qwen_vl_extract.py
get_encoded_image
called by 4
mainprogress/determine_toc_levels.py
extract_env_var_name
called by 3
app.py
resolve_value
called by 3
mainprogress/determine_toc_levels.py
resolve_value
called by 3
mainprogress/qwen_vl_extract.py
is_valid_page
called by 3
mainprogress/qwen_vl_extract.py

Shape

Function 74
Route 12

Languages

Python100%

Modules by API surface

app.py32 symbols
mainprogress/pdf_metadata_extractor.py15 symbols
mainprogress/determine_toc_levels.py13 symbols
mainprogress/qwen_vl_extract.py12 symbols
mainprogress/content_postprocessor.py6 symbols
contents_editor/extract.py3 symbols
mainprogress/pdf_generator.py2 symbols
contents_editor/merge.py2 symbols
mainprogress/pdf_to_image.py1 symbols

For agents

$ claude mcp add autoContents \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact