Skip to main content

Save pictures to PDF.

Project description

build-test coverage release license pyversions format downloads

Save pictures to PDF from the command line or from your Python programs.

Prerequisites

  • Python 3.7 or higher

Installation

pip install pictureshow

Third-party dependencies:

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
  -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 photos/* -o photos
Saved 50 pictures (13 pages) to 'photos.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.)

Save pictures from URLs, set smaller margin and stretch small pictures:

$ pictureshow -m 36 -s https://<picture.1.url> https://<picture.2.url> -o pics_from_web
Saved 2 pictures (2 pages) to 'pics_from_web.pdf'

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,
    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,
    force_overwrite=False
)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

pictureshow-0.8.1-py3-none-any.whl (8.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page