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 typedef struct PdfFont
{
31 gboolean used_in_this_page
;
38 char *glyphpsnames
[256];
40 // fields from the FT_Face
43 int ascender
, descender
, xmin
, xmax
, ymin
, ymax
; // in PDF font units
48 #define PDFTYPE_CST 0 // intval: true=1, false=0, null=-1
49 #define PDFTYPE_INT 1 // intval
50 #define PDFTYPE_REAL 2 // realval
51 #define PDFTYPE_STRING 3 // str, len
52 #define PDFTYPE_NAME 4 // str
53 #define PDFTYPE_ARRAY 5 // num, elts
54 #define PDFTYPE_DICT 6 // num, elts, names
55 #define PDFTYPE_STREAM 7 // dict: num, elts, names; data: str, len
56 #define PDFTYPE_REF 8 // intval, num
58 struct PdfObj
*parse_pdf_object(char **ptr
, char *eof
);
59 void free_pdfobj(struct PdfObj
*obj
);
60 struct PdfObj
*dup_pdfobj(struct PdfObj
*obj
);
61 struct PdfObj
*get_pdfobj(GString
*pdfbuf
, struct XrefTable
*xref
, struct PdfObj
*obj
);
62 void make_xref(struct XrefTable
*xref
, int nobj
, int offset
);
64 gboolean
pdf_parse_info(GString
*pdfbuf
, struct PdfInfo
*pdfinfo
, struct XrefTable
*xref
);
66 // main printing functions
68 gboolean
print_to_pdf(char *filename
);
70 void print_job_render(GnomePrintJob
*gpj
, int fromPage
, int toPage
);