![](https://private-user-images.githubusercontent.com/10183277/287466489-85c768f6-fe27-43a1-998c-ac89e926cba1.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg4NjIwMDYsIm5iZiI6MTczODg2MTcwNiwicGF0aCI6Ii8xMDE4MzI3Ny8yODc0NjY0ODktODVjNzY4ZjYtZmUyNy00M2ExLTk5OGMtYWM4OWU5MjZjYmExLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA2VDE3MDgyNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWRkNGUyNTE5ZTA1NTQyYjU5MmIzNGJkNDNmM2QyNmFiODZhZGFkMGQ0Y2EwYTY5MWIxYTgwNDVmMTk5ZTgwMmImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.p8Lu-pT94_k06IIf2JYk5MMYnyVvHXCv_QuOvf7ZW8k)
A highly configurable plugin for MkDocs that exports your pages as PDF documents.
Additionally, it can combine your entire documentation into a single PDF file.
- ๐ Fast - All PDF documents are generated concurrently!
- ๐จ Customizable - full control over the resulting documents
- Combine all your pages into a single PDF document
- Create cover pages
- Define custom scripts and stylesheets to customize your PDF documents
- Add buttons to the top of your pages (example)
- Compatible with
material
andreadthedocs
themes- Check out sample PDF documents here
- โญ Powerful - it uses a headless browser and some awesome libraries under the hood to generate PDF documents
- Playwright to automate browsers
- Paged.js polyfills included (provide Paged Media and Generated Content CSS modules)
- Sass support included for your stylesheets
- Python
>= 3.9
- MkDocs
>= 1.4
The plugin is hosted on PyPI and can be installed via pip
(or your favourite package manager):
pip install mkdocs-exporter
The following configuration excerpt from the mkdocs.yml
configuration file used by this documentation should cover the basic functionalities of this plugin:
plugins:
- exporter:
formats:
pdf:
enabled: !ENV [MKDOCS_EXPORTER_PDF, true]
concurrency: 8
stylesheets:
- resources/stylesheets/pdf.scss
covers:
front: resources/templates/covers/front.html.j2
back: resources/templates/covers/back.html.j2
aggregator:
enabled: true
output: .well-known/site.pdf
covers: all
Check out a sample PDF generated by this plugin, it includes custom CSS and features cover pages.
- Combine all pages into a single PDF document (โ
released in
v6.0.0
) - Create a GitHub action that includes all dependencies to build the documentation and generate PDF documents
Feel free to request additional features by submitting an issue or contributing through a pull request.
We welcome contributions from the community to enhance MkDocs Exporter.
Whether you want to report a bug, suggest a feature, improve the documentation, or contribute code, your help is appreciated!
This project is licensed under the MIT License (MIT)
, which you can read here.