borb
borb is a powerful and flexible Python library for creating and manipulating PDF files.
📖 Overview
borb provides a pure Python solution for PDF document management, allowing users to read, write, and manipulate PDFs. It models PDF files in a JSON-like structure, using nested lists, dictionaries, and primitives (numbers, strings, booleans, etc.). Created and maintained as a solo project, borb prioritizes common PDF use cases for practical and straightforward usage.
✨ Features
Explore borb’s capabilities in the examples repository for practical, real-world applications, including:
- PDF Metadata Management (reading, editing)
- Text and Image Extraction
- Adding Annotations (notes, links)
- Content Manipulation (adding text, images, tables, lists)
- Page Layout Management with
PageLayout
…and much more!
🚀 Installation
Install borb directly via pip:
pip install borb
To ensure you have the latest version, consider the following commands:
pip uninstall borb
pip install --no-cache borb
👋 Getting Started: Hello World
Create your first PDF in just a few lines of code with borb:
from pathlib import Path
from borb.pdf import Document, Page, PageLayout, SingleColumnLayout, Paragraph, PDF
# Create an empty Document
d: Document = Document()
# Create an empty Page
p: Page = Page()
d.append_page(p)
# Create a PageLayout
l: PageLayout = SingleColumnLayout(p)
# Add a Paragraph
l.append_layout_element(Paragraph('Hello World!'))
# Write the PDF
PDF.write(what=d, where_to="assets/output.pdf")
🛠 License
borb is dual-licensed under AGPL and a commercial license.
The AGPL (Affero General Public License) is an open-source license, but commercial use cases require a paid license, especially if you intend to:
- Offer paid PDF services (e.g., PDF generation in cloud applications)
- Use
borbin closed-source projects - Distribute
borbin any closed-source product
For more information, contact our sales team.
🙏 Acknowledgements
Special thanks to:
- Aleksander Banasik
- Benoît Lagae
- Michael Klink
Your contributions and guidance have been invaluable to borb's development.
Metadata
Release files for borb 3.0.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| borb-3.0.9.tar.gz | 2.7 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| borb-3.0.9-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 5.8 MB
Release files / borb-3.0.9.tar.gz
| Download URL | borb-3.0.9.tar.gz |
|---|---|
| Size | 2.7 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
36671baf34f067f027d68c7b2bc7ee378529575e1ae58e3521400658715fa190
|
|
BLAKE2b-256 checksum How to use checksums |
c1fb574079f1aba5e69bd82b72ba8b986fb251c21fa03e515ef9db8624183e11
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.6
|
Release files / borb-3.0.9-py3-none-any.whl
| Download URL | borb-3.0.9-py3-none-any.whl |
|---|---|
| Size | 3.1 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cd1038856b054e7e22e4c7218fa70095421437d5159bdb806453bd2c5e044a4f
|
|
BLAKE2b-256 checksum How to use checksums |
e3e708fc28188002932da40b565b277e3670aca50ba8f04327f5b675b7388697
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.6
|