hpdf 2.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/History +57 -0
- data/License +25 -0
- data/README +165 -0
- data/examples/arc_demo.rb +82 -0
- data/examples/demo.rb +92 -0
- data/examples/encryption.rb +41 -0
- data/examples/ext_gstater_demo.rb +171 -0
- data/examples/font_demo.rb +67 -0
- data/examples/jpfont_demo.rb +122 -0
- data/examples/line_demo.rb +301 -0
- data/examples/slide_show_demo.rb +139 -0
- data/examples/text_demo2.rb +189 -0
- data/examples/ttfont_demo.rb +106 -0
- data/ext/extconf.rb +6 -0
- data/ext/hpdf.c +3779 -0
- data/ext/hpdf_annotation.c +415 -0
- data/ext/hpdf_array.c +344 -0
- data/ext/hpdf_binary.c +117 -0
- data/ext/hpdf_boolean.c +47 -0
- data/ext/hpdf_catalog.c +354 -0
- data/ext/hpdf_destination.c +339 -0
- data/ext/hpdf_dict.c +488 -0
- data/ext/hpdf_doc.c +2020 -0
- data/ext/hpdf_doc_png.c +137 -0
- data/ext/hpdf_encoder.c +2991 -0
- data/ext/hpdf_encoder_cns.c +36359 -0
- data/ext/hpdf_encoder_cnt.c +15307 -0
- data/ext/hpdf_encoder_jp.c +16125 -0
- data/ext/hpdf_encoder_kr.c +27978 -0
- data/ext/hpdf_encrypt.c +632 -0
- data/ext/hpdf_encryptdict.c +240 -0
- data/ext/hpdf_error.c +114 -0
- data/ext/hpdf_ext_gstate.c +150 -0
- data/ext/hpdf_font.c +229 -0
- data/ext/hpdf_font_cid.c +1030 -0
- data/ext/hpdf_font_tt.c +406 -0
- data/ext/hpdf_font_type1.c +391 -0
- data/ext/hpdf_fontdef.c +56 -0
- data/ext/hpdf_fontdef_base14.c +4506 -0
- data/ext/hpdf_fontdef_cid.c +194 -0
- data/ext/hpdf_fontdef_cns.c +471 -0
- data/ext/hpdf_fontdef_cnt.c +250 -0
- data/ext/hpdf_fontdef_jp.c +1904 -0
- data/ext/hpdf_fontdef_kr.c +1572 -0
- data/ext/hpdf_fontdef_tt.c +2230 -0
- data/ext/hpdf_fontdef_type1.c +524 -0
- data/ext/hpdf_gstate.c +119 -0
- data/ext/hpdf_image.c +568 -0
- data/ext/hpdf_image_png.c +424 -0
- data/ext/hpdf_info.c +164 -0
- data/ext/hpdf_list.c +333 -0
- data/ext/hpdf_mmgr.c +243 -0
- data/ext/hpdf_name.c +71 -0
- data/ext/hpdf_null.c +31 -0
- data/ext/hpdf_number.c +49 -0
- data/ext/hpdf_objects.c +172 -0
- data/ext/hpdf_outline.c +329 -0
- data/ext/hpdf_page_label.c +74 -0
- data/ext/hpdf_page_operator.c +2764 -0
- data/ext/hpdf_pages.c +1508 -0
- data/ext/hpdf_real.c +61 -0
- data/ext/hpdf_streams.c +1435 -0
- data/ext/hpdf_string.c +189 -0
- data/ext/hpdf_utils.c +438 -0
- data/ext/hpdf_xref.c +348 -0
- data/ext/include/hpdf.h +1227 -0
- data/ext/include/hpdf_annotation.h +74 -0
- data/ext/include/hpdf_catalog.h +81 -0
- data/ext/include/hpdf_conf.h +76 -0
- data/ext/include/hpdf_consts.h +549 -0
- data/ext/include/hpdf_destination.h +41 -0
- data/ext/include/hpdf_doc.h +159 -0
- data/ext/include/hpdf_encoder.h +311 -0
- data/ext/include/hpdf_encrypt.h +156 -0
- data/ext/include/hpdf_encryptdict.h +66 -0
- data/ext/include/hpdf_error.h +201 -0
- data/ext/include/hpdf_ext_gstate.h +38 -0
- data/ext/include/hpdf_font.h +112 -0
- data/ext/include/hpdf_fontdef.h +403 -0
- data/ext/include/hpdf_gstate.h +80 -0
- data/ext/include/hpdf_image.h +72 -0
- data/ext/include/hpdf_info.h +48 -0
- data/ext/include/hpdf_list.h +85 -0
- data/ext/include/hpdf_mmgr.h +82 -0
- data/ext/include/hpdf_objects.h +587 -0
- data/ext/include/hpdf_outline.h +74 -0
- data/ext/include/hpdf_page_label.h +35 -0
- data/ext/include/hpdf_pages.h +128 -0
- data/ext/include/hpdf_streams.h +276 -0
- data/ext/include/hpdf_types.h +488 -0
- data/ext/include/hpdf_utils.h +161 -0
- data/tests/arc_demo.rb +82 -0
- data/tests/demo.rb +91 -0
- data/tests/encryption.rb +41 -0
- data/tests/ext_gstater_demo.rb +171 -0
- data/tests/font_demo.rb +67 -0
- data/tests/line_demo.rb +301 -0
- data/tests/slide_show_demo.rb +139 -0
- data/tests/test_all_examples.rb +31 -0
- data/tests/text_demo2.rb +189 -0
- metadata +147 -0
data/ext/hpdf_xref.c
ADDED
@@ -0,0 +1,348 @@
|
|
1
|
+
/*
|
2
|
+
* << Haru Free PDF Library 2.0.3 >> -- hpdf_xref.h
|
3
|
+
*
|
4
|
+
* Copyright (c) 1999-2006 Takeshi Kanno <takeshi_kanno@est.hi-ho.ne.jp>
|
5
|
+
*
|
6
|
+
* Permission to use, copy, modify, distribute and sell this software
|
7
|
+
* and its documentation for any purpose is hereby granted without fee,
|
8
|
+
* provided that the above copyright notice appear in all copies and
|
9
|
+
* that both that copyright notice and this permission notice appear
|
10
|
+
* in supporting documentation.
|
11
|
+
* It is provided "as is" without express or implied warranty.
|
12
|
+
*
|
13
|
+
*/
|
14
|
+
|
15
|
+
#include "hpdf_conf.h"
|
16
|
+
#include "hpdf_utils.h"
|
17
|
+
#include "hpdf_objects.h"
|
18
|
+
|
19
|
+
static HPDF_STATUS
|
20
|
+
WriteTrailer (HPDF_Xref xref,
|
21
|
+
HPDF_Stream stream);
|
22
|
+
|
23
|
+
|
24
|
+
HPDF_Xref
|
25
|
+
HPDF_Xref_New (HPDF_MMgr mmgr,
|
26
|
+
HPDF_UINT32 offset)
|
27
|
+
{
|
28
|
+
HPDF_Xref xref;
|
29
|
+
HPDF_XrefEntry new_entry;
|
30
|
+
|
31
|
+
HPDF_PTRACE((" HPDF_Xref_New\n"));
|
32
|
+
|
33
|
+
xref = (HPDF_Xref)HPDF_GetMem (mmgr, sizeof(HPDF_Xref_Rec));
|
34
|
+
if (!xref)
|
35
|
+
return NULL;
|
36
|
+
|
37
|
+
HPDF_MemSet (xref, 0, sizeof(HPDF_Xref_Rec));
|
38
|
+
xref->mmgr = mmgr;
|
39
|
+
xref->error = mmgr->error;
|
40
|
+
xref->start_offset = offset;
|
41
|
+
|
42
|
+
xref->entries = HPDF_List_New (mmgr, HPDF_DEFALUT_XREF_ENTRY_NUM);
|
43
|
+
if (!xref->entries)
|
44
|
+
goto Fail;
|
45
|
+
|
46
|
+
xref->addr = 0;
|
47
|
+
|
48
|
+
if (xref->start_offset == 0) {
|
49
|
+
new_entry = (HPDF_XrefEntry)HPDF_GetMem (mmgr,
|
50
|
+
sizeof(HPDF_XrefEntry_Rec));
|
51
|
+
if (!new_entry)
|
52
|
+
goto Fail;
|
53
|
+
|
54
|
+
if (HPDF_List_Add (xref->entries, new_entry) != HPDF_OK) {
|
55
|
+
HPDF_FreeMem (mmgr, new_entry);
|
56
|
+
goto Fail;
|
57
|
+
}
|
58
|
+
|
59
|
+
/* add first entry which is free entry and whose generation
|
60
|
+
* number is 0
|
61
|
+
*/
|
62
|
+
new_entry->entry_typ = HPDF_FREE_ENTRY;
|
63
|
+
new_entry->byte_offset = 0;
|
64
|
+
new_entry->gen_no = HPDF_MAX_GENERATION_NUM;
|
65
|
+
new_entry->obj = NULL;
|
66
|
+
}
|
67
|
+
|
68
|
+
xref->trailer = HPDF_Dict_New (mmgr);
|
69
|
+
if (!xref->trailer)
|
70
|
+
goto Fail;
|
71
|
+
|
72
|
+
return xref;
|
73
|
+
|
74
|
+
Fail:
|
75
|
+
HPDF_PTRACE((" HPDF_Xref_New failed\n"));
|
76
|
+
HPDF_Xref_Free (xref);
|
77
|
+
return NULL;
|
78
|
+
}
|
79
|
+
|
80
|
+
|
81
|
+
void
|
82
|
+
HPDF_Xref_Free (HPDF_Xref xref)
|
83
|
+
{
|
84
|
+
HPDF_UINT i;
|
85
|
+
HPDF_XrefEntry entry;
|
86
|
+
HPDF_Xref tmp_xref;
|
87
|
+
|
88
|
+
HPDF_PTRACE((" HPDF_Xref_Free\n"));
|
89
|
+
|
90
|
+
/* delete xref entries. where prev element is not NULL,
|
91
|
+
* delete all xref entries recursively.
|
92
|
+
*/
|
93
|
+
while (xref) {
|
94
|
+
/* delete all objects belong to the xref. */
|
95
|
+
|
96
|
+
if (xref->entries) {
|
97
|
+
for (i = 0; i < xref->entries->count; i++) {
|
98
|
+
entry = HPDF_Xref_GetEntry (xref, i);
|
99
|
+
if (entry->obj)
|
100
|
+
HPDF_Obj_ForceFree (xref->mmgr, entry->obj);
|
101
|
+
HPDF_FreeMem (xref->mmgr, entry);
|
102
|
+
}
|
103
|
+
|
104
|
+
HPDF_List_Free(xref->entries);
|
105
|
+
}
|
106
|
+
|
107
|
+
if (xref->trailer)
|
108
|
+
HPDF_Dict_Free (xref->trailer);
|
109
|
+
|
110
|
+
tmp_xref = xref->prev;
|
111
|
+
HPDF_FreeMem (xref->mmgr, xref);
|
112
|
+
xref = tmp_xref;
|
113
|
+
}
|
114
|
+
}
|
115
|
+
|
116
|
+
|
117
|
+
HPDF_STATUS
|
118
|
+
HPDF_Xref_Add (HPDF_Xref xref,
|
119
|
+
void *obj)
|
120
|
+
{
|
121
|
+
HPDF_XrefEntry entry;
|
122
|
+
HPDF_Obj_Header *header;
|
123
|
+
|
124
|
+
HPDF_PTRACE((" HPDF_Xref_Add\n"));
|
125
|
+
|
126
|
+
if (!obj) {
|
127
|
+
if (HPDF_Error_GetCode (xref->error) == HPDF_OK)
|
128
|
+
return HPDF_SetError (xref->error, HPDF_INVALID_OBJECT, 0);
|
129
|
+
else
|
130
|
+
return HPDF_INVALID_OBJECT;
|
131
|
+
}
|
132
|
+
|
133
|
+
header = (HPDF_Obj_Header *)obj;
|
134
|
+
|
135
|
+
if (header->obj_id & HPDF_OTYPE_DIRECT ||
|
136
|
+
header->obj_id & HPDF_OTYPE_INDIRECT)
|
137
|
+
return HPDF_SetError(xref->error, HPDF_INVALID_OBJECT, 0);
|
138
|
+
|
139
|
+
if (xref->entries->count >= HPDF_LIMIT_MAX_XREF_ELEMENT) {
|
140
|
+
HPDF_SetError(xref->error, HPDF_XREF_COUNT_ERR, 0);
|
141
|
+
goto Fail;
|
142
|
+
}
|
143
|
+
|
144
|
+
/* in the following, we have to dispose the object when an error is
|
145
|
+
* occured.
|
146
|
+
*/
|
147
|
+
|
148
|
+
entry = (HPDF_XrefEntry)HPDF_GetMem (xref->mmgr,
|
149
|
+
sizeof(HPDF_XrefEntry_Rec));
|
150
|
+
if (entry == NULL)
|
151
|
+
goto Fail;
|
152
|
+
|
153
|
+
if (HPDF_List_Add(xref->entries, entry) != HPDF_OK) {
|
154
|
+
HPDF_FreeMem (xref->mmgr, entry);
|
155
|
+
goto Fail;
|
156
|
+
}
|
157
|
+
|
158
|
+
entry->entry_typ = HPDF_IN_USE_ENTRY;
|
159
|
+
entry->byte_offset = 0;
|
160
|
+
entry->gen_no = 0;
|
161
|
+
entry->obj = obj;
|
162
|
+
header->obj_id = xref->start_offset + xref->entries->count - 1 +
|
163
|
+
HPDF_OTYPE_INDIRECT;
|
164
|
+
|
165
|
+
header->gen_no = entry->gen_no;
|
166
|
+
|
167
|
+
return HPDF_OK;
|
168
|
+
|
169
|
+
Fail:
|
170
|
+
HPDF_Obj_ForceFree(xref->mmgr, obj);
|
171
|
+
return HPDF_Error_GetCode (xref->error);
|
172
|
+
}
|
173
|
+
|
174
|
+
HPDF_XrefEntry
|
175
|
+
HPDF_Xref_GetEntry (HPDF_Xref xref,
|
176
|
+
HPDF_UINT index)
|
177
|
+
{
|
178
|
+
HPDF_PTRACE((" HPDF_Xref_GetEntry\n"));
|
179
|
+
|
180
|
+
return (HPDF_XrefEntry)HPDF_List_ItemAt(xref->entries, index);
|
181
|
+
}
|
182
|
+
|
183
|
+
|
184
|
+
HPDF_XrefEntry
|
185
|
+
HPDF_Xref_GetEntryByObjectId (HPDF_Xref xref,
|
186
|
+
HPDF_UINT obj_id)
|
187
|
+
{
|
188
|
+
HPDF_Xref tmp_xref = xref;
|
189
|
+
|
190
|
+
HPDF_PTRACE((" HPDF_Xref_GetEntryByObjectId\n"));
|
191
|
+
|
192
|
+
while (tmp_xref) {
|
193
|
+
HPDF_UINT i;
|
194
|
+
|
195
|
+
if (tmp_xref->entries->count + tmp_xref->start_offset > obj_id) {
|
196
|
+
HPDF_SetError (xref->error, HPDF_INVALID_OBJ_ID, 0);
|
197
|
+
return NULL;
|
198
|
+
}
|
199
|
+
|
200
|
+
if (tmp_xref->start_offset < obj_id) {
|
201
|
+
for (i = 0; i < tmp_xref->entries->count; i++) {
|
202
|
+
if (tmp_xref->start_offset + i == obj_id) {
|
203
|
+
HPDF_XrefEntry entry = HPDF_Xref_GetEntry(tmp_xref, i);
|
204
|
+
|
205
|
+
return entry;
|
206
|
+
}
|
207
|
+
}
|
208
|
+
}
|
209
|
+
|
210
|
+
tmp_xref = tmp_xref->prev;
|
211
|
+
}
|
212
|
+
|
213
|
+
return NULL;
|
214
|
+
}
|
215
|
+
|
216
|
+
|
217
|
+
HPDF_STATUS
|
218
|
+
HPDF_Xref_WriteToStream (HPDF_Xref xref,
|
219
|
+
HPDF_Stream stream,
|
220
|
+
HPDF_Encrypt e)
|
221
|
+
{
|
222
|
+
HPDF_STATUS ret;
|
223
|
+
HPDF_UINT i;
|
224
|
+
char buf[HPDF_SHORT_BUF_SIZ];
|
225
|
+
char* pbuf;
|
226
|
+
char* eptr = buf + HPDF_SHORT_BUF_SIZ - 1;
|
227
|
+
HPDF_UINT str_idx;
|
228
|
+
HPDF_Xref tmp_xref = xref;
|
229
|
+
|
230
|
+
/* write each objects of xref to the specified stream */
|
231
|
+
|
232
|
+
HPDF_PTRACE((" HPDF_Xref_WriteToStream\n"));
|
233
|
+
|
234
|
+
while (tmp_xref) {
|
235
|
+
if (tmp_xref->start_offset == 0)
|
236
|
+
str_idx = 1;
|
237
|
+
else
|
238
|
+
str_idx = 0;
|
239
|
+
|
240
|
+
for (i = str_idx; i < tmp_xref->entries->count; i++) {
|
241
|
+
HPDF_XrefEntry entry =
|
242
|
+
(HPDF_XrefEntry)HPDF_List_ItemAt (tmp_xref->entries, i);
|
243
|
+
HPDF_UINT obj_id = tmp_xref->start_offset + i;
|
244
|
+
HPDF_UINT16 gen_no = entry->gen_no;
|
245
|
+
|
246
|
+
entry->byte_offset = stream->size;
|
247
|
+
|
248
|
+
pbuf = buf;
|
249
|
+
pbuf = HPDF_IToA (pbuf, obj_id, eptr);
|
250
|
+
*pbuf++ = ' ';
|
251
|
+
pbuf = HPDF_IToA (pbuf, gen_no, eptr);
|
252
|
+
HPDF_StrCpy(pbuf, " obj\012", eptr);
|
253
|
+
|
254
|
+
if ((ret = HPDF_Stream_WriteStr (stream, buf)) != HPDF_OK)
|
255
|
+
return ret;
|
256
|
+
|
257
|
+
if (e)
|
258
|
+
HPDF_Encrypt_InitKey (e, obj_id, gen_no);
|
259
|
+
|
260
|
+
if ((ret = HPDF_Obj_WriteValue (entry->obj, stream, e)) != HPDF_OK)
|
261
|
+
return ret;
|
262
|
+
|
263
|
+
if ((ret = HPDF_Stream_WriteStr (stream, "\012endobj\012"))
|
264
|
+
!= HPDF_OK)
|
265
|
+
return ret;
|
266
|
+
}
|
267
|
+
|
268
|
+
tmp_xref = tmp_xref->prev;
|
269
|
+
}
|
270
|
+
|
271
|
+
/* start to write cross-reference table */
|
272
|
+
|
273
|
+
tmp_xref = xref;
|
274
|
+
|
275
|
+
while (tmp_xref) {
|
276
|
+
tmp_xref->addr = stream->size;
|
277
|
+
|
278
|
+
pbuf = buf;
|
279
|
+
pbuf = HPDF_StrCpy (pbuf, "xref\012", eptr);
|
280
|
+
pbuf = HPDF_IToA (pbuf, tmp_xref->start_offset, eptr);
|
281
|
+
*pbuf++ = ' ';
|
282
|
+
pbuf = HPDF_IToA (pbuf, tmp_xref->entries->count, eptr);
|
283
|
+
HPDF_StrCpy (pbuf, "\012", eptr);
|
284
|
+
ret = HPDF_Stream_WriteStr (stream, buf);
|
285
|
+
if (ret != HPDF_OK)
|
286
|
+
return ret;
|
287
|
+
|
288
|
+
for (i = 0; i < tmp_xref->entries->count; i++) {
|
289
|
+
HPDF_XrefEntry entry = HPDF_Xref_GetEntry(tmp_xref, i);
|
290
|
+
|
291
|
+
pbuf = buf;
|
292
|
+
pbuf = HPDF_IToA2 (pbuf, entry->byte_offset, HPDF_BYTE_OFFSET_LEN +
|
293
|
+
1);
|
294
|
+
*pbuf++ = ' ';
|
295
|
+
pbuf = HPDF_IToA2 (pbuf, entry->gen_no, HPDF_GEN_NO_LEN + 1);
|
296
|
+
*pbuf++ = ' ';
|
297
|
+
*pbuf++ = entry->entry_typ;
|
298
|
+
HPDF_StrCpy (pbuf, "\015\012", eptr);
|
299
|
+
ret = HPDF_Stream_WriteStr (stream, buf);
|
300
|
+
if (ret != HPDF_OK)
|
301
|
+
return ret;
|
302
|
+
}
|
303
|
+
|
304
|
+
tmp_xref = tmp_xref->prev;
|
305
|
+
}
|
306
|
+
|
307
|
+
/* write trailer dictionary */
|
308
|
+
ret = WriteTrailer (xref, stream);
|
309
|
+
|
310
|
+
return ret;
|
311
|
+
}
|
312
|
+
|
313
|
+
static HPDF_STATUS
|
314
|
+
WriteTrailer (HPDF_Xref xref,
|
315
|
+
HPDF_Stream stream)
|
316
|
+
{
|
317
|
+
HPDF_UINT max_obj_id = xref->entries->count + xref->start_offset;
|
318
|
+
HPDF_STATUS ret;
|
319
|
+
|
320
|
+
HPDF_PTRACE ((" WriteTrailer\n"));
|
321
|
+
|
322
|
+
if ((ret = HPDF_Dict_AddNumber (xref->trailer, "Size", max_obj_id))
|
323
|
+
!= HPDF_OK)
|
324
|
+
return ret;
|
325
|
+
|
326
|
+
if (xref->prev)
|
327
|
+
if ((ret = HPDF_Dict_AddNumber (xref->trailer, "Prev",
|
328
|
+
xref->prev->addr)) != HPDF_OK)
|
329
|
+
return ret;
|
330
|
+
|
331
|
+
if ((ret = HPDF_Stream_WriteStr (stream, "trailer\012")) != HPDF_OK)
|
332
|
+
return ret;
|
333
|
+
|
334
|
+
if ((ret = HPDF_Dict_Write (xref->trailer, stream, NULL)) != HPDF_OK)
|
335
|
+
return ret;
|
336
|
+
|
337
|
+
if ((ret = HPDF_Stream_WriteStr (stream, "\012startxref\012")) != HPDF_OK)
|
338
|
+
return ret;
|
339
|
+
|
340
|
+
if ((ret = HPDF_Stream_WriteUInt (stream, xref->addr)) != HPDF_OK)
|
341
|
+
return ret;
|
342
|
+
|
343
|
+
if ((ret = HPDF_Stream_WriteStr (stream, "\012%%EOF\012")) != HPDF_OK)
|
344
|
+
return ret;
|
345
|
+
|
346
|
+
return HPDF_OK;
|
347
|
+
}
|
348
|
+
|
data/ext/include/hpdf.h
ADDED
@@ -0,0 +1,1227 @@
|
|
1
|
+
/*
|
2
|
+
* << Haru Free PDF Library 2.0.8 >> -- hpdf.h
|
3
|
+
*
|
4
|
+
* URL http://libharu.sourceforge.net/
|
5
|
+
*
|
6
|
+
* Copyright (c) 1999-2006 Takeshi Kanno
|
7
|
+
*
|
8
|
+
* Permission to use, copy, modify, distribute and sell this software
|
9
|
+
* and its documentation for any purpose is hereby granted without fee,
|
10
|
+
* provided that the above copyright notice appear in all copies and
|
11
|
+
* that both that copyright notice and this permission notice appear
|
12
|
+
* in supporting documentation.
|
13
|
+
* It is provided "as is" without express or implied warranty.
|
14
|
+
*
|
15
|
+
*/
|
16
|
+
|
17
|
+
#ifndef _HPDF_H
|
18
|
+
#define _HPDF_H
|
19
|
+
|
20
|
+
#ifdef HPDF_DLL_MAKE
|
21
|
+
# define HPDF_EXPORT(A) __declspec(dllexport) A __stdcall
|
22
|
+
#else
|
23
|
+
# ifdef HPDF_DLL_MAKE_CDECL
|
24
|
+
# define HPDF_EXPORT(A) __declspec(dllexport) A
|
25
|
+
# else
|
26
|
+
# ifdef HPDF_SHARED_MAKE
|
27
|
+
# define HPDF_EXPORT(A) extern A
|
28
|
+
# endif /* HPDF_SHARED_MAKE */
|
29
|
+
# endif /* HPDF_DLL_MAKE_CDECL */
|
30
|
+
#endif /* HPDF_DLL_MAKE */
|
31
|
+
|
32
|
+
#ifdef HPDF_DLL
|
33
|
+
# define HPDF_SHARED
|
34
|
+
# define HPDF_EXPORT(A) __declspec(dllimport) A __stdcall
|
35
|
+
#else
|
36
|
+
# ifdef HPDF_DLL_CDECL
|
37
|
+
# define HPDF_SHARED
|
38
|
+
# define HPDF_EXPORT(A) __declspec(dllimport) A
|
39
|
+
# endif /* HPDF_DLL_CDECL */
|
40
|
+
#endif /* HPDF_DLL */
|
41
|
+
|
42
|
+
#ifdef HPDF_SHARED
|
43
|
+
|
44
|
+
#ifndef HPDF_EXPORT
|
45
|
+
#define HPDF_EXPORT(A) extern A
|
46
|
+
#endif /* HPDF_EXPORT */
|
47
|
+
|
48
|
+
#include "hpdf_consts.h"
|
49
|
+
#include "hpdf_types.h"
|
50
|
+
|
51
|
+
typedef void *HPDF_HANDLE;
|
52
|
+
typedef HPDF_HANDLE HPDF_Doc;
|
53
|
+
typedef HPDF_HANDLE HPDF_Page;
|
54
|
+
typedef HPDF_HANDLE HPDF_Pages;
|
55
|
+
typedef HPDF_HANDLE HPDF_Stream;
|
56
|
+
typedef HPDF_HANDLE HPDF_Image;
|
57
|
+
typedef HPDF_HANDLE HPDF_Font;
|
58
|
+
typedef HPDF_HANDLE HPDF_Outline;
|
59
|
+
typedef HPDF_HANDLE HPDF_Encoder;
|
60
|
+
typedef HPDF_HANDLE HPDF_Destination;
|
61
|
+
typedef HPDF_HANDLE HPDF_XObject;
|
62
|
+
typedef HPDF_HANDLE HPDF_Annotation;
|
63
|
+
typedef HPDF_HANDLE HPDF_ExtGState;
|
64
|
+
|
65
|
+
#else
|
66
|
+
|
67
|
+
#ifndef HPDF_EXPORT
|
68
|
+
#define HPDF_EXPORT(A) A
|
69
|
+
#endif /* HPDF_EXPORT */
|
70
|
+
|
71
|
+
#include "hpdf_consts.h"
|
72
|
+
#include "hpdf_doc.h"
|
73
|
+
|
74
|
+
#endif /* HPDF_SHARED */
|
75
|
+
|
76
|
+
#ifdef __cplusplus
|
77
|
+
extern "C" {
|
78
|
+
#endif
|
79
|
+
|
80
|
+
HPDF_EXPORT(const char *)
|
81
|
+
HPDF_GetVersion (void);
|
82
|
+
|
83
|
+
|
84
|
+
HPDF_EXPORT(HPDF_Doc)
|
85
|
+
HPDF_NewEx (HPDF_Error_Handler user_error_fn,
|
86
|
+
HPDF_Alloc_Func user_alloc_fn,
|
87
|
+
HPDF_Free_Func user_free_fn,
|
88
|
+
HPDF_UINT mem_pool_buf_size,
|
89
|
+
void *user_data);
|
90
|
+
|
91
|
+
HPDF_EXPORT(HPDF_Doc)
|
92
|
+
HPDF_New (HPDF_Error_Handler user_error_fn,
|
93
|
+
void *user_data);
|
94
|
+
|
95
|
+
|
96
|
+
HPDF_EXPORT(HPDF_STATUS)
|
97
|
+
HPDF_SetErrorHandler (HPDF_Doc pdf,
|
98
|
+
HPDF_Error_Handler user_error_fn);
|
99
|
+
|
100
|
+
|
101
|
+
HPDF_EXPORT(void)
|
102
|
+
HPDF_Free (HPDF_Doc pdf);
|
103
|
+
|
104
|
+
|
105
|
+
HPDF_EXPORT(HPDF_STATUS)
|
106
|
+
HPDF_NewDoc (HPDF_Doc pdf);
|
107
|
+
|
108
|
+
|
109
|
+
HPDF_EXPORT(void)
|
110
|
+
HPDF_FreeDoc (HPDF_Doc pdf);
|
111
|
+
|
112
|
+
|
113
|
+
HPDF_EXPORT(HPDF_BOOL)
|
114
|
+
HPDF_HasDoc (HPDF_Doc pdf);
|
115
|
+
|
116
|
+
|
117
|
+
HPDF_EXPORT(void)
|
118
|
+
HPDF_FreeDocAll (HPDF_Doc pdf);
|
119
|
+
|
120
|
+
|
121
|
+
HPDF_EXPORT(HPDF_STATUS)
|
122
|
+
HPDF_SaveToStream (HPDF_Doc pdf);
|
123
|
+
|
124
|
+
|
125
|
+
HPDF_EXPORT(HPDF_UINT32)
|
126
|
+
HPDF_GetStreamSize (HPDF_Doc pdf);
|
127
|
+
|
128
|
+
|
129
|
+
HPDF_EXPORT(HPDF_STATUS)
|
130
|
+
HPDF_ReadFromStream (HPDF_Doc pdf,
|
131
|
+
HPDF_BYTE *buf,
|
132
|
+
HPDF_UINT32 *size);
|
133
|
+
|
134
|
+
|
135
|
+
HPDF_EXPORT(HPDF_STATUS)
|
136
|
+
HPDF_ResetStream (HPDF_Doc pdf);
|
137
|
+
|
138
|
+
|
139
|
+
HPDF_EXPORT(HPDF_STATUS)
|
140
|
+
HPDF_SaveToFile (HPDF_Doc pdf,
|
141
|
+
const char *file_name);
|
142
|
+
|
143
|
+
|
144
|
+
HPDF_EXPORT(HPDF_STATUS)
|
145
|
+
HPDF_GetError (HPDF_Doc pdf);
|
146
|
+
|
147
|
+
|
148
|
+
HPDF_EXPORT(HPDF_STATUS)
|
149
|
+
HPDF_GetErrorDetail (HPDF_Doc pdf);
|
150
|
+
|
151
|
+
HPDF_EXPORT(void)
|
152
|
+
HPDF_ResetError (HPDF_Doc pdf);
|
153
|
+
|
154
|
+
|
155
|
+
HPDF_EXPORT(HPDF_STATUS)
|
156
|
+
HPDF_SetPagesConfiguration (HPDF_Doc pdf,
|
157
|
+
HPDF_UINT page_per_pages);
|
158
|
+
|
159
|
+
|
160
|
+
HPDF_EXPORT(HPDF_Page)
|
161
|
+
HPDF_GetPageByIndex (HPDF_Doc pdf,
|
162
|
+
HPDF_UINT index);
|
163
|
+
|
164
|
+
|
165
|
+
/*---------------------------------------------------------------------------*/
|
166
|
+
/*---------------------------------------------------------------------------*/
|
167
|
+
|
168
|
+
HPDF_EXPORT(HPDF_PageLayout)
|
169
|
+
HPDF_GetPageLayout (HPDF_Doc pdf);
|
170
|
+
|
171
|
+
|
172
|
+
HPDF_EXPORT(HPDF_STATUS)
|
173
|
+
HPDF_SetPageLayout (HPDF_Doc pdf,
|
174
|
+
HPDF_PageLayout layout);
|
175
|
+
|
176
|
+
|
177
|
+
HPDF_EXPORT(HPDF_PageMode)
|
178
|
+
HPDF_GetPageMode (HPDF_Doc pdf);
|
179
|
+
|
180
|
+
|
181
|
+
HPDF_EXPORT(HPDF_STATUS)
|
182
|
+
HPDF_SetPageMode (HPDF_Doc pdf,
|
183
|
+
HPDF_PageMode mode);
|
184
|
+
|
185
|
+
|
186
|
+
HPDF_EXPORT(HPDF_UINT)
|
187
|
+
HPDF_GetViewerPreference (HPDF_Doc pdf);
|
188
|
+
|
189
|
+
|
190
|
+
HPDF_EXPORT(HPDF_STATUS)
|
191
|
+
HPDF_SetViewerPreference (HPDF_Doc pdf,
|
192
|
+
HPDF_UINT value);
|
193
|
+
|
194
|
+
|
195
|
+
HPDF_EXPORT(HPDF_STATUS)
|
196
|
+
HPDF_SetOpenAction (HPDF_Doc pdf,
|
197
|
+
HPDF_Destination open_action);
|
198
|
+
|
199
|
+
|
200
|
+
/*---------------------------------------------------------------------------*/
|
201
|
+
/*----- page handling -------------------------------------------------------*/
|
202
|
+
|
203
|
+
|
204
|
+
HPDF_EXPORT(HPDF_Page)
|
205
|
+
HPDF_GetCurrentPage (HPDF_Doc pdf);
|
206
|
+
|
207
|
+
|
208
|
+
HPDF_EXPORT(HPDF_Page)
|
209
|
+
HPDF_AddPage (HPDF_Doc pdf);
|
210
|
+
|
211
|
+
|
212
|
+
HPDF_EXPORT(HPDF_Page)
|
213
|
+
HPDF_InsertPage (HPDF_Doc pdf,
|
214
|
+
HPDF_Page page);
|
215
|
+
|
216
|
+
|
217
|
+
HPDF_EXPORT(HPDF_STATUS)
|
218
|
+
HPDF_Page_SetWidth (HPDF_Page page,
|
219
|
+
HPDF_REAL value);
|
220
|
+
|
221
|
+
|
222
|
+
HPDF_EXPORT(HPDF_STATUS)
|
223
|
+
HPDF_Page_SetHeight (HPDF_Page page,
|
224
|
+
HPDF_REAL value);
|
225
|
+
|
226
|
+
|
227
|
+
HPDF_EXPORT(HPDF_STATUS)
|
228
|
+
HPDF_Page_SetSize (HPDF_Page page,
|
229
|
+
HPDF_PageSizes size,
|
230
|
+
HPDF_PageDirection direction);
|
231
|
+
|
232
|
+
HPDF_EXPORT(HPDF_STATUS)
|
233
|
+
HPDF_Page_SetRotate (HPDF_Page page,
|
234
|
+
HPDF_UINT16 angle);
|
235
|
+
|
236
|
+
/*---------------------------------------------------------------------------*/
|
237
|
+
/*----- font handling -------------------------------------------------------*/
|
238
|
+
|
239
|
+
|
240
|
+
HPDF_EXPORT(HPDF_Font)
|
241
|
+
HPDF_GetFont (HPDF_Doc pdf,
|
242
|
+
const char *font_name,
|
243
|
+
const char *encoding_name);
|
244
|
+
|
245
|
+
|
246
|
+
HPDF_EXPORT(const char*)
|
247
|
+
HPDF_LoadType1FontFromFile (HPDF_Doc pdf,
|
248
|
+
const char *afm_file_name,
|
249
|
+
const char *data_file_name);
|
250
|
+
|
251
|
+
|
252
|
+
HPDF_EXPORT(const char*)
|
253
|
+
HPDF_LoadTTFontFromFile (HPDF_Doc pdf,
|
254
|
+
const char *file_name,
|
255
|
+
HPDF_BOOL embedding);
|
256
|
+
|
257
|
+
|
258
|
+
HPDF_EXPORT(const char*)
|
259
|
+
HPDF_LoadTTFontFromFile2 (HPDF_Doc pdf,
|
260
|
+
const char *file_name,
|
261
|
+
HPDF_UINT index,
|
262
|
+
HPDF_BOOL embedding);
|
263
|
+
|
264
|
+
|
265
|
+
HPDF_EXPORT(HPDF_STATUS)
|
266
|
+
HPDF_AddPageLabel (HPDF_Doc pdf,
|
267
|
+
HPDF_UINT page_num,
|
268
|
+
HPDF_PageNumStyle style,
|
269
|
+
HPDF_UINT first_page,
|
270
|
+
const char *prefix);
|
271
|
+
|
272
|
+
|
273
|
+
HPDF_EXPORT(HPDF_STATUS)
|
274
|
+
HPDF_UseJPFonts (HPDF_Doc pdf);
|
275
|
+
|
276
|
+
|
277
|
+
HPDF_EXPORT(HPDF_STATUS)
|
278
|
+
HPDF_UseKRFonts (HPDF_Doc pdf);
|
279
|
+
|
280
|
+
|
281
|
+
HPDF_EXPORT(HPDF_STATUS)
|
282
|
+
HPDF_UseCNSFonts (HPDF_Doc pdf);
|
283
|
+
|
284
|
+
|
285
|
+
HPDF_EXPORT(HPDF_STATUS)
|
286
|
+
HPDF_UseCNTFonts (HPDF_Doc pdf);
|
287
|
+
|
288
|
+
|
289
|
+
/*--------------------------------------------------------------------------*/
|
290
|
+
/*----- outline ------------------------------------------------------------*/
|
291
|
+
|
292
|
+
|
293
|
+
HPDF_EXPORT(HPDF_Outline)
|
294
|
+
HPDF_CreateOutline (HPDF_Doc pdf,
|
295
|
+
HPDF_Outline parent,
|
296
|
+
const char *title,
|
297
|
+
HPDF_Encoder encoder);
|
298
|
+
|
299
|
+
|
300
|
+
HPDF_EXPORT(HPDF_STATUS)
|
301
|
+
HPDF_Outline_SetOpened (HPDF_Outline outline,
|
302
|
+
HPDF_BOOL opened);
|
303
|
+
|
304
|
+
|
305
|
+
HPDF_EXPORT(HPDF_STATUS)
|
306
|
+
HPDF_Outline_SetDestination (HPDF_Outline outline,
|
307
|
+
HPDF_Destination dst);
|
308
|
+
|
309
|
+
|
310
|
+
/*--------------------------------------------------------------------------*/
|
311
|
+
/*----- destination --------------------------------------------------------*/
|
312
|
+
|
313
|
+
HPDF_EXPORT(HPDF_Destination)
|
314
|
+
HPDF_Page_CreateDestination (HPDF_Page page);
|
315
|
+
|
316
|
+
|
317
|
+
HPDF_EXPORT(HPDF_STATUS)
|
318
|
+
HPDF_Destination_SetXYZ (HPDF_Destination dst,
|
319
|
+
HPDF_REAL left,
|
320
|
+
HPDF_REAL top,
|
321
|
+
HPDF_REAL zoom);
|
322
|
+
|
323
|
+
|
324
|
+
HPDF_EXPORT(HPDF_STATUS)
|
325
|
+
HPDF_Destination_SetFit (HPDF_Destination dst);
|
326
|
+
|
327
|
+
|
328
|
+
HPDF_EXPORT(HPDF_STATUS)
|
329
|
+
HPDF_Destination_SetFitH (HPDF_Destination dst,
|
330
|
+
HPDF_REAL top);
|
331
|
+
|
332
|
+
|
333
|
+
HPDF_EXPORT(HPDF_STATUS)
|
334
|
+
HPDF_Destination_SetFitV (HPDF_Destination dst,
|
335
|
+
HPDF_REAL left);
|
336
|
+
|
337
|
+
|
338
|
+
HPDF_EXPORT(HPDF_STATUS)
|
339
|
+
HPDF_Destination_SetFitR (HPDF_Destination dst,
|
340
|
+
HPDF_REAL left,
|
341
|
+
HPDF_REAL bottom,
|
342
|
+
HPDF_REAL right,
|
343
|
+
HPDF_REAL top);
|
344
|
+
|
345
|
+
|
346
|
+
HPDF_EXPORT(HPDF_STATUS)
|
347
|
+
HPDF_Destination_SetFitB (HPDF_Destination dst);
|
348
|
+
|
349
|
+
|
350
|
+
HPDF_EXPORT(HPDF_STATUS)
|
351
|
+
HPDF_Destination_SetFitBH (HPDF_Destination dst,
|
352
|
+
HPDF_REAL top);
|
353
|
+
|
354
|
+
|
355
|
+
HPDF_EXPORT(HPDF_STATUS)
|
356
|
+
HPDF_Destination_SetFitBV (HPDF_Destination dst,
|
357
|
+
HPDF_REAL left);
|
358
|
+
|
359
|
+
/*--------------------------------------------------------------------------*/
|
360
|
+
/*----- encoder ------------------------------------------------------------*/
|
361
|
+
|
362
|
+
HPDF_EXPORT(HPDF_Encoder)
|
363
|
+
HPDF_GetEncoder (HPDF_Doc pdf,
|
364
|
+
const char *encoding_name);
|
365
|
+
|
366
|
+
|
367
|
+
HPDF_EXPORT(HPDF_Encoder)
|
368
|
+
HPDF_GetCurrentEncoder (HPDF_Doc pdf);
|
369
|
+
|
370
|
+
|
371
|
+
HPDF_EXPORT(HPDF_STATUS)
|
372
|
+
HPDF_SetCurrentEncoder (HPDF_Doc pdf,
|
373
|
+
const char *encoding_name);
|
374
|
+
|
375
|
+
|
376
|
+
HPDF_EXPORT(HPDF_EncoderType)
|
377
|
+
HPDF_Encoder_GetType (HPDF_Encoder encoder);
|
378
|
+
|
379
|
+
|
380
|
+
HPDF_EXPORT(HPDF_ByteType)
|
381
|
+
HPDF_Encoder_GetByteType (HPDF_Encoder encoder,
|
382
|
+
const char *text,
|
383
|
+
HPDF_UINT index);
|
384
|
+
|
385
|
+
|
386
|
+
HPDF_EXPORT(HPDF_UNICODE)
|
387
|
+
HPDF_Encoder_GetUnicode (HPDF_Encoder encoder,
|
388
|
+
HPDF_UINT16 code);
|
389
|
+
|
390
|
+
|
391
|
+
HPDF_EXPORT(HPDF_WritingMode)
|
392
|
+
HPDF_Encoder_GetWritingMode (HPDF_Encoder encoder);
|
393
|
+
|
394
|
+
|
395
|
+
HPDF_EXPORT(HPDF_STATUS)
|
396
|
+
HPDF_UseJPEncodings (HPDF_Doc pdf);
|
397
|
+
|
398
|
+
|
399
|
+
|
400
|
+
HPDF_EXPORT(HPDF_STATUS)
|
401
|
+
HPDF_UseKREncodings (HPDF_Doc pdf);
|
402
|
+
|
403
|
+
|
404
|
+
|
405
|
+
HPDF_EXPORT(HPDF_STATUS)
|
406
|
+
HPDF_UseCNSEncodings (HPDF_Doc pdf);
|
407
|
+
|
408
|
+
|
409
|
+
|
410
|
+
HPDF_EXPORT(HPDF_STATUS)
|
411
|
+
HPDF_UseCNTEncodings (HPDF_Doc pdf);
|
412
|
+
|
413
|
+
|
414
|
+
/*--------------------------------------------------------------------------*/
|
415
|
+
/*----- annotation ---------------------------------------------------------*/
|
416
|
+
|
417
|
+
HPDF_EXPORT(HPDF_Annotation)
|
418
|
+
HPDF_Page_CreateTextAnnot (HPDF_Page page,
|
419
|
+
HPDF_Rect rect,
|
420
|
+
const char *text,
|
421
|
+
HPDF_Encoder encoder);
|
422
|
+
|
423
|
+
|
424
|
+
HPDF_EXPORT(HPDF_Annotation)
|
425
|
+
HPDF_Page_CreateLinkAnnot (HPDF_Page page,
|
426
|
+
HPDF_Rect rect,
|
427
|
+
HPDF_Destination dst);
|
428
|
+
|
429
|
+
|
430
|
+
HPDF_EXPORT(HPDF_Annotation)
|
431
|
+
HPDF_Page_CreateURILinkAnnot (HPDF_Page page,
|
432
|
+
HPDF_Rect rect,
|
433
|
+
const char *uri);
|
434
|
+
|
435
|
+
|
436
|
+
HPDF_EXPORT(HPDF_STATUS)
|
437
|
+
HPDF_LinkAnnot_SetHighlightMode (HPDF_Annotation annot,
|
438
|
+
HPDF_AnnotHighlightMode mode);
|
439
|
+
|
440
|
+
|
441
|
+
HPDF_EXPORT(HPDF_STATUS)
|
442
|
+
HPDF_LinkAnnot_SetBorderStyle (HPDF_Annotation annot,
|
443
|
+
HPDF_REAL width,
|
444
|
+
HPDF_UINT16 dash_on,
|
445
|
+
HPDF_UINT16 dash_off);
|
446
|
+
|
447
|
+
|
448
|
+
HPDF_EXPORT(HPDF_STATUS)
|
449
|
+
HPDF_TextAnnot_SetIcon (HPDF_Annotation annot,
|
450
|
+
HPDF_AnnotIcon icon);
|
451
|
+
|
452
|
+
|
453
|
+
HPDF_EXPORT(HPDF_STATUS)
|
454
|
+
HPDF_TextAnnot_SetOpened (HPDF_Annotation annot,
|
455
|
+
HPDF_BOOL opened);
|
456
|
+
|
457
|
+
|
458
|
+
|
459
|
+
/*--------------------------------------------------------------------------*/
|
460
|
+
/*----- image data ---------------------------------------------------------*/
|
461
|
+
|
462
|
+
HPDF_EXPORT(HPDF_Image)
|
463
|
+
HPDF_LoadPngImageFromFile (HPDF_Doc pdf,
|
464
|
+
const char *filename);
|
465
|
+
|
466
|
+
|
467
|
+
HPDF_EXPORT(HPDF_Image)
|
468
|
+
HPDF_LoadPngImageFromFile2 (HPDF_Doc pdf,
|
469
|
+
const char *filename);
|
470
|
+
|
471
|
+
|
472
|
+
HPDF_EXPORT(HPDF_Image)
|
473
|
+
HPDF_LoadJpegImageFromFile (HPDF_Doc pdf,
|
474
|
+
const char *filename);
|
475
|
+
|
476
|
+
|
477
|
+
HPDF_EXPORT(HPDF_Image)
|
478
|
+
HPDF_LoadRawImageFromFile (HPDF_Doc pdf,
|
479
|
+
const char *filename,
|
480
|
+
HPDF_UINT width,
|
481
|
+
HPDF_UINT height,
|
482
|
+
HPDF_ColorSpace color_space);
|
483
|
+
|
484
|
+
|
485
|
+
HPDF_EXPORT(HPDF_Image)
|
486
|
+
HPDF_LoadRawImageFromMem (HPDF_Doc pdf,
|
487
|
+
const HPDF_BYTE *buf,
|
488
|
+
HPDF_UINT width,
|
489
|
+
HPDF_UINT height,
|
490
|
+
HPDF_ColorSpace color_space,
|
491
|
+
HPDF_UINT bits_per_component);
|
492
|
+
|
493
|
+
|
494
|
+
HPDF_EXPORT(HPDF_Point)
|
495
|
+
HPDF_Image_GetSize (HPDF_Image image);
|
496
|
+
|
497
|
+
|
498
|
+
HPDF_EXPORT(HPDF_STATUS)
|
499
|
+
HPDF_Image_GetSize2 (HPDF_Image image, HPDF_Point *size);
|
500
|
+
|
501
|
+
|
502
|
+
HPDF_EXPORT(HPDF_UINT)
|
503
|
+
HPDF_Image_GetWidth (HPDF_Image image);
|
504
|
+
|
505
|
+
|
506
|
+
HPDF_EXPORT(HPDF_UINT)
|
507
|
+
HPDF_Image_GetHeight (HPDF_Image image);
|
508
|
+
|
509
|
+
|
510
|
+
HPDF_EXPORT(HPDF_UINT)
|
511
|
+
HPDF_Image_GetBitsPerComponent (HPDF_Image image);
|
512
|
+
|
513
|
+
|
514
|
+
HPDF_EXPORT(const char*)
|
515
|
+
HPDF_Image_GetColorSpace (HPDF_Image image);
|
516
|
+
|
517
|
+
|
518
|
+
HPDF_EXPORT(HPDF_STATUS)
|
519
|
+
HPDF_Image_SetColorMask (HPDF_Image image,
|
520
|
+
HPDF_UINT rmin,
|
521
|
+
HPDF_UINT rmax,
|
522
|
+
HPDF_UINT gmin,
|
523
|
+
HPDF_UINT gmax,
|
524
|
+
HPDF_UINT bmin,
|
525
|
+
HPDF_UINT bmax);
|
526
|
+
|
527
|
+
|
528
|
+
HPDF_EXPORT(HPDF_STATUS)
|
529
|
+
HPDF_Image_SetMaskImage (HPDF_Image image,
|
530
|
+
HPDF_Image mask_image);
|
531
|
+
|
532
|
+
|
533
|
+
/*--------------------------------------------------------------------------*/
|
534
|
+
/*----- info dictionary ----------------------------------------------------*/
|
535
|
+
|
536
|
+
|
537
|
+
HPDF_EXPORT(HPDF_STATUS)
|
538
|
+
HPDF_SetInfoAttr (HPDF_Doc pdf,
|
539
|
+
HPDF_InfoType type,
|
540
|
+
const char *value);
|
541
|
+
|
542
|
+
|
543
|
+
HPDF_EXPORT(const char*)
|
544
|
+
HPDF_GetInfoAttr (HPDF_Doc pdf,
|
545
|
+
HPDF_InfoType type);
|
546
|
+
|
547
|
+
|
548
|
+
HPDF_EXPORT(HPDF_STATUS)
|
549
|
+
HPDF_SetInfoDateAttr (HPDF_Doc pdf,
|
550
|
+
HPDF_InfoType type,
|
551
|
+
HPDF_Date value);
|
552
|
+
|
553
|
+
|
554
|
+
/*--------------------------------------------------------------------------*/
|
555
|
+
/*----- encryption ---------------------------------------------------------*/
|
556
|
+
|
557
|
+
HPDF_EXPORT(HPDF_STATUS)
|
558
|
+
HPDF_SetPassword (HPDF_Doc pdf,
|
559
|
+
const char *owner_passwd,
|
560
|
+
const char *user_passwd);
|
561
|
+
|
562
|
+
|
563
|
+
HPDF_EXPORT(HPDF_STATUS)
|
564
|
+
HPDF_SetPermission (HPDF_Doc pdf,
|
565
|
+
HPDF_UINT permission);
|
566
|
+
|
567
|
+
|
568
|
+
HPDF_EXPORT(HPDF_STATUS)
|
569
|
+
HPDF_SetEncryptionMode (HPDF_Doc pdf,
|
570
|
+
HPDF_EncryptMode mode,
|
571
|
+
HPDF_UINT key_len);
|
572
|
+
|
573
|
+
|
574
|
+
/*--------------------------------------------------------------------------*/
|
575
|
+
/*----- compression --------------------------------------------------------*/
|
576
|
+
|
577
|
+
HPDF_EXPORT(HPDF_STATUS)
|
578
|
+
HPDF_SetCompressionMode (HPDF_Doc pdf,
|
579
|
+
HPDF_UINT mode);
|
580
|
+
|
581
|
+
|
582
|
+
/*--------------------------------------------------------------------------*/
|
583
|
+
/*----- font ---------------------------------------------------------------*/
|
584
|
+
|
585
|
+
HPDF_EXPORT(const char*)
|
586
|
+
HPDF_Font_GetFontName (HPDF_Font font);
|
587
|
+
|
588
|
+
|
589
|
+
HPDF_EXPORT(const char*)
|
590
|
+
HPDF_Font_GetEncodingName (HPDF_Font font);
|
591
|
+
|
592
|
+
|
593
|
+
HPDF_EXPORT(HPDF_INT)
|
594
|
+
HPDF_Font_GetUnicodeWidth (HPDF_Font font,
|
595
|
+
HPDF_UNICODE code);
|
596
|
+
|
597
|
+
HPDF_EXPORT(HPDF_Box)
|
598
|
+
HPDF_Font_GetBBox (HPDF_Font font);
|
599
|
+
|
600
|
+
|
601
|
+
HPDF_EXPORT(HPDF_INT)
|
602
|
+
HPDF_Font_GetAscent (HPDF_Font font);
|
603
|
+
|
604
|
+
|
605
|
+
HPDF_EXPORT(HPDF_INT)
|
606
|
+
HPDF_Font_GetDescent (HPDF_Font font);
|
607
|
+
|
608
|
+
|
609
|
+
HPDF_EXPORT(HPDF_UINT)
|
610
|
+
HPDF_Font_GetXHeight (HPDF_Font font);
|
611
|
+
|
612
|
+
|
613
|
+
HPDF_EXPORT(HPDF_UINT)
|
614
|
+
HPDF_Font_GetCapHeight (HPDF_Font font);
|
615
|
+
|
616
|
+
|
617
|
+
HPDF_EXPORT(HPDF_TextWidth)
|
618
|
+
HPDF_Font_TextWidth (HPDF_Font font,
|
619
|
+
const HPDF_BYTE *text,
|
620
|
+
HPDF_UINT len);
|
621
|
+
|
622
|
+
|
623
|
+
HPDF_EXPORT(HPDF_UINT)
|
624
|
+
HPDF_Font_MeasureText (HPDF_Font font,
|
625
|
+
const HPDF_BYTE *text,
|
626
|
+
HPDF_UINT len,
|
627
|
+
HPDF_REAL width,
|
628
|
+
HPDF_REAL font_size,
|
629
|
+
HPDF_REAL char_space,
|
630
|
+
HPDF_REAL word_space,
|
631
|
+
HPDF_BOOL wordwrap,
|
632
|
+
HPDF_REAL *real_width);
|
633
|
+
|
634
|
+
|
635
|
+
/*--------------------------------------------------------------------------*/
|
636
|
+
/*----- extended graphics state --------------------------------------------*/
|
637
|
+
|
638
|
+
HPDF_EXPORT(HPDF_ExtGState)
|
639
|
+
HPDF_CreateExtGState (HPDF_Doc pdf);
|
640
|
+
|
641
|
+
|
642
|
+
HPDF_EXPORT(HPDF_STATUS)
|
643
|
+
HPDF_ExtGState_SetAlphaStroke (HPDF_ExtGState ext_gstate,
|
644
|
+
HPDF_REAL value);
|
645
|
+
|
646
|
+
|
647
|
+
HPDF_EXPORT(HPDF_STATUS)
|
648
|
+
HPDF_ExtGState_SetAlphaFill (HPDF_ExtGState ext_gstate,
|
649
|
+
HPDF_REAL value);
|
650
|
+
|
651
|
+
|
652
|
+
|
653
|
+
HPDF_EXPORT(HPDF_STATUS)
|
654
|
+
HPDF_ExtGState_SetBlendMode (HPDF_ExtGState ext_gstate,
|
655
|
+
HPDF_BlendMode mode);
|
656
|
+
|
657
|
+
|
658
|
+
/*--------------------------------------------------------------------------*/
|
659
|
+
/*--------------------------------------------------------------------------*/
|
660
|
+
|
661
|
+
HPDF_EXPORT(HPDF_REAL)
|
662
|
+
HPDF_Page_TextWidth (HPDF_Page page,
|
663
|
+
const char *text);
|
664
|
+
|
665
|
+
|
666
|
+
HPDF_EXPORT(HPDF_UINT)
|
667
|
+
HPDF_Page_MeasureText (HPDF_Page page,
|
668
|
+
const char *text,
|
669
|
+
HPDF_REAL width,
|
670
|
+
HPDF_BOOL wordwrap,
|
671
|
+
HPDF_REAL *real_width);
|
672
|
+
|
673
|
+
|
674
|
+
HPDF_EXPORT(HPDF_REAL)
|
675
|
+
HPDF_Page_GetWidth (HPDF_Page page);
|
676
|
+
|
677
|
+
|
678
|
+
HPDF_EXPORT(HPDF_REAL)
|
679
|
+
HPDF_Page_GetHeight (HPDF_Page page);
|
680
|
+
|
681
|
+
|
682
|
+
HPDF_EXPORT(HPDF_UINT16)
|
683
|
+
HPDF_Page_GetGMode (HPDF_Page page);
|
684
|
+
|
685
|
+
|
686
|
+
HPDF_EXPORT(HPDF_Point)
|
687
|
+
HPDF_Page_GetCurrentPos (HPDF_Page page);
|
688
|
+
|
689
|
+
|
690
|
+
HPDF_EXPORT(HPDF_STATUS)
|
691
|
+
HPDF_Page_GetCurrentPos2 (HPDF_Page page,
|
692
|
+
HPDF_Point *pos);
|
693
|
+
|
694
|
+
|
695
|
+
HPDF_EXPORT(HPDF_Point)
|
696
|
+
HPDF_Page_GetCurrentTextPos (HPDF_Page page);
|
697
|
+
|
698
|
+
|
699
|
+
HPDF_EXPORT(HPDF_STATUS)
|
700
|
+
HPDF_Page_GetCurrentTextPos2 (HPDF_Page page,
|
701
|
+
HPDF_Point *pos);
|
702
|
+
|
703
|
+
|
704
|
+
HPDF_EXPORT(HPDF_Font)
|
705
|
+
HPDF_Page_GetCurrentFont (HPDF_Page page);
|
706
|
+
|
707
|
+
|
708
|
+
HPDF_EXPORT(HPDF_REAL)
|
709
|
+
HPDF_Page_GetCurrentFontSize (HPDF_Page page);
|
710
|
+
|
711
|
+
|
712
|
+
HPDF_EXPORT(HPDF_TransMatrix)
|
713
|
+
HPDF_Page_GetTransMatrix (HPDF_Page page);
|
714
|
+
|
715
|
+
|
716
|
+
HPDF_EXPORT(HPDF_REAL)
|
717
|
+
HPDF_Page_GetLineWidth (HPDF_Page page);
|
718
|
+
|
719
|
+
|
720
|
+
HPDF_EXPORT(HPDF_LineCap)
|
721
|
+
HPDF_Page_GetLineCap (HPDF_Page page);
|
722
|
+
|
723
|
+
|
724
|
+
HPDF_EXPORT(HPDF_LineJoin)
|
725
|
+
HPDF_Page_GetLineJoin (HPDF_Page page);
|
726
|
+
|
727
|
+
|
728
|
+
HPDF_EXPORT(HPDF_REAL)
|
729
|
+
HPDF_Page_GetMiterLimit (HPDF_Page page);
|
730
|
+
|
731
|
+
|
732
|
+
HPDF_EXPORT(HPDF_DashMode)
|
733
|
+
HPDF_Page_GetDash (HPDF_Page page);
|
734
|
+
|
735
|
+
|
736
|
+
HPDF_EXPORT(HPDF_REAL)
|
737
|
+
HPDF_Page_GetFlat (HPDF_Page page);
|
738
|
+
|
739
|
+
|
740
|
+
HPDF_EXPORT(HPDF_REAL)
|
741
|
+
HPDF_Page_GetCharSpace (HPDF_Page page);
|
742
|
+
|
743
|
+
|
744
|
+
HPDF_EXPORT(HPDF_REAL)
|
745
|
+
HPDF_Page_GetWordSpace (HPDF_Page page);
|
746
|
+
|
747
|
+
|
748
|
+
HPDF_EXPORT(HPDF_REAL)
|
749
|
+
HPDF_Page_GetHorizontalScalling (HPDF_Page page);
|
750
|
+
|
751
|
+
|
752
|
+
HPDF_EXPORT(HPDF_REAL)
|
753
|
+
HPDF_Page_GetTextLeading (HPDF_Page page);
|
754
|
+
|
755
|
+
|
756
|
+
HPDF_EXPORT(HPDF_TextRenderingMode)
|
757
|
+
HPDF_Page_GetTextRenderingMode (HPDF_Page page);
|
758
|
+
|
759
|
+
|
760
|
+
/* This function is obsolete. Use HPDF_Page_GetTextRise. */
|
761
|
+
HPDF_EXPORT(HPDF_REAL)
|
762
|
+
HPDF_Page_GetTextRaise (HPDF_Page page);
|
763
|
+
|
764
|
+
|
765
|
+
HPDF_EXPORT(HPDF_REAL)
|
766
|
+
HPDF_Page_GetTextRise (HPDF_Page page);
|
767
|
+
|
768
|
+
|
769
|
+
HPDF_EXPORT(HPDF_RGBColor)
|
770
|
+
HPDF_Page_GetRGBFill (HPDF_Page page);
|
771
|
+
|
772
|
+
|
773
|
+
HPDF_EXPORT(HPDF_RGBColor)
|
774
|
+
HPDF_Page_GetRGBStroke (HPDF_Page page);
|
775
|
+
|
776
|
+
|
777
|
+
HPDF_EXPORT(HPDF_CMYKColor)
|
778
|
+
HPDF_Page_GetCMYKFill (HPDF_Page page);
|
779
|
+
|
780
|
+
|
781
|
+
HPDF_EXPORT(HPDF_CMYKColor)
|
782
|
+
HPDF_Page_GetCMYKStroke (HPDF_Page page);
|
783
|
+
|
784
|
+
|
785
|
+
HPDF_EXPORT(HPDF_REAL)
|
786
|
+
HPDF_Page_GetGrayFill (HPDF_Page page);
|
787
|
+
|
788
|
+
|
789
|
+
HPDF_EXPORT(HPDF_REAL)
|
790
|
+
HPDF_Page_GetGrayStroke (HPDF_Page page);
|
791
|
+
|
792
|
+
|
793
|
+
HPDF_EXPORT(HPDF_ColorSpace)
|
794
|
+
HPDF_Page_GetStrokingColorSpace (HPDF_Page page);
|
795
|
+
|
796
|
+
|
797
|
+
HPDF_EXPORT(HPDF_ColorSpace)
|
798
|
+
HPDF_Page_GetFillingColorSpace (HPDF_Page page);
|
799
|
+
|
800
|
+
|
801
|
+
HPDF_EXPORT(HPDF_TransMatrix)
|
802
|
+
HPDF_Page_GetTextMatrix (HPDF_Page page);
|
803
|
+
|
804
|
+
|
805
|
+
HPDF_EXPORT(HPDF_UINT)
|
806
|
+
HPDF_Page_GetGStateDepth (HPDF_Page page);
|
807
|
+
|
808
|
+
|
809
|
+
/*--------------------------------------------------------------------------*/
|
810
|
+
/*----- GRAPHICS OPERATORS -------------------------------------------------*/
|
811
|
+
|
812
|
+
|
813
|
+
/*--- General graphics state ---------------------------------------------*/
|
814
|
+
|
815
|
+
/* w */
|
816
|
+
HPDF_EXPORT(HPDF_STATUS)
|
817
|
+
HPDF_Page_SetLineWidth (HPDF_Page page,
|
818
|
+
HPDF_REAL line_width);
|
819
|
+
|
820
|
+
/* J */
|
821
|
+
HPDF_EXPORT(HPDF_STATUS)
|
822
|
+
HPDF_Page_SetLineCap (HPDF_Page page,
|
823
|
+
HPDF_LineCap line_cap);
|
824
|
+
|
825
|
+
/* j */
|
826
|
+
HPDF_EXPORT(HPDF_STATUS)
|
827
|
+
HPDF_Page_SetLineJoin (HPDF_Page page,
|
828
|
+
HPDF_LineJoin line_join);
|
829
|
+
|
830
|
+
/* M */
|
831
|
+
HPDF_EXPORT(HPDF_STATUS)
|
832
|
+
HPDF_Page_SetMiterLimit (HPDF_Page page,
|
833
|
+
HPDF_REAL miter_limit);
|
834
|
+
|
835
|
+
/* d */
|
836
|
+
HPDF_EXPORT(HPDF_STATUS)
|
837
|
+
HPDF_Page_SetDash (HPDF_Page page,
|
838
|
+
const HPDF_UINT16 *dash_ptn,
|
839
|
+
HPDF_UINT num_param,
|
840
|
+
HPDF_UINT phase);
|
841
|
+
|
842
|
+
|
843
|
+
|
844
|
+
/* ri --not implemented yet */
|
845
|
+
|
846
|
+
/* i */
|
847
|
+
HPDF_EXPORT(HPDF_STATUS)
|
848
|
+
HPDF_Page_SetFlat (HPDF_Page page,
|
849
|
+
HPDF_REAL flatness);
|
850
|
+
|
851
|
+
/* gs */
|
852
|
+
|
853
|
+
HPDF_EXPORT(HPDF_STATUS)
|
854
|
+
HPDF_Page_SetExtGState (HPDF_Page page,
|
855
|
+
HPDF_ExtGState ext_gstate);
|
856
|
+
|
857
|
+
|
858
|
+
/*--- Special graphic state operator --------------------------------------*/
|
859
|
+
|
860
|
+
/* q */
|
861
|
+
HPDF_EXPORT(HPDF_STATUS)
|
862
|
+
HPDF_Page_GSave (HPDF_Page page);
|
863
|
+
|
864
|
+
/* Q */
|
865
|
+
HPDF_EXPORT(HPDF_STATUS)
|
866
|
+
HPDF_Page_GRestore (HPDF_Page page);
|
867
|
+
|
868
|
+
/* cm */
|
869
|
+
HPDF_EXPORT(HPDF_STATUS)
|
870
|
+
HPDF_Page_Concat (HPDF_Page page,
|
871
|
+
HPDF_REAL a,
|
872
|
+
HPDF_REAL b,
|
873
|
+
HPDF_REAL c,
|
874
|
+
HPDF_REAL d,
|
875
|
+
HPDF_REAL x,
|
876
|
+
HPDF_REAL y);
|
877
|
+
|
878
|
+
/*--- Path construction operator ------------------------------------------*/
|
879
|
+
|
880
|
+
/* m */
|
881
|
+
HPDF_EXPORT(HPDF_STATUS)
|
882
|
+
HPDF_Page_MoveTo (HPDF_Page page,
|
883
|
+
HPDF_REAL x,
|
884
|
+
HPDF_REAL y);
|
885
|
+
|
886
|
+
/* l */
|
887
|
+
HPDF_EXPORT(HPDF_STATUS)
|
888
|
+
HPDF_Page_LineTo (HPDF_Page page,
|
889
|
+
HPDF_REAL x,
|
890
|
+
HPDF_REAL y);
|
891
|
+
|
892
|
+
/* c */
|
893
|
+
HPDF_EXPORT(HPDF_STATUS)
|
894
|
+
HPDF_Page_CurveTo (HPDF_Page page,
|
895
|
+
HPDF_REAL x1,
|
896
|
+
HPDF_REAL y1,
|
897
|
+
HPDF_REAL x2,
|
898
|
+
HPDF_REAL y2,
|
899
|
+
HPDF_REAL x3,
|
900
|
+
HPDF_REAL y3);
|
901
|
+
|
902
|
+
/* v */
|
903
|
+
HPDF_EXPORT(HPDF_STATUS)
|
904
|
+
HPDF_Page_CurveTo2 (HPDF_Page page,
|
905
|
+
HPDF_REAL x2,
|
906
|
+
HPDF_REAL y2,
|
907
|
+
HPDF_REAL x3,
|
908
|
+
HPDF_REAL y3);
|
909
|
+
|
910
|
+
/* y */
|
911
|
+
HPDF_EXPORT(HPDF_STATUS)
|
912
|
+
HPDF_Page_CurveTo3 (HPDF_Page page,
|
913
|
+
HPDF_REAL x1,
|
914
|
+
HPDF_REAL y1,
|
915
|
+
HPDF_REAL x3,
|
916
|
+
HPDF_REAL y3);
|
917
|
+
|
918
|
+
/* h */
|
919
|
+
HPDF_EXPORT(HPDF_STATUS)
|
920
|
+
HPDF_Page_ClosePath (HPDF_Page page);
|
921
|
+
|
922
|
+
/* re */
|
923
|
+
HPDF_EXPORT(HPDF_STATUS)
|
924
|
+
HPDF_Page_Rectangle (HPDF_Page page,
|
925
|
+
HPDF_REAL x,
|
926
|
+
HPDF_REAL y,
|
927
|
+
HPDF_REAL width,
|
928
|
+
HPDF_REAL height);
|
929
|
+
|
930
|
+
|
931
|
+
/*--- Path painting operator ---------------------------------------------*/
|
932
|
+
|
933
|
+
/* S */
|
934
|
+
HPDF_EXPORT(HPDF_STATUS)
|
935
|
+
HPDF_Page_Stroke (HPDF_Page page);
|
936
|
+
|
937
|
+
/* s */
|
938
|
+
HPDF_EXPORT(HPDF_STATUS)
|
939
|
+
HPDF_Page_ClosePathStroke (HPDF_Page page);
|
940
|
+
|
941
|
+
/* f */
|
942
|
+
HPDF_EXPORT(HPDF_STATUS)
|
943
|
+
HPDF_Page_Fill (HPDF_Page page);
|
944
|
+
|
945
|
+
/* f* */
|
946
|
+
HPDF_EXPORT(HPDF_STATUS)
|
947
|
+
HPDF_Page_Eofill (HPDF_Page page);
|
948
|
+
|
949
|
+
/* B */
|
950
|
+
HPDF_EXPORT(HPDF_STATUS)
|
951
|
+
HPDF_Page_FillStroke (HPDF_Page page);
|
952
|
+
|
953
|
+
/* B* */
|
954
|
+
HPDF_EXPORT(HPDF_STATUS)
|
955
|
+
HPDF_Page_EofillStroke (HPDF_Page page);
|
956
|
+
|
957
|
+
/* b */
|
958
|
+
HPDF_EXPORT(HPDF_STATUS)
|
959
|
+
HPDF_Page_ClosePathFillStroke (HPDF_Page page);
|
960
|
+
|
961
|
+
/* b* */
|
962
|
+
HPDF_EXPORT(HPDF_STATUS)
|
963
|
+
HPDF_Page_ClosePathEofillStroke (HPDF_Page page);
|
964
|
+
|
965
|
+
/* n */
|
966
|
+
HPDF_EXPORT(HPDF_STATUS)
|
967
|
+
HPDF_Page_EndPath (HPDF_Page page);
|
968
|
+
|
969
|
+
|
970
|
+
/*--- Clipping paths operator --------------------------------------------*/
|
971
|
+
|
972
|
+
/* W */
|
973
|
+
HPDF_EXPORT(HPDF_STATUS)
|
974
|
+
HPDF_Page_Clip (HPDF_Page page);
|
975
|
+
|
976
|
+
/* W* */
|
977
|
+
HPDF_EXPORT(HPDF_STATUS)
|
978
|
+
HPDF_Page_Eoclip (HPDF_Page page);
|
979
|
+
|
980
|
+
|
981
|
+
/*--- Text object operator -----------------------------------------------*/
|
982
|
+
|
983
|
+
/* BT */
|
984
|
+
HPDF_EXPORT(HPDF_STATUS)
|
985
|
+
HPDF_Page_BeginText (HPDF_Page page);
|
986
|
+
|
987
|
+
/* ET */
|
988
|
+
HPDF_EXPORT(HPDF_STATUS)
|
989
|
+
HPDF_Page_EndText (HPDF_Page page);
|
990
|
+
|
991
|
+
/*--- Text state ---------------------------------------------------------*/
|
992
|
+
|
993
|
+
/* Tc */
|
994
|
+
HPDF_EXPORT(HPDF_STATUS)
|
995
|
+
HPDF_Page_SetCharSpace (HPDF_Page page,
|
996
|
+
HPDF_REAL value);
|
997
|
+
|
998
|
+
/* Tw */
|
999
|
+
HPDF_EXPORT(HPDF_STATUS)
|
1000
|
+
HPDF_Page_SetWordSpace (HPDF_Page page,
|
1001
|
+
HPDF_REAL value);
|
1002
|
+
|
1003
|
+
/* Tz */
|
1004
|
+
HPDF_EXPORT(HPDF_STATUS)
|
1005
|
+
HPDF_Page_SetHorizontalScalling (HPDF_Page page,
|
1006
|
+
HPDF_REAL value);
|
1007
|
+
|
1008
|
+
/* TL */
|
1009
|
+
HPDF_EXPORT(HPDF_STATUS)
|
1010
|
+
HPDF_Page_SetTextLeading (HPDF_Page page,
|
1011
|
+
HPDF_REAL value);
|
1012
|
+
|
1013
|
+
/* Tf */
|
1014
|
+
HPDF_EXPORT(HPDF_STATUS)
|
1015
|
+
HPDF_Page_SetFontAndSize (HPDF_Page page,
|
1016
|
+
HPDF_Font font,
|
1017
|
+
HPDF_REAL size);
|
1018
|
+
|
1019
|
+
/* Tr */
|
1020
|
+
HPDF_EXPORT(HPDF_STATUS)
|
1021
|
+
HPDF_Page_SetTextRenderingMode (HPDF_Page page,
|
1022
|
+
HPDF_TextRenderingMode mode);
|
1023
|
+
|
1024
|
+
/* Ts */
|
1025
|
+
HPDF_EXPORT(HPDF_STATUS)
|
1026
|
+
HPDF_Page_SetTextRise (HPDF_Page page,
|
1027
|
+
HPDF_REAL value);
|
1028
|
+
|
1029
|
+
/* This function is obsolete. Use HPDF_Page_SetTextRise. */
|
1030
|
+
HPDF_EXPORT(HPDF_STATUS)
|
1031
|
+
HPDF_Page_SetTextRaise (HPDF_Page page,
|
1032
|
+
HPDF_REAL value);
|
1033
|
+
|
1034
|
+
/*--- Text positioning ---------------------------------------------------*/
|
1035
|
+
|
1036
|
+
/* Td */
|
1037
|
+
HPDF_EXPORT(HPDF_STATUS)
|
1038
|
+
HPDF_Page_MoveTextPos (HPDF_Page page,
|
1039
|
+
HPDF_REAL x,
|
1040
|
+
HPDF_REAL y);
|
1041
|
+
|
1042
|
+
/* TD */
|
1043
|
+
HPDF_EXPORT(HPDF_STATUS)
|
1044
|
+
HPDF_Page_MoveTextPos2 (HPDF_Page page,
|
1045
|
+
HPDF_REAL x,
|
1046
|
+
HPDF_REAL y);
|
1047
|
+
|
1048
|
+
/* Tm */
|
1049
|
+
HPDF_EXPORT(HPDF_STATUS)
|
1050
|
+
HPDF_Page_SetTextMatrix (HPDF_Page page,
|
1051
|
+
HPDF_REAL a,
|
1052
|
+
HPDF_REAL b,
|
1053
|
+
HPDF_REAL c,
|
1054
|
+
HPDF_REAL d,
|
1055
|
+
HPDF_REAL x,
|
1056
|
+
HPDF_REAL y);
|
1057
|
+
|
1058
|
+
|
1059
|
+
/* T* */
|
1060
|
+
HPDF_EXPORT(HPDF_STATUS)
|
1061
|
+
HPDF_Page_MoveToNextLine (HPDF_Page page);
|
1062
|
+
|
1063
|
+
/*--- Text showing -------------------------------------------------------*/
|
1064
|
+
|
1065
|
+
/* Tj */
|
1066
|
+
HPDF_EXPORT(HPDF_STATUS)
|
1067
|
+
HPDF_Page_ShowText (HPDF_Page page,
|
1068
|
+
const char *text);
|
1069
|
+
|
1070
|
+
/* TJ */
|
1071
|
+
|
1072
|
+
/* ' */
|
1073
|
+
HPDF_EXPORT(HPDF_STATUS)
|
1074
|
+
HPDF_Page_ShowTextNextLine (HPDF_Page page,
|
1075
|
+
const char *text);
|
1076
|
+
|
1077
|
+
/* " */
|
1078
|
+
HPDF_EXPORT(HPDF_STATUS)
|
1079
|
+
HPDF_Page_ShowTextNextLineEx (HPDF_Page page,
|
1080
|
+
HPDF_REAL word_space,
|
1081
|
+
HPDF_REAL char_space,
|
1082
|
+
const char *text);
|
1083
|
+
|
1084
|
+
|
1085
|
+
/*--- Color showing ------------------------------------------------------*/
|
1086
|
+
|
1087
|
+
/* cs --not implemented yet */
|
1088
|
+
/* CS --not implemented yet */
|
1089
|
+
/* sc --not implemented yet */
|
1090
|
+
/* scn --not implemented yet */
|
1091
|
+
/* SC --not implemented yet */
|
1092
|
+
/* SCN --not implemented yet */
|
1093
|
+
|
1094
|
+
/* g */
|
1095
|
+
HPDF_EXPORT(HPDF_STATUS)
|
1096
|
+
HPDF_Page_SetGrayFill (HPDF_Page page,
|
1097
|
+
HPDF_REAL gray);
|
1098
|
+
|
1099
|
+
/* G */
|
1100
|
+
HPDF_EXPORT(HPDF_STATUS)
|
1101
|
+
HPDF_Page_SetGrayStroke (HPDF_Page page,
|
1102
|
+
HPDF_REAL gray);
|
1103
|
+
|
1104
|
+
/* rg */
|
1105
|
+
HPDF_EXPORT(HPDF_STATUS)
|
1106
|
+
HPDF_Page_SetRGBFill (HPDF_Page page,
|
1107
|
+
HPDF_REAL r,
|
1108
|
+
HPDF_REAL g,
|
1109
|
+
HPDF_REAL b);
|
1110
|
+
|
1111
|
+
/* RG */
|
1112
|
+
HPDF_EXPORT(HPDF_STATUS)
|
1113
|
+
HPDF_Page_SetRGBStroke (HPDF_Page page,
|
1114
|
+
HPDF_REAL r,
|
1115
|
+
HPDF_REAL g,
|
1116
|
+
HPDF_REAL b);
|
1117
|
+
|
1118
|
+
/* k */
|
1119
|
+
HPDF_EXPORT(HPDF_STATUS)
|
1120
|
+
HPDF_Page_SetCMYKFill (HPDF_Page page,
|
1121
|
+
HPDF_REAL c,
|
1122
|
+
HPDF_REAL m,
|
1123
|
+
HPDF_REAL y,
|
1124
|
+
HPDF_REAL k);
|
1125
|
+
|
1126
|
+
/* K */
|
1127
|
+
HPDF_EXPORT(HPDF_STATUS)
|
1128
|
+
HPDF_Page_SetCMYKStroke (HPDF_Page page,
|
1129
|
+
HPDF_REAL c,
|
1130
|
+
HPDF_REAL m,
|
1131
|
+
HPDF_REAL y,
|
1132
|
+
HPDF_REAL k);
|
1133
|
+
|
1134
|
+
/*--- Shading patterns ---------------------------------------------------*/
|
1135
|
+
|
1136
|
+
/* sh --not implemented yet */
|
1137
|
+
|
1138
|
+
/*--- In-line images -----------------------------------------------------*/
|
1139
|
+
|
1140
|
+
/* BI --not implemented yet */
|
1141
|
+
/* ID --not implemented yet */
|
1142
|
+
/* EI --not implemented yet */
|
1143
|
+
|
1144
|
+
/*--- XObjects -----------------------------------------------------------*/
|
1145
|
+
|
1146
|
+
/* Do */
|
1147
|
+
HPDF_EXPORT(HPDF_STATUS)
|
1148
|
+
HPDF_Page_ExecuteXObject (HPDF_Page page,
|
1149
|
+
HPDF_XObject obj);
|
1150
|
+
|
1151
|
+
/*--- Marked content -----------------------------------------------------*/
|
1152
|
+
|
1153
|
+
/* BMC --not implemented yet */
|
1154
|
+
/* BDC --not implemented yet */
|
1155
|
+
/* EMC --not implemented yet */
|
1156
|
+
/* MP --not implemented yet */
|
1157
|
+
/* DP --not implemented yet */
|
1158
|
+
|
1159
|
+
/*--- Compatibility ------------------------------------------------------*/
|
1160
|
+
|
1161
|
+
/* BX --not implemented yet */
|
1162
|
+
/* EX --not implemented yet */
|
1163
|
+
|
1164
|
+
HPDF_EXPORT(HPDF_STATUS)
|
1165
|
+
HPDF_Page_DrawImage (HPDF_Page page,
|
1166
|
+
HPDF_Image image,
|
1167
|
+
HPDF_REAL x,
|
1168
|
+
HPDF_REAL y,
|
1169
|
+
HPDF_REAL width,
|
1170
|
+
HPDF_REAL height);
|
1171
|
+
|
1172
|
+
|
1173
|
+
HPDF_EXPORT(HPDF_STATUS)
|
1174
|
+
HPDF_Page_Circle (HPDF_Page page,
|
1175
|
+
HPDF_REAL x,
|
1176
|
+
HPDF_REAL y,
|
1177
|
+
HPDF_REAL ray);
|
1178
|
+
|
1179
|
+
|
1180
|
+
HPDF_EXPORT(HPDF_STATUS)
|
1181
|
+
HPDF_Page_Ellipse (HPDF_Page page,
|
1182
|
+
HPDF_REAL x,
|
1183
|
+
HPDF_REAL y,
|
1184
|
+
HPDF_REAL xray,
|
1185
|
+
HPDF_REAL yray);
|
1186
|
+
|
1187
|
+
|
1188
|
+
HPDF_EXPORT(HPDF_STATUS)
|
1189
|
+
HPDF_Page_Arc (HPDF_Page page,
|
1190
|
+
HPDF_REAL x,
|
1191
|
+
HPDF_REAL y,
|
1192
|
+
HPDF_REAL ray,
|
1193
|
+
HPDF_REAL ang1,
|
1194
|
+
HPDF_REAL ang2);
|
1195
|
+
|
1196
|
+
|
1197
|
+
HPDF_EXPORT(HPDF_STATUS)
|
1198
|
+
HPDF_Page_TextOut (HPDF_Page page,
|
1199
|
+
HPDF_REAL xpos,
|
1200
|
+
HPDF_REAL ypos,
|
1201
|
+
const char *text);
|
1202
|
+
|
1203
|
+
|
1204
|
+
HPDF_EXPORT(HPDF_STATUS)
|
1205
|
+
HPDF_Page_TextRect (HPDF_Page page,
|
1206
|
+
HPDF_REAL left,
|
1207
|
+
HPDF_REAL top,
|
1208
|
+
HPDF_REAL right,
|
1209
|
+
HPDF_REAL bottom,
|
1210
|
+
const char *text,
|
1211
|
+
HPDF_TextAlignment align,
|
1212
|
+
HPDF_UINT *len);
|
1213
|
+
|
1214
|
+
|
1215
|
+
HPDF_EXPORT(HPDF_STATUS)
|
1216
|
+
HPDF_Page_SetSlideShow (HPDF_Page page,
|
1217
|
+
HPDF_TransitionStyle type,
|
1218
|
+
HPDF_REAL disp_time,
|
1219
|
+
HPDF_REAL trans_time);
|
1220
|
+
|
1221
|
+
|
1222
|
+
#ifdef __cplusplus
|
1223
|
+
}
|
1224
|
+
#endif /* __cplusplus */
|
1225
|
+
|
1226
|
+
#endif /* _HPDF_H */
|
1227
|
+
|