borb is a library for reading, creating and manipulating PDF files in python.
Project description
borb
borb
is a library for creating and manipulating PDF files in python.
0. About borb
borb
is a pure python library to read, write and manipulate PDF documents.
It represents a PDF document as a JSON-like datastructure of nested lists, dictionaries and primitives (numbers, string, booleans, etc)
This is currently a one-man project, so the focus will always be to support those use-cases that are more common in favor of those that are rare.
1. About the Examples
The examples can be found in a separate repository.
This ensures the borb
repository stays relatively small, whilst still providing a thorough knowledgebase of code-samples, screenshots and explanatory text.
Check out the examples repository here!
They include;
- Reading a PDF and extracting meta-information
- Changing meta-information
- Extracting text from a PDF
- Extracting images from a PDF
- Changing images in a PDF
- Adding annotations (notes, links, etc) to a PDF
- Adding text to a PDF
- Adding tables to a PDF
- Adding lists to a PDF
- Using a PageLayout manager
and much more
1.0 Installing borb
borb
can be installed using pip
pip install borb
If you have installed borb
before, and you want to ensure pip
downloads the latest version (rather than using its internal cache) you can use the following commands:
pip uninstall borb
pip install --no-cache borb
1.1 Hello World
To give you an immediate idea of the way borb
works,
this is the classic Hello World
example, in borb
:
from pathlib import Path
from borb.pdf import Document
from borb.pdf import Page
from borb.pdf import SingleColumnLayout
from borb.pdf import Paragraph
from borb.pdf import PDF
# create an empty Document
pdf = Document()
# add an empty Page
page = Page()
pdf.add_page(page)
# use a PageLayout (SingleColumnLayout in this case)
layout = SingleColumnLayout(page)
# add a Paragraph object
layout.add(Paragraph("Hello World!"))
# store the PDF
with open(Path("output.pdf"), "wb") as pdf_file_handle:
PDF.dumps(pdf_file_handle, pdf)
2. License
borb
is dual licensed as AGPL/Commercial software.
AGPL is a free / open source software license. This doesn't mean the software is gratis!
Buying a license is mandatory as soon as you develop commercial activities distributing the borb software inside your product or deploying it on a network without disclosing the source code of your own applications under the AGPL license. These activities include:
- Offering paid services to customers as an ASP
- Serving PDFs on the fly in the cloud or in a web application
- Shipping
borb
with a closed source product
Contact sales for more information.
3. Acknowledgements
I would like to thank the following people, for their contributions / advice with regards to developing borb
:
- Aleksander Banasik
- Benoît Lagae
- Michael Klink
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file borb-2.1.25.tar.gz
.
File metadata
- Download URL: borb-2.1.25.tar.gz
- Upload date:
- Size: 11.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 813a25227b96f471d29244bf3c07a7b3df36d61d62bcbecf45b14944b8011ef4 |
|
MD5 | 834fb6541c284789c1cd1337f805672a |
|
BLAKE2b-256 | a1f78efd8bbb1ae2c63bc62e1869c1edf312b7411c15c76f9a3058384ed89554 |
File details
Details for the file borb-2.1.25-py3-none-any.whl
.
File metadata
- Download URL: borb-2.1.25-py3-none-any.whl
- Upload date:
- Size: 12.3 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 708c6b14d298890d75567cda15027d874d818e533089d88637831e495f489088 |
|
MD5 | 6d02e01d3398b4a89df6d9c03b6e4750 |
|
BLAKE2b-256 | 57fda270259e391e5e8a76cf28694c8a1ee01d2194b2bf9d6aa72eabb3c021f8 |