Skip to main content

Mini PDF outline editor

Project description

Mini PDF Outline Editor

pipx run pdf-outline-edit     # tk GUI
pipx run pdf-outline-edit[qt] # qt GUI, does not work yet

A GUI program to import, edit and modify PDF outlines/Table-of-Content through a simple textual format.

The textual format is almost the same as printed books' ToC which has been "rediscovered" multiple times.

  1. Indent level -> Nesting level
  2. Number at the end -> Page number
  3. Text in between -> Title

You can copy and paste existing outline from PDF books and tidy it up a bit to fuse it into the PDF file in 3 easy steps:

  1. Set a target PDF file
  2. Write the outline
  3. Press "Write to PDF" button
demo

Extra

Auto tidy-up

  1. Remove excessive spaces
  2. Remove ending punctuations (,.) in titles
  3. ?

Auto indent by heads

Try convert

index 1
1 Chapter one 2
1.1 nice 3
1.2 world 4
2 Chapter two 5
2.1 hello 6
2.2 noice 7
references 8

into

index 1
1 Chapter one
    1.1 nice
    1.2 world
2 Chapter two
    2.1 hello
    2.2 noice
    references 8  <--- this needs to adjust final entries that has no chapters

Extra Options

  • Offset: Starting page of the page numbers. The pages before it will be roman numerals and the offset page's page label will be 1.

Alternatives

  • HandyOutliner Almost identical program but written in .NET & iText and uses XML
  • pdf.tocgen Over-engineered by following the disgusting "unix philo-dogshit-sophy".

DevOops

# Install in virtualenv
python3 -m pip install -e .
python3 -m pip install -e .[qt]

# Run in dev environment
./src/run-gui.py

License

AGPL-3.0-or-later

FYI

Python packaging is HOLY HELL.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pdf_outline_edit-25.11.26.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pdf_outline_edit-25.11.26-py3-none-any.whl (8.1 kB view details)

Uploaded Python 3

File details

Details for the file pdf_outline_edit-25.11.26.tar.gz.

File metadata

  • Download URL: pdf_outline_edit-25.11.26.tar.gz
  • Upload date:
  • Size: 6.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for pdf_outline_edit-25.11.26.tar.gz
Algorithm Hash digest
SHA256 5fd926cc7c94294379fb3ea42fb12ff5ec0bf3322c5633b27f44473bd5753b9a
MD5 eeadaf51d3c0774b8d7164eb082419ed
BLAKE2b-256 c833472781f0b19935aed5d84eaa41a3980b367384718fe222ad187eff5fb6f2

See more details on using hashes here.

File details

Details for the file pdf_outline_edit-25.11.26-py3-none-any.whl.

File metadata

  • Download URL: pdf_outline_edit-25.11.26-py3-none-any.whl
  • Upload date:
  • Size: 8.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for pdf_outline_edit-25.11.26-py3-none-any.whl
Algorithm Hash digest
SHA256 acda9f04fa0be03d61efcb54d6b10f2204e9037befbc0b239eb647dedfd55539
MD5 4148de3c476e07bb2b143a925aeb265d
BLAKE2b-256 de8eb45f65d09e6ab5957d01c54cc6a4a22f051a3b1d107df6697a8bb193c147

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page