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 / java / quickreference.java < prev    next >
Encoding:
Java Source  |  2001-07-04  |  1.9 KB  |  86 lines  |  [TEXT/javc]

  1. /* $Id: quickreference.java,v 1.6 2001/04/18 09:41:16 tm Exp $
  2.  *
  3.  * PDFlib/PDI client: mini imposition demo
  4.  */
  5.  
  6. import java.io.*;
  7. import com.pdflib.pdflib;
  8.  
  9. public class quickreference
  10. {
  11.     public static void main (String argv[]) throws
  12.     OutOfMemoryError, IOException, IllegalArgumentException,
  13.     IndexOutOfBoundsException, ClassCastException, ArithmeticException,
  14.     RuntimeException, InternalError, UnknownError
  15.     {
  16.     int manual, page;
  17.     int font, row, col;
  18.     final int maxrow = 2, maxcol = 2;
  19.     int i, startpage = 122, endpage = 125;
  20.     final float width = 500, height = 770;
  21.     int pageno;
  22.     pdflib p;
  23.     String infile = "../../doc/PDFlib-manual.pdf";
  24.  
  25.     p = new pdflib();
  26.  
  27.     if (p.open_file("quickreference.pdf") == -1) {
  28.         System.err.println("Couldn't open output file.\n");
  29.         System.exit(1);
  30.     }
  31.  
  32.     p.set_info("Creator", "quickreference.java");
  33.     p.set_info("Author", "Thomas Merz");
  34.     p.set_info("Title", "imposition demo (Java)");
  35.  
  36.     manual = p.open_pdi(infile, "", 0);
  37.     if (manual == -1) {
  38.         System.err.println("Couldn't open input file '" + infile + "'.\n");
  39.         System.exit(1);
  40.     }
  41.  
  42.     row = 0;
  43.     col = 0;
  44.  
  45.     for (pageno = startpage; pageno <= endpage; pageno++) {
  46.         if (row == 0 && col == 0) {
  47.         p.begin_page(width, height);
  48.         font = p.findfont("Helvetica-Bold", "host", 0);
  49.         p.setfont(font, 18);
  50.         p.set_text_pos(25, height-24);
  51.         p.show("PDFlib 4.0 Quick Reference");
  52.         }
  53.  
  54.         page = p.open_pdi_page(manual, pageno, "");
  55.  
  56.         if (page == -1) {
  57.         System.err.println("Couldn't open page " + pageno +
  58.             " in '" + infile + "'.\n");
  59.         System.exit(1);
  60.         }
  61.  
  62.         p.place_pdi_page(manual, width/maxcol*col,
  63.             height - (row + 1) * height/maxrow,
  64.             (float) 1/maxrow, (float) 1/maxrow);
  65.         p.close_pdi_page(page);
  66.  
  67.         col++;
  68.         if (col == maxcol) {
  69.         col = 0;
  70.         row++;
  71.         }
  72.         if (row == maxrow) {
  73.         row = 0;
  74.         p.end_page();
  75.         }
  76.     }
  77.  
  78.     // finish the last partial page
  79.     if (row != 0 || col != 0)
  80.         p.end_page();
  81.  
  82.     p.close();
  83.     p.close_pdi(manual);
  84.     }
  85. }
  86.