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 / cpp / personalize.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  2001-07-04  |  2.2 KB  |  90 lines  |  [TEXT/CWIE]

  1. // $Id: personalize.cpp,v 1.8 2001/04/18 10:16:13 tm Exp $
  2. //
  3. // PDFlib/PDI client: personalization demo
  4. //
  5. #include <stdio.h>
  6. #include <stdlib.h>
  7. #include <time.h>
  8.  
  9. #include "pdflib.hpp"
  10.  
  11. int
  12. main(void)
  13. {
  14.     PDF *p;            // pointer to the PDF class
  15.     int        form, page, font;
  16.     float    width, height;
  17.     char *    infile = (char *) "../../doc/PDFlib-purchase-order.pdf";
  18.     const int    col1 = 70;
  19.     const int    col2 = 335;
  20.     time_t    timer;
  21.     struct tm    ltime;
  22.     char    date[100];
  23.  
  24.     static const char *months[] = {
  25.     "January", "February", "March", "April", "May", "June",
  26.     "July", "August", "September", "October", "November", "December"
  27.     };
  28.  
  29.     p = new PDF();
  30.  
  31.     if (p->open("personalize.pdf") == -1) {
  32.     fprintf(stderr, "Error: cannot open PDF file personalize.pdf.\n");
  33.     exit(2);
  34.     }
  35.  
  36.     p->set_info("Creator", "personalize.cpp");
  37.     p->set_info("Author", "Thomas Merz");
  38.     p->set_info("Title", "PDFlib personalization demo (C++)");
  39.  
  40.     form = p->open_pdi(infile, "", 0);
  41.     if (form == -1) {
  42.     fprintf(stderr, "Couldn't open input file '%s'.\n", infile);
  43.     exit(2);
  44.     }
  45.  
  46.     page = p->open_pdi_page(form, 1, "");
  47.     if (page == -1) {
  48.     fprintf(stderr, "Couldn't open page 1 in '%s'.\n", infile);
  49.     exit(2);
  50.     }
  51.  
  52.     font = p->findfont("Helvetica-Bold", "host", 0);
  53.  
  54.     // get the dimensions of the imported form
  55.     width = p->get_pdi_value("width", form, page, 0);
  56.     height = p->get_pdi_value("height", form, page, 0);
  57.  
  58.     p->begin_page(width, height);
  59.     p->place_pdi_page(page, 0, 0, 1, 1);
  60.     p->close_pdi_page(page);
  61.  
  62.     p->setfont(font, 18);
  63.     p->set_value("leading", 24);
  64.     p->set_text_pos(col1, 486);
  65.  
  66.     p->show("Doublecheck, Inc.");
  67.     p->continue_text("Petra Porst");
  68.     p->continue_text("500, Market St.");
  69.     p->continue_text("94110 San Francisco, CA");
  70.     p->continue_text("");
  71.     p->continue_text("USA");
  72.     p->continue_text("+1/950/123-4567");
  73.     p->continue_text("+1/950/123-4568");
  74.     p->continue_text("");
  75.     p->continue_text("petra@doublecheck.com");
  76.  
  77.     time(&timer);
  78.     ltime = *localtime(&timer);
  79.     sprintf(date, "%s %d, %d",
  80.         months[ltime.tm_mon], ltime.tm_mday, ltime.tm_year + 1900);
  81.     p->set_text_pos(col2, 152);
  82.     p->continue_text(date);
  83.  
  84.     p->end_page();
  85.     p->close();
  86.     p->close_pdi(form);
  87.  
  88.     return 0;
  89. } // main
  90.