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

  1. /* $Id: personalize.c,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.h"
  10.  
  11. int
  12. main(void)
  13. {
  14.     int        form, page, font;
  15.     float    width, height;
  16.     char *    infile = "../../doc/PDFlib-purchase-order.pdf";
  17.     const int    col1 = 70;
  18.     const int    col2 = 335;
  19.     time_t    timer;
  20.     struct tm    ltime;
  21.     char    date[100];
  22.     PDF *    p;
  23.  
  24.     static const char *months[] = {
  25.     "January", "February", "March", "April", "May", "June",
  26.     "July", "August", "September", "October", "November", "December"
  27.     };
  28.  
  29.     p = PDF_new();
  30.  
  31.     if (PDF_open_file(p, "personalize.pdf") == -1) {
  32.     fprintf(stderr, "Error: cannot open PDF file personalize.pdf.\n");
  33.     exit(2);
  34.     }
  35.  
  36.     PDF_set_info(p, "Creator", "personalize.c");
  37.     PDF_set_info(p, "Author", "Thomas Merz");
  38.     PDF_set_info(p, "Title", "PDFlib personalization demo (C)");
  39.  
  40.     form = PDF_open_pdi(p, infile, "", 0);
  41.     if (form == -1) {
  42.     fprintf(stderr, "Couldn't open input file '%s'.\n", infile);
  43.     exit(2);
  44.     }
  45.  
  46.     page = PDF_open_pdi_page(p, 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 = PDF_findfont(p, "Helvetica-Bold", "host", 0);
  53.  
  54.     /* get the dimensions of the imported form */
  55.     width = PDF_get_pdi_value(p, "width", form, page, 0);
  56.     height = PDF_get_pdi_value(p, "height", form, page, 0);
  57.  
  58.     PDF_begin_page(p, width, height);
  59.     PDF_place_pdi_page(p, page, 0, 0, 1, 1);
  60.     PDF_close_pdi_page(p, page);
  61.  
  62.     PDF_setfont(p, font, 18);
  63.     PDF_set_value(p, "leading", 24);
  64.     PDF_set_text_pos(p, col1, 486);
  65.  
  66.     PDF_show(p, "Doublecheck, Inc.");
  67.     PDF_continue_text(p, "Petra Porst");
  68.     PDF_continue_text(p, "500, Market St.");
  69.     PDF_continue_text(p, "94110 San Francisco, CA");
  70.     PDF_continue_text(p, "");
  71.     PDF_continue_text(p, "USA");
  72.     PDF_continue_text(p, "+1/950/123-4567");
  73.     PDF_continue_text(p, "+1/950/123-4568");
  74.     PDF_continue_text(p, "");
  75.     PDF_continue_text(p, "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.     PDF_set_text_pos(p, col2, 152);
  82.     PDF_continue_text(p, date);
  83.  
  84.     PDF_end_page(p);
  85.     PDF_close(p);
  86.     PDF_close_pdi(p, form);
  87.     PDF_delete(p);
  88.  
  89.     return 0;
  90. }
  91.