pdflib.hpp
资源名称:Text2PDF.rar [点击查看]
上传用户:hnmaggie2
上传日期:2010-02-14
资源大小:46k
文件大小:11k
源码类别:
文件格式
开发平台:
Visual C++
- /*---------------------------------------------------------------------------*
- | PDFlib - A library for generating PDF on the fly |
- +---------------------------------------------------------------------------+
- | Copyright (c) 1997-2002 PDFlib GmbH and Thomas Merz. All rights reserved. |
- +---------------------------------------------------------------------------+
- | This software is NOT in the public domain. It can be used under two |
- | substantially different licensing terms: |
- | |
- | The commercial license is available for a fee, and allows you to |
- | - ship a commercial product based on PDFlib |
- | - implement commercial Web services with PDFlib |
- | - distribute (free or commercial) software when the source code is |
- | not made available |
- | Details can be found in the file PDFlib-license.pdf. |
- | |
- | The "Aladdin Free Public License" doesn't require any license fee, |
- | and allows you to |
- | - develop and distribute PDFlib-based software for which the complete |
- | source code is made available |
- | - redistribute PDFlib non-commercially under certain conditions |
- | - redistribute PDFlib on digital media for a fee if the complete |
- | contents of the media are freely redistributable |
- | Details can be found in the file aladdin-license.pdf. |
- | |
- | These conditions extend to ports to other programming languages. |
- | PDFlib is distributed with no warranty of any kind. Commercial users, |
- | however, will receive warranty and support statements in writing. |
- *---------------------------------------------------------------------------*/
- // $Id: pdflib.hpp,v 1.14.2.7 2002/01/07 18:26:29 tm Exp $
- //
- // C++ wrapper for PDFlib
- //
- //
- #ifndef PDFLIB_HPP
- #define PDFLIB_HPP
- #include <string>
- using namespace std;
- // We use PDF as a C++ class name, therefore hide the actual C struct
- // name for PDFlib usage with C++.
- #define PDF PDF_c
- #include "pdflib.h"
- #ifdef PDF_THROWS_CPP_EXCEPTIONS
- #include "except.h"
- #endif
- #undef PDF
- // #define PDF_THROWS_CPP_EXCEPTIONS
- #ifdef PDF_THROWS_CPP_EXCEPTIONS
- #define PDF_THROWS(x) throw (x)
- #define PDF_THROWS_NOTHING throw ()
- #else
- #define PDFlib PDF
- #define PDF_THROWS(x)
- #define PDF_THROWS_NOTHING
- #endif
- // The C++ class wrapper for PDFlib
- class PDFlib {
- public:
- #ifdef PDF_THROWS_CPP_EXCEPTIONS
- class Exception
- {
- public:
- Exception(string msg, void *opaque);
- string get_message();
- const void *get_opaque();
- private:
- string m_msg;
- const void *m_opaque;
- }; // Exception
- class MemoryException : public Exception
- {
- public:
- MemoryException(string msg, void *opaque);
- };
- class IOException : public Exception
- {
- public:
- IOException(string msg, void *opaque);
- };
- class RuntimeException : public Exception
- {
- public:
- RuntimeException(string msg, void *opaque);
- };
- class IndexException : public Exception
- {
- public:
- IndexException(string msg, void *opaque);
- };
- class TypeException : public Exception
- {
- public:
- TypeException(string msg, void *opaque);
- };
- class DivisionByZeroException : public Exception
- {
- public:
- DivisionByZeroException(string msg, void *opaque);
- };
- class OverflowException : public Exception
- {
- public:
- OverflowException(string msg, void *opaque);
- };
- class SyntaxException : public Exception
- {
- public:
- SyntaxException(string msg, void *opaque);
- };
- class ValueException : public Exception
- {
- public:
- ValueException(string msg, void *opaque);
- };
- class SystemException : public Exception
- {
- public:
- SystemException(string msg, void *opaque);
- };
- class NonfatalException : public Exception
- {
- public:
- NonfatalException(string msg, void *opaque);
- };
- class UnknownException : public Exception
- {
- public:
- UnknownException(string msg, void *opaque);
- };
- PDFlib(allocproc_t allocproc = NULL,
- reallocproc_t reallocproc = NULL,
- freeproc_t freeproc = NULL,
- void *opaque = NULL) PDF_THROWS(Exception);
- #else // PDF_THROWS_CPP_EXCEPTIONS
- PDFlib(errorproc_t errorproc = NULL,
- allocproc_t allocproc = NULL,
- reallocproc_t reallocproc = NULL,
- freeproc_t freeproc = NULL,
- void *opaque = NULL);
- #endif // PDF_THROWS_CPP_EXCEPTIONS
- ~PDFlib() PDF_THROWS_NOTHING;
- void * get_opaque() PDF_THROWS(Exception);
- static int get_majorversion() PDF_THROWS_NOTHING;
- static int get_minorversion() PDF_THROWS_NOTHING;
- // Overloaded generic open and close methods
- int open(string filename) PDF_THROWS(Exception);
- int open(FILE *fp) PDF_THROWS(Exception);
- void open(writeproc_t writeproc) PDF_THROWS(Exception);
- void close() PDF_THROWS(Exception);
- const char *get_buffer(long *size) PDF_THROWS(Exception);
- void begin_page(float width, float height) PDF_THROWS(Exception);
- void end_page() PDF_THROWS(Exception);
- void set_parameter(string key, string value) PDF_THROWS(Exception);
- string get_parameter(string key, float mod) PDF_THROWS(Exception);
- float get_value(string key, float mod) PDF_THROWS(Exception);
- void set_value(string key, float value) PDF_THROWS(Exception);
- void show(string text) PDF_THROWS(Exception);
- void show_xy(string text, float x, float y) PDF_THROWS(Exception);
- void continue_text(string text) PDF_THROWS(Exception);
- int show_boxed(string text, float left, float top,
- float width, float height, string hmode, string reserved)
- PDF_THROWS(Exception);
- void set_text_pos(float x, float y) PDF_THROWS(Exception);
- float stringwidth(string text, int font, float size)
- PDF_THROWS(Exception);
- int findfont(string fontname, string encoding, int embed)
- PDF_THROWS(Exception);
- void setfont(int font, float fontsize) PDF_THROWS(Exception);
- void save() PDF_THROWS(Exception);
- void restore() PDF_THROWS(Exception);
- void translate(float tx, float ty) PDF_THROWS(Exception);
- void scale(float sx, float sy) PDF_THROWS(Exception);
- void rotate(float phi) PDF_THROWS(Exception);
- void skew(float alpha, float beta) PDF_THROWS(Exception);
- void concat(float a, float b, float c, float d, float e, float f)
- PDF_THROWS(Exception);
- void setdash(float b, float w) PDF_THROWS(Exception);
- void setpolydash(float *darray, int length) PDF_THROWS(Exception);
- void setflat(float flat) PDF_THROWS(Exception);
- void setlinejoin(int join) PDF_THROWS(Exception);
- void setlinecap(int cap) PDF_THROWS(Exception);
- void setmiterlimit(float miter) PDF_THROWS(Exception);
- void setlinewidth(float width) PDF_THROWS(Exception);
- void moveto(float x, float y) PDF_THROWS(Exception);
- void lineto(float x, float y) PDF_THROWS(Exception);
- void curveto(float x1, float y1, float x2, float y2, float x3, float y3)
- PDF_THROWS(Exception);
- void circle(float x, float y, float r) PDF_THROWS(Exception);
- void arc(float x, float y, float r, float alpha1, float alpha2)
- PDF_THROWS(Exception);
- void arcn(float x, float y, float r, float alpha1, float alpha2)
- PDF_THROWS(Exception);
- void rect(float x, float y, float width, float height)
- PDF_THROWS(Exception);
- void closepath() PDF_THROWS(Exception);
- void stroke() PDF_THROWS(Exception);
- void closepath_stroke() PDF_THROWS(Exception);
- void fill() PDF_THROWS(Exception);
- void fill_stroke() PDF_THROWS(Exception);
- void closepath_fill_stroke() PDF_THROWS(Exception);
- void clip() PDF_THROWS(Exception);
- void endpath() PDF_THROWS(Exception);
- void setgray_fill(float g) PDF_THROWS(Exception);
- void setgray_stroke(float g) PDF_THROWS(Exception);
- void setgray(float g) PDF_THROWS(Exception);
- void setrgbcolor_fill(float red, float green, float blue)
- PDF_THROWS(Exception);
- void setrgbcolor_stroke(float red, float green, float blue)
- PDF_THROWS(Exception);
- void setrgbcolor(float red, float green, float blue) PDF_THROWS(Exception);
- int begin_template(float width, float height) PDF_THROWS(Exception);
- void end_template() PDF_THROWS(Exception);
- void place_image(int image, float x, float y, float scale)
- PDF_THROWS(Exception);
- int open_image(string type, string source, const char *data,
- long len, int width, int height, int components, int bpc,
- string params) PDF_THROWS(Exception);
- int open_image_file(string type, string filename,
- string stringparam, int intparam) PDF_THROWS(Exception);
- void close_image(int image) PDF_THROWS(Exception);
- int open_CCITT(string filename, int width, int height,
- bool BitReverse, int K, bool BlackIs1) PDF_THROWS(Exception);
- int add_bookmark(string text, int parent, bool open)
- PDF_THROWS(Exception);
- void set_info(string key, string value) PDF_THROWS(Exception);
- void attach_file(float llx, float lly, float urx, float ury,
- string filename, string description, string author,
- string mimetype, string icon) PDF_THROWS(Exception);
- void add_note(float llx, float lly, float urx, float ury,
- string contents, string title, string icon, bool open)
- PDF_THROWS(Exception);
- void add_pdflink(float llx, float lly, float urx, float ury,
- string filename, int page, string dest) PDF_THROWS(Exception);
- void add_launchlink(float llx, float lly, float urx, float ury,
- string filename) PDF_THROWS(Exception);
- void add_locallink(float llx, float lly, float urx, float ury,
- int page, string dest) PDF_THROWS(Exception);
- void add_weblink(float llx, float lly, float urx, float ury, string url)
- PDF_THROWS(Exception);
- void set_border_style(string style, float width) PDF_THROWS(Exception);
- void set_border_color(float red, float green, float blue)
- PDF_THROWS(Exception);
- void set_border_dash(float d1, float d2) PDF_THROWS(Exception);
- int open_pdi(string filename, string stringparam, int intparam)
- PDF_THROWS(Exception);
- void close_pdi(int doc) PDF_THROWS(Exception);
- int open_pdi_page(int doc, int page, string label) PDF_THROWS(Exception);
- void place_pdi_page(int page, float x, float y, float sx, float sy)
- PDF_THROWS(Exception);
- void close_pdi_page(int page) PDF_THROWS(Exception);
- string get_pdi_parameter(string key, int doc, int page, int index,
- int *len) PDF_THROWS(Exception);
- float get_pdi_value(string key, int doc, int page, int index)
- PDF_THROWS(Exception);
- int begin_pattern(float width, float height, float xstep, float ystep,
- int painttype) PDF_THROWS(Exception);
- void end_pattern() PDF_THROWS(Exception);
- int makespotcolor(string spotname, int len) PDF_THROWS(Exception);
- void setcolor(string type, string colorspace,
- float c1, float c2, float c3, float c4) PDF_THROWS(Exception);
- void add_thumbnail(int image) PDF_THROWS(Exception);
- void initgraphics() PDF_THROWS(Exception);
- void setmatrix(float a, float b, float c, float d, float e, float f)
- PDF_THROWS(Exception);
- private:
- PDF_c *p;
- #ifdef PDF_THROWS_CPP_EXCEPTIONS
- void throw_exception() PDF_THROWS(Exception);
- pdf_err_info err_info;
- #endif
- };
- #endif // PDFLIB_HPP