home *** CD-ROM | disk | FTP | other *** search
/ PC World 2002 February / PCWorld_2002-02_cd.bin / Software / Vyzkuste / pdflib / pdflib-4.0.1.sit / pdflib-4.0.1 / bind / tcl / quickreference.tcl < prev    next >
Encoding:
Text File  |  2001-07-04  |  1.9 KB  |  85 lines  |  [TEXT/WIsH]

  1. #!/bin/sh
  2. # $Id: quickreference.tcl,v 1.7 2001/04/18 09:41:16 tm Exp $
  3. #
  4. # PDFlib/PDI client: mini imposition demo
  5. #
  6.  
  7. # Hide the exec to Tcl but not to the shell by appending a backslash\
  8. exec tclsh "$0" ${1+"$@"}
  9.  
  10. # The lappend line is unnecessary if PDFlib has been installed
  11. # in the Tcl package directory
  12. set auto_path [linsert $auto_path 0 .libs .]
  13.  
  14. package require pdflib 4.0
  15.  
  16. set maxrow    2
  17. set maxcol    2
  18. set startpage    122
  19. set endpage    125
  20. set width    500
  21. set height    770
  22. set infile    "../../doc/PDFlib-manual.pdf"
  23.  
  24. set p [PDF_new]
  25.  
  26. if {[PDF_open_file $p "quickreference.pdf"] == -1} {
  27.     puts stderr "Couldn't open PDF file 'quickreference.pdf'!"
  28.     exit
  29. }
  30.  
  31. PDF_set_info $p "Creator" "quickreference.tcl"
  32. PDF_set_info $p "Author" "Thomas Merz"
  33. PDF_set_info $p "Title" "Mini Imposition Demo (Tcl)"
  34.  
  35. set manual [PDF_open_pdi $p $infile "" 0]
  36. if {$manual == -1} {
  37.     puts stderr "Couldn't open input file '$infile'."
  38.     exit
  39. }
  40.  
  41. set row 0
  42. set col 0
  43.  
  44. for {set pageno $startpage} {$pageno <= $endpage} \
  45.                     {set pageno [expr $pageno + 1]} {
  46.     if {$row == 0 && $col == 0} {
  47.     PDF_begin_page $p $width $height
  48.     set font [PDF_findfont $p "Helvetica-Bold" "host" 0]
  49.     PDF_setfont $p $font 18
  50.     PDF_set_text_pos $p 25 [expr $height-24]
  51.     PDF_show $p "PDFlib 4.0 Quick Reference"
  52.     }
  53.  
  54.     set page [PDF_open_pdi_page $p $manual $pageno ""]
  55.  
  56.     if {$page == -1} {
  57.     puts stderr "Couldn't open page $pageno in '$infile'."
  58.     exit
  59.     }
  60.  
  61.     PDF_place_pdi_page $p $manual [expr $width/$maxcol * $col] \
  62.         [expr $height - ($row + 1) * $height/$maxrow] [expr 1.0/$maxrow] \
  63.         [expr 1.0/$maxrow]
  64.  
  65.     PDF_close_pdi_page $p $page
  66.  
  67.     set col [expr $col + 1]
  68.     if {$col == $maxcol} {
  69.     set col 0
  70.     set row [expr $row + 1]
  71.     }
  72.     if {$row == $maxrow} {
  73.     set row 0
  74.     PDF_end_page $p
  75.     }
  76. }
  77.  
  78. # finish the last partial page
  79. if {$row != 0 || $col != 0} {
  80.     PDF_end_page $p
  81. }
  82. PDF_close $p
  83. PDF_close_pdi $p $manual
  84. PDF_delete $p
  85.