1 typedef struct XrefTable {
7 typedef struct PdfPageDesc {
8 struct PdfObj *resources, *mediabox, *contents;
12 typedef struct PdfInfo {
14 struct PdfObj *trailerdict;
16 struct PdfPageDesc *pages;
19 typedef struct PdfObj {
29 #define PDFTYPE_CST 0 // intval: true=1, false=0, null=-1
30 #define PDFTYPE_INT 1 // intval
31 #define PDFTYPE_REAL 2 // realval
32 #define PDFTYPE_STRING 3 // str, len
33 #define PDFTYPE_NAME 4 // str
34 #define PDFTYPE_ARRAY 5 // num, elts
35 #define PDFTYPE_DICT 6 // num, elts, names
36 #define PDFTYPE_STREAM 7 // dict: num, elts, names; data: str, len
37 #define PDFTYPE_REF 8 // intval, num
39 struct PdfObj *parse_pdf_object(char **ptr, char *eof);
40 void free_pdfobj(struct PdfObj *obj);
41 struct PdfObj *dup_pdfobj(struct PdfObj *obj);
42 struct PdfObj *get_pdfobj(GString *pdfbuf, struct XrefTable *xref, struct PdfObj *obj);
43 void make_xref(struct XrefTable *xref, int nobj, int offset);
45 gboolean pdf_parse_info(GString *pdfbuf, struct PdfInfo *pdfinfo, struct XrefTable *xref);
47 // main printing functions
49 gboolean print_to_pdf(char *filename);
51 void print_job_render(GnomePrintJob *gpj, int fromPage, int toPage);