#!/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)