12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
-
-
-
-
-
-
-
-
-
-
-
-
-
- VERSION = "pilprint 0.3/2003-05-05"
-
- from PIL import Image
- from PIL import PSDraw
-
- letter = ( 1.0*72, 1.0*72, 7.5*72, 10.0*72 )
-
- def description(file, image):
- import os
- title = os.path.splitext(os.path.split(file)[1])[0]
- format = " (%dx%d "
- if image.format:
- format = " (" + image.format + " %dx%d "
- return title + format % image.size + image.mode + ")"
-
- import getopt, os, sys
-
- if len(sys.argv) == 1:
- print "PIL Print 0.2a1/96-10-04 -- print image files"
- print "Usage: pilprint files..."
- print "Options:"
- print " -c colour printer (default is monochrome)"
- print " -p print via lpr (default is stdout)"
- print " -P <printer> same as -p but use given printer"
- sys.exit(1)
-
- try:
- opt, argv = getopt.getopt(sys.argv[1:], "cdpP:")
- except getopt.error, v:
- print v
- sys.exit(1)
-
- printer = None
- monochrome = 1
-
- for o, a in opt:
- if o == "-d":
-
- Image.init()
- print Image.ID
- sys.exit(1)
- elif o == "-c":
-
- monochrome = 0
- elif o == "-p":
-
- printer = "lpr"
- elif o == "-P":
-
- printer = "lpr -P%s" % a
-
- for file in argv:
- try:
-
- im = Image.open(file)
-
- title = description(file, im)
-
- if monochrome and im.mode not in ["1", "L"]:
- im.draft("L", im.size)
- im = im.convert("L")
-
- if printer:
- fp = os.popen(printer, "w")
- else:
- fp = sys.stdout
-
- ps = PSDraw.PSDraw(fp)
-
- ps.begin_document()
- ps.setfont("Helvetica-Narrow-Bold", 18)
- ps.text((letter[0], letter[3]+24), title)
- ps.setfont("Helvetica-Narrow-Bold", 8)
- ps.text((letter[0], letter[1]-30), VERSION)
- ps.image(letter, im)
- ps.end_document()
-
- except:
- print "cannot print image",
- print "(%s:%s)" % (sys.exc_type, sys.exc_value)
|