What?PycPrintCheck (ppc) is a python script that accepts a photo filename or directory and tells you
if your photo(s) can be printed out in a certain format (e.g. 9x13, A4,...) the largest possible
... [More]
printout format for your photo(s) all possible printout formats for your photo(s) For making its decisions, ppc compares the absolute resolutions (megapixels) of your photo file(s) and the selected format. If a photo file has enough pixels, its width/height ratio is compared to the one of the format. Only if the photo matches both criteria, it is considered to be printable on the format.
Why?I needed a quick way to check the printability of my huge photo collection. I often crop my photos, so the resolution/printability changes. Opening the files one by one in an editor or doing dpi calculations manually was not an option for me. So ppc came into existence.
Features"printablity"-check of a photo file or directory with multiple files supports JPG, TIFF, BMP, PSD and PNG files printable on given format/largest possible format/all printout formats restrict printability check to landscape/portrait format resolution and ratio tolerance (see explanation below) supports EXIF orientation tag to determine whether a photo was taken in landscape/portrait mode .ini file with editable format definitions custom dpi setting and units for each format Usage#display all predefined formats
ppc list
# lists all photos that are printable on A4
ppc --match A4 c:\myfotos
# lists all photos that are printable on A3 landscape (not portrait)
ppc --match A3+L c:\myfotos
# the same with 20% pixel tolerance and 5 % ratio tolerance
ppc --match A3+L --pt 20 --rt 5 c:\myfotos
# lists all photos that are printable on 9x13 portrait
ppc --match 9x13+P c:\myfotos
# list the largest possible format for P998342.JPG
ppc --match lf P998342.JPG
# list all possible formats for P998342.JPG
ppc --match af P998342.JPGFurther InformationPixel Tolerance
You can specify a pixel tolerance (percent). With a pixel tolerance of 20%, ppc considers a 3.6 megapixel photo to be printable on A4 (which normally requires 4.4 megapixel at 150 DPI).
The idea behind it: modern scaling algorithms (Bicubic) allow you to enlarge an image up to 20% without visible quality loss. By specifying an according pixel tolerance, ppc takes this possibility into account.
Ratio tolerance
Even if you perform just minor cropping to an image, its width/height ratio changes (except if the cropping was proportional). Similar to the resolution tolerance, you can specify a tolerance range for the ratio. E.g.: the ratio of the 10x15 printout is 2/3 (0.6667). Given a ratio tolerance of 5%, ppc considers photos with width/heigt ratios from 0.6333 to 0.7 printable on 10x15.
RequirementsWindows/Linux System with Python 2.4 or higher, Python Imaging Libary installed.
Know Issues/Caveatsppc determines the printability of your pictures solely on dimension calculations, without regarding the image quality. ppc will not recognize that your photo is blurred, over/underexposed etc and therefore deny printing. Not every photo camera has an orientation sensor. Especially older cameras lack this feature and simply set the EXIF orientation tag to "Landscape", no matter how the picture was taken. If ppc fails to detect your portrait shots, don't blame it! You can check our camera's manual or the dpreview.com database to verify your camera model. [Less]