#!/usr/bin/python
#
# Usage: imagestopdf [image-file ...] pdf-file
#
# This script creates the specified PDF file. The contents
# of each image file are placed into the PDF, one per page.
#
import sys, os
from CoreGraphics import *
if len(sys.argv) > 2 :
hasImages = False
defaultPageRect = CGRectMake(0, 0, 612, 792)
pdfFile = CGPDFContextCreateWithFilename(sys.argv[-1], defaultPageRect)
for arg in sys.argv[1:-1] :
image, transform = CGImageImportWithAffineTransform(CGDataProviderCreateWithFilename(arg));
if image is not None:
imageSize = CGPointMake(image.getWidth(), image.getHeight())
if transform is not None :
imageSize = imageSize.applyAffineTransform(transform)
pageRect = CGRectMake(0, 0, imageSize.x, imageSize.y)
pdfFile.beginPage(pageRect)
pdfFile.drawImage(pageRect, image)
pdfFile.endPage()
hasImages = True
else:
print >> sys.stderr, 'imagestopdf: invalid image file "' + arg + '"'
pdfFile.finish()
if hasImages is False:
os.remove(sys.argv[-1])
sys.exit('imagestopdf: no images found!')
else :
print >> sys.stderr, 'Usage: imagestopdf [image-file ...] pdf-file'
sys.exit(2)