Create a PDF contact sheet from a set of images
Project description
imagecatalog
Create a PDF contact sheet from a list of files.
Installation
Install from PyPI
pip install imagecatalog
or get latest dev version from GitHub.
pip install git+https://github.com/tdmorello/imagecatalog.git
Usage
Command line
# for full list of options
imagecatalog -h
imagecatalog -i images/*.png -o example.pdf --title 'Image Catalog'
imagecatalog \
-i images/*.png \
-o example_landscape.pdf \
--rows 2 \
--cols 4 \
--orientation landscape \
--title 'Catalog with Landscape Layout' \
File paths and metadata can also be supplied from a csv file with headers "image", "label", "note"
$ head -n5 sample.csv
image,label,note
images/image_00.png,Image 0,image 0 note
images/image_01.png,Image 1,image 1 note
images/image_02.png,Image 2,image 2 note
images/image_03.png,Image 3,image 3 note
imagecatalog --csv sample.csv --title 'Catalog from CSV' -o example_csv.pdf
Other features: apply image filters
imagecatalog -i images/*.png -o catalog.pdf \
--invert \
--grayscale \
--autocontrast
integrate with shell utilities
# make a catalog with all images created within the last day
find . -ctime 1d | xargs imagecatalog -o catalog.pdf -i
use regular expressions to filter files
# make a catalog with images that have '1' and/or '2' in the filename
imagecatalog -i images/*.png -o catalog.pdf --regex '.*(1|2).*'
Scripting
from imagecatalog import Catalog
# Catalog inherits from FPDF
# see https://github.com/PyFPDF/fpdf2 for more methods
catalog = Catalog()
# optionally add a title
catalog.set_title("Image Catalog")
# grab a set of existing images from a local directory
images = [f"images/image_{i:02}.png" for i in range(12)]
# optionally add labels (defaults to filenames)
labels = [f"Image {i}" for i in range(len(images))]
# optionally add notes
notes = [f"note for image {i}" for i in range(len(images))]
# generate the pdf
catalog.add_page()
catalog.build_table(images, labels, notes, rows=4, cols=3)
# save
catalog.output("example.pdf")
Contributions
imagecatalog uses poetry for building and package management. Pull requests are welcome.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file imagecatalog-0.1.6.tar.gz.
File metadata
- Download URL: imagecatalog-0.1.6.tar.gz
- Upload date:
- Size: 8.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.12 CPython/3.10.1 Linux/5.11.0-1022-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4a41862e8dd2eed2954331cd70d54c3ca58b25652525486ef1e4a7294e05fec8
|
|
| MD5 |
3ac132d68c01750e6ed6326e1ea6ffcb
|
|
| BLAKE2b-256 |
09c026f61815af061e1b5887630f6868b8c63f167946a527695ab81a36df9bae
|
File details
Details for the file imagecatalog-0.1.6-py3-none-any.whl.
File metadata
- Download URL: imagecatalog-0.1.6-py3-none-any.whl
- Upload date:
- Size: 8.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.12 CPython/3.10.1 Linux/5.11.0-1022-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b91e29cceecf8b2d9c00bff189762637e2f1058bef9e975ffc94aab0e1ced6d6
|
|
| MD5 |
3242c0ffcd26fb72723219ffcb2c14d4
|
|
| BLAKE2b-256 |
f25cb71903517bfc4caad4cad27ac7fab55c0ca2c9d8a8a55f03f11add97056c
|