1#!/usr/bin/python 2# $Id: quickreference.py 14574 2005-10-29 16:27:43Z bonefish $ 3# 4# PDFlib/PDI client: mini imposition demo 5# 6 7from sys import * 8from pdflib_py import * 9 10maxrow = 2 11maxcol = 2 12startpage = 1 13endpage = 4 14width = 500.0 15height = 770.0 16 17infile = "reference.pdf" 18searchpath = "../data" 19 20p = PDF_new() 21 22if PDF_open_file(p, "quickreference.pdf") == -1: 23 print "Error: " + PDF_get_errmsg(p) + "\n" 24 exit(2) 25 26PDF_set_parameter(p, "SearchPath", searchpath) 27 28# This line is required to avoid problems on Japanese systems 29PDF_set_parameter(p, "hypertextencoding", "winansi") 30 31PDF_set_info(p, "Creator", "quickreference.py") 32PDF_set_info(p, "Author", "Thomas Merz") 33PDF_set_info(p, "Title", "mini imposition demo (Python)") 34 35manual = PDF_open_pdi(p, infile, "", 0) 36 37if manual == -1: 38 print "Error: " + PDF_get_errmsg(p) + "\n" 39 exit(2) 40 41row = 0 42col = 0 43 44PDF_set_parameter(p, "topdown", "true") 45 46for pageno in range(startpage, endpage+1): 47 if row == 0 and col == 0: 48 PDF_begin_page(p, width, height) 49 font = PDF_load_font(p, "Helvetica-Bold", "winansi", "") 50 PDF_setfont(p, font, 18) 51 PDF_set_text_pos(p, 24, 24) 52 PDF_show(p, "PDFlib 4.0 Quick Reference") 53 54 page = PDF_open_pdi_page(p, manual, pageno, "") 55 56 if page == -1: 57 print "Error: " + PDF_get_errmsg(p) + "\n" 58 exit(2) 59 60 optlist = "scale " + repr(1.0/maxrow) 61 62 PDF_fit_pdi_page(p, page, 63 width/maxcol*col, (row + 1) * height/maxrow, optlist) 64 PDF_close_pdi_page(p, page) 65 66 col = col+1 67 if col == maxcol: 68 col = 0 69 row = row+1 70 71 if row == maxrow: 72 row = 0 73 PDF_end_page(p) 74 75# finish the last partial page 76if row != 0 or col != 0: 77 PDF_end_page(p) 78 79PDF_close(p) 80PDF_close_pdi(p, manual) 81PDF_delete(p) 82