1 // $Id: image.cpp,v 1.22.2.1 2008/03/07 11:06:26 stm Exp $
2 //
3 // PDFlib client: image example in C++
4 //
5
6 #include <iostream>
7 #include <cstdlib>
8
9 #include "pdflib.hpp"
10
11 using namespace std;
12
13 int
main(void)14 main(void)
15 {
16 try {
17 PDFlib *p;
18 int image;
19 char *imagefile = (char *) "nesrin.jpg";
20 // This is where font/image/PDF input files live. Adjust as necessary.
21 char *searchpath = (char *) "../data";
22
23 p = new PDFlib();
24
25 // This means we must check return values of load_font() etc.
26 p->set_parameter("errorpolicy", "return");
27
28 p->set_parameter("SearchPath", searchpath);
29
30 // This line is required to avoid problems on Japanese systems
31 p->set_parameter("hypertextencoding", "host");
32
33 if (p->begin_document("image.pdf", "") == -1) {
34 cerr << "Error: " << p->get_errmsg() << endl; return 2;
35 }
36
37 p->set_info("Creator", "image.cpp");
38 p->set_info("Author", "Thomas Merz");
39 p->set_info("Title", "image sample (C++)!");
40
41 image = p->load_image("auto", imagefile, "");
42
43 if (image == -1) {
44 cerr << "Error: " << p->get_errmsg() << endl;
45 exit(3);
46 }
47
48 // dummy page size, will be adjusted by PDF_fit_image()
49 p->begin_page_ext(10, 10, "");
50 p->fit_image(image, 0.0, 0.0, "adjustpage");
51 p->close_image(image);
52 p->end_page_ext("");
53
54 p->end_document("");
55 }
56
57 catch (PDFlib::Exception &ex) {
58 cerr << "PDFlib exception occurred in hello sample: " << endl;
59 cerr << "[" << ex.get_errnum() << "] " << ex.get_apiname()
60 << ": " << ex.get_errmsg() << endl;
61 return 2;
62 }
63
64 return 0;
65 }
66