Skip to main content

PDF ToC

a CLI tool to easily extract / edit ToC(Table of Content, or bookmark) of pdf file

demo

Requirements

  • python >= 3.7
    • for python 3.6 support, use pdf-toc == 1.1.4
  • PyMuPDF >= 1.19

Installation

install from pypi

pip install pdf-toc

install from the repo directly

pip install git+https://github.com/HareInWeed/pdf-toc.git@master#egg=pdf-toc

install a specific version

pip install git+https://github.com/HareInWeed/pdf-toc.git@v1.1.4#egg=pdf-toc

Usage

usage: pdf-toc [-h] [--version] [--show-toc {json,toc}] [-t TOC] [-d DEST]
               [-T {json,toc}] [-f] [-m]
               source

pdf ToC modifier.

positional arguments:
  source                source pdf file directory

optional arguments:
  -h, --help            show this help message and exit
  --version             show program's version number and exit
  --show-toc {json,toc}
                        print the toc info of the source file and exit
  -t TOC, --toc TOC     toc info used to embed in the result file. leave it
                        empty to read toc from stdin
  -d DEST, --dest DEST  destination directory for result file
  -T {json,toc}, --type {json,toc}
                        specify format of ToC file. leave it empty to let the
                        tool determine the format, (from file suffix)
  -f, --force           overwrite dist file if it exist
  -m, --modify          modified the original file instead of create a new one

Examples

show the toc of file.pdf in toc format

pdf-toc --show-toc toc file.pdf

Generate a new file with content of file.pdf and toc in toc.txt

pdf-toc -t toc.txt -d new-file.pdf file.pdf

Replace the toc of file.pdf with one in toc.txt

pdf-toc -m -t toc.txt file.pdf

ToC file

Two types of toc file are supported

One is json, which mostly follow the specification of PyMuPDF, but in json format. See PyMuPDF docs and toc_json.md for detail

The other is a special data format, which provides ease of modification and additional functionalities. Check out toc.md for detail

Licence

MIT

Release files for pdf-toc 1.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pdf-toc 1.2.0
File Size Uploaded
pdf-toc-1.2.0.tar.gz 5.5 kB Details

Release files / pdf-toc-1.2.0.tar.gz

Download URL pdf-toc-1.2.0.tar.gz
Size 5.5 kB
Tags Source
SHA-256 checksum
How to use checksums
f44516b934ea0a0772f6a77eb031fce5e2dc063439f144a826acef6cff3e119e
BLAKE2b-256 checksum
How to use checksums
8ba71e4b8164282d13a1a488eacffa726c0c744a9327b4e4e6d4ed1b0b64235b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.7.9

Release history Release notifications | RSS feed

This release

1.2.0 This release

1 release file

1.1.4

1 release file

1.1.3

2 release files

1.1.2

1 release file

1.1.1

1 release file

1.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page