Save pictures to PDF.
Project description
Save pictures to PDF from the command line or from your Python programs.
Prerequisites
Python 3.8 or higher
Installation
pip install pictureshow
Usage
As a command line tool
usage: pictureshow [options] PICTURE [PICTURE ...] -o PATH
positional arguments:
PICTURE one or more picture paths or URLs
options:
-h, --help show this help message and exit
-a, --fill-area fill drawing area with picture, ignoring the picture's
aspect ratio
-f, --force-overwrite
save to output filename even if file exists
-L, --landscape set landscape orientation of page; default is portrait
-l LAYOUT, --layout LAYOUT
specify grid layout (columns x rows) of pictures on page,
e.g. 2x3 or 2,3; default is 1x1
-m MARGIN, --margin MARGIN
set width of empty space around pictures; default is 72
(72 points = 1 inch)
-o PATH, --output-file PATH
path of the output PDF file (required)
-p SIZE, --page-size SIZE
specify page size; default is A4 (available sizes: A0,
A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, B0, B1, B2, B3,
B4, B5, B6, B7, B8, B9, B10, C0, C1, C2, C3, C4, C5, C6,
C7, C8, C9, C10, LETTER, LEGAL, ELEVENSEVENTEEN,
JUNIOR_LEGAL, HALF_LETTER, GOV_LETTER, GOV_LEGAL,
TABLOID, LEDGER)
-q, --quiet suppress printing to stdout
-s, --stretch-small scale small pictures up to fit drawing area
-v, --verbose show details on files skipped due to error
-V, --version show program's version number and exit
Examples
Save single picture to PDF:
$ pictureshow pics/potato.jpg -o potato.pdf
.
Saved 1 picture (1 page) to 'potato.pdf'
Save multiple pictures, four pictures per page (two columns, two rows), set page orientation to landscape:
$ pictureshow -l 2x2 -L vegetables/* -o vegetables
..................................................
Saved 50 pictures (13 pages) to 'vegetables.pdf'
(Please note that if the output filename has no extension specified, .pdf will be appended to it. This only applies for the command line tool.)
You can also save pictures from URLs:
$ pictureshow https://cdn.rebrickable.com/media/thumbs/parts/elements/6136555.jpg/250x250p.jpg https://cdn.rebrickable.com/media/thumbs/parts/elements/4119478.jpg/250x250p.jpg -o carrots
..
Saved 2 pictures (2 pages) to 'carrots.pdf'
But please note that this feature is not tested and depends solely on the underlying reportlab backend.
As a Python library
Using the PictureShow class
Example:
from pictureshow import PictureShow
pictures = PictureShow('pics/cucumber.jpg', 'pics/onion.jpg')
pictures.save_pdf('vegetables.pdf')
The keyword parameters of the save_pdf method and their default values correspond to the above shown command line options:
PictureShow.save_pdf(
output_file,
page_size='A4',
landscape=False,
margin=72,
layout=(1, 1),
stretch_small=False,
fill_area=False,
force_overwrite=False
)
Using the pictures_to_pdf shortcut function
Example:
from pictureshow import pictures_to_pdf
pictures_to_pdf('pics/cucumber.jpg', 'pics/onion.jpg', output_file='vegetables.pdf')
(Please note that contrary to the PictureShow.save_pdf method, output_file must be specified as a keyword argument in the above example, because the pictures_to_pdf function treats all positional arguments as input files.)
The keyword parameters of the pictures_to_pdf function and their default values correspond to the above shown command line options:
pictures_to_pdf(
*pic_files,
output_file,
page_size='A4',
landscape=False,
margin=72,
layout=(1, 1),
stretch_small=False,
fill_area=False,
force_overwrite=False
)
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
Hashes for pictureshow-0.10.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fd7674d46da71a6b8f9ff51788f9e47c7c0d7d417723f4262da37057a0f26229 |
|
MD5 | ff8de00badad31424d25195981a79e22 |
|
BLAKE2b-256 | 0ce8a9248078b2b7d74fee3c8e6a338b37b696f648e082b0fb80e11ecfd8ff65 |