Skip to main content

Save pictures to PDF

Project description

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

As a command line tool

Usage:

usage: pictureshow [-h] [-v] [-q] [-f] [-m MARGIN] [-l] [-s] PIC [PIC ...] PDF

positional arguments:
  PIC                   one or more input picture file paths
  PDF                   output PDF file path

optional arguments:
  -h, --help            show this help message and exit
  -v, --version         show program's version number and exit
  -q, --quiet           suppress printing to stdout
  -f, --force-overwrite
                        save output file even if filename exists
  -m MARGIN, --margin MARGIN
                        width of empty margin on page; default is 72 points (1
                        inch)
  -l, --landscape       set page orientation to landscape; default is portrait
  -s, --stretch-small   scale small pictures up to fit drawing area

Simple example — saving a single picture to PDF:

$ pictureshow picture.png pic.pdf
Saved 1 picture to '/.../pic.pdf'

Using a glob pattern, in the quiet mode:

$ pictureshow -q *.jpg jpg_pics.pdf

Using multiple glob patterns, with margin width specified:

$ pictureshow -m 36 *.png *.jpg *.gif all_pics.pdf
Saved 32 pictures to '/.../all_pics.pdf'

Combining glob pattern and additional filenames, overwriting existing output file, stretching small pictures to page, with zero margin:

$ pictureshow chart.gif *.jpg graph.png pics.pdf -fsm 0
Saved 7 pictures to '/.../pics.pdf'

As a Python library

Using the PictureShow class:

from pictureshow import PictureShow

pic_show = PictureShow('pic1.png', 'pic2.jpg', 'pic3.gif')
pic_show.save_pdf('pictures.pdf')

Using the pictures_to_pdf shortcut function:

from pictureshow import pictures_to_pdf

pictures_to_pdf('pic1.png', 'pic2.jpg', 'pic3.gif', 'pictures.pdf')

It is however recommended to pass the output file name as a keyword argument:

from pictureshow import pictures_to_pdf

list_of_pictures = ['pic1.png', 'pic2.jpg', 'pic3.gif']
pictures_to_pdf(*list_of_pictures, pdf_file='pictures.pdf')

Using a glob pattern, sorted by name, with landscape page orientation and two-inch margin, stretching small pictures to area:

from pathlib import Path

from pictureshow import pictures_to_pdf

list_of_pictures = sorted(Path.cwd().glob('screenshots/*.png'))
pictures_to_pdf(
    *list_of_pictures,
    pdf_file='screenshots.pdf',
    orientation='landscape',
    margin=144,
    stretch_small=True
)

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.2.4-py3-none-any.whl (6.2 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