Скрипт PDF Chapter Extractor

2026-09-11 · 1 мин. для прочтения
blog computer-science

Скрипт PDF Chapter Extractor.

Содержание

1 Общая информация

  • Репозиторий: https://github.com/ahmedalmagraby/pdf_chapter_extractor
  • Для разделения PDF-файлов на отдельные главы на основе их метаданных (закладок/оглавления).
  • Также позволяет извлекать произвольные диапазоны страниц и объединять несколько PDF-документов в один.
  • Использует библиотеку pypdf.

1.1 Основные возможности

  • Извлечение глав по закладкам
    • Разделение PDF-файла на части в зависимости от уровня вложенности закладок (уровни 0, 1, 2 и т.д.).
  • Выборочное извлечение.
  • Извлечение диапазонов страниц.
  • Объединение нескольких pdf-файлов в один.

2 Установка

  • Нужно иметь установленную библиотеку pypdf:
uv tool install pypdf

3 Основные команды

3.1 Извлечение глав

  • Извлекает главы, используя верхний (корневой) уровень закладок:
python pdf_chapter_extractor.py input.pdf

3.2 Расширенное извлечение глав

  • Извлечение закладок 1-го уровня вложенности (разделы ##) с сохранением в отдельную папку chapters:
python pdf_chapter_extractor.py input.pdf -o chapters -l 1

3.3 Анализ документа

  • Просмотр метаданных и дерева закладок без создания файлов:
python pdf_chapter_extractor.py input.pdf --inspect-only

3.4 Извлечение диапазона страниц

  • Сохраняет страницы с 10-й по 25-ю (включительно).
  • Нумерация начинается с 1:
python pdf_chapter_extractor.py input.pdf --page-range 10-25

3.5 Объединение PDF-файлов

  • Склеивает несколько файлов в один с именем combined.pdf:
python pdf_chapter_extractor.py --merge file1.pdf file2.pdf file3.pdf -o combined.pdf

3.6 Запуск графического интерфейса

python pdf_chapter_extractor.py --gui
Дмитрий Сергеевич Кулябов
Authors
Профессор кафедры теории вероятностей и кибербезопасности
Работаю профессором на кафедре теории вероятностей и кибербезопасности Российского университета дружбы народов им. Патриса Лумумбы. Научные интересы относятся к области теоретической физики и математического моделирования.