forked from Kitware/VTK
-
Notifications
You must be signed in to change notification settings - Fork 0
/
hpdf_doc.h
162 lines (106 loc) · 3.54 KB
/
hpdf_doc.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
/*
* << Haru Free PDF Library >> -- hpdf_doc.h
*
* URL: http://libharu.org
*
* Copyright (c) 1999-2006 Takeshi Kanno <takeshi_kanno@est.hi-ho.ne.jp>
* Copyright (c) 2007-2009 Antony Dovgal <tony@daylessday.org>
*
* Permission to use, copy, modify, distribute and sell this software
* and its documentation for any purpose is hereby granted without fee,
* provided that the above copyright notice appear in all copies and
* that both that copyright notice and this permission notice appear
* in supporting documentation.
* It is provided "as is" without express or implied warranty.
*
*/
#ifndef _HPDF_DOC_H
#define _HPDF_DOC_H
#define HPDF_SIG_BYTES 0x41504446L
#include "hpdf_catalog.h"
#include "hpdf_image.h"
#include "hpdf_pages.h"
#include "hpdf_outline.h"
#include "hpdf_ext_gstate.h"
#ifdef __cplusplus
extern "C" {
#endif
#define HPDF_VER_DEFAULT HPDF_VER_12
typedef struct _HPDF_Doc_Rec {
HPDF_UINT32 sig_bytes;
HPDF_PDFVer pdf_version;
HPDF_MMgr mmgr;
HPDF_Catalog catalog;
HPDF_Outline outlines;
HPDF_Xref xref;
HPDF_Pages root_pages;
HPDF_Pages cur_pages;
HPDF_Page cur_page;
HPDF_List page_list;
HPDF_Error_Rec error;
HPDF_Dict info;
HPDF_Dict trailer;
HPDF_List font_mgr;
HPDF_BYTE ttfont_tag[6];
/* list for loaded fontdefs */
HPDF_List fontdef_list;
/* list for loaded encodings */
HPDF_List encoder_list;
HPDF_Encoder cur_encoder;
/* default compression mode */
HPDF_BOOL compression_mode;
HPDF_BOOL encrypt_on;
HPDF_EncryptDict encrypt_dict;
HPDF_Encoder def_encoder;
HPDF_UINT page_per_pages;
HPDF_UINT cur_page_num;
/* buffer for saving into memory stream */
HPDF_Stream stream;
} HPDF_Doc_Rec;
typedef struct _HPDF_Doc_Rec *HPDF_Doc;
HPDF_Encoder
HPDF_Doc_FindEncoder (HPDF_Doc pdf,
const char *encoding_name);
HPDF_FontDef
HPDF_Doc_FindFontDef (HPDF_Doc pdf,
const char *font_name);
HPDF_Font
HPDF_Doc_FindFont (HPDF_Doc pdf,
const char *font_name,
const char *encoding_name);
HPDF_BOOL
HPDF_Doc_Validate (HPDF_Doc pdf);
/*----- page handling -------------------------------------------------------*/
HPDF_Pages
HPDF_Doc_GetCurrentPages (HPDF_Doc pdf);
HPDF_Pages
HPDF_Doc_AddPagesTo (HPDF_Doc pdf,
HPDF_Pages parent);
HPDF_STATUS
HPDF_Doc_SetCurrentPages (HPDF_Doc pdf,
HPDF_Pages pages);
HPDF_STATUS
HPDF_Doc_SetCurrentPage (HPDF_Doc pdf,
HPDF_Page page);
/*----- font handling -------------------------------------------------------*/
HPDF_FontDef
HPDF_GetFontDef (HPDF_Doc pdf,
const char *font_name);
HPDF_STATUS
HPDF_Doc_RegisterFontDef (HPDF_Doc pdf,
HPDF_FontDef fontdef);
/*----- encoding handling ---------------------------------------------------*/
HPDF_STATUS
HPDF_Doc_RegisterEncoder (HPDF_Doc pdf,
HPDF_Encoder encoder);
/*----- encryptio------------------------------------------------------------*/
HPDF_STATUS
HPDF_Doc_SetEncryptOn (HPDF_Doc pdf);
HPDF_STATUS
HPDF_Doc_SetEncryptOff (HPDF_Doc pdf);
HPDF_STATUS
HPDF_Doc_PrepareEncryption (HPDF_Doc pdf);
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* _HPDF_DOC_H */