hpdf 2.0.8-mswin32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (91) hide show
  1. data/History +57 -0
  2. data/License +25 -0
  3. data/README +136 -0
  4. data/docs/annotation_handling.html +503 -0
  5. data/docs/api.css +115 -0
  6. data/docs/api_reference.html +112 -0
  7. data/docs/bindings.html +242 -0
  8. data/docs/compile_your_program.html +365 -0
  9. data/docs/default.css +115 -0
  10. data/docs/destination_handling.html +620 -0
  11. data/docs/document_handling.html +4751 -0
  12. data/docs/documentation.html +110 -0
  13. data/docs/encoder_handling.html +428 -0
  14. data/docs/error_handling.html +1609 -0
  15. data/docs/examples.html +702 -0
  16. data/docs/ext_gstate.html +407 -0
  17. data/docs/font_handling.html +669 -0
  18. data/docs/fonts.html +978 -0
  19. data/docs/graphics.html +1210 -0
  20. data/docs/handles.html +204 -0
  21. data/docs/how_to_use.html +371 -0
  22. data/docs/image/Thumbs.db +0 -0
  23. data/docs/image/character_map.png +0 -0
  24. data/docs/image/encoding_list.png +0 -0
  25. data/docs/image/extgtate.png +0 -0
  26. data/docs/image/figure1.png +0 -0
  27. data/docs/image/figure10.png +0 -0
  28. data/docs/image/figure11.png +0 -0
  29. data/docs/image/figure12.png +0 -0
  30. data/docs/image/figure13.png +0 -0
  31. data/docs/image/figure14.png +0 -0
  32. data/docs/image/figure15.png +0 -0
  33. data/docs/image/figure16.png +0 -0
  34. data/docs/image/figure17.png +0 -0
  35. data/docs/image/figure18.png +0 -0
  36. data/docs/image/figure19.png +0 -0
  37. data/docs/image/figure2.png +0 -0
  38. data/docs/image/figure20.png +0 -0
  39. data/docs/image/figure21.png +0 -0
  40. data/docs/image/figure22.png +0 -0
  41. data/docs/image/figure23.png +0 -0
  42. data/docs/image/figure24.png +0 -0
  43. data/docs/image/figure25.png +0 -0
  44. data/docs/image/figure26.png +0 -0
  45. data/docs/image/figure27.png +0 -0
  46. data/docs/image/figure28.png +0 -0
  47. data/docs/image/figure3.png +0 -0
  48. data/docs/image/figure4.png +0 -0
  49. data/docs/image/figure5.png +0 -0
  50. data/docs/image/figure6.png +0 -0
  51. data/docs/image/figure7.png +0 -0
  52. data/docs/image/figure8.png +0 -0
  53. data/docs/image/figure9.png +0 -0
  54. data/docs/image/font_demo.png +0 -0
  55. data/docs/image/harulogo.png +0 -0
  56. data/docs/image/image_demo.png +0 -0
  57. data/docs/image/jpfont_demo.png +0 -0
  58. data/docs/image/line_demo.png +0 -0
  59. data/docs/image/png_demo.png +0 -0
  60. data/docs/image/text_annot.png +0 -0
  61. data/docs/image/text_demo.png +0 -0
  62. data/docs/image/text_demo2.png +0 -0
  63. data/docs/image/tt_font.png +0 -0
  64. data/docs/image_handling.html +505 -0
  65. data/docs/index.html +305 -0
  66. data/docs/install.html +243 -0
  67. data/docs/outline_handling.html +229 -0
  68. data/docs/page_handling.html +2647 -0
  69. data/docs/page_operator.html +2640 -0
  70. data/docs/useful_links.html +203 -0
  71. data/examples/arc_demo.rb +82 -0
  72. data/examples/demo.rb +91 -0
  73. data/examples/encryption.rb +41 -0
  74. data/examples/ext_gstater_demo.rb +171 -0
  75. data/examples/font_demo.rb +67 -0
  76. data/examples/jpfont_demo.rb +122 -0
  77. data/examples/line_demo.rb +301 -0
  78. data/examples/slide_show_demo.rb +139 -0
  79. data/examples/text_demo2.rb +189 -0
  80. data/examples/ttfont_demo.rb +106 -0
  81. data/lib/hpdf.so +0 -0
  82. data/tests/arc_demo.rb +82 -0
  83. data/tests/demo.rb +91 -0
  84. data/tests/encryption.rb +41 -0
  85. data/tests/ext_gstater_demo.rb +171 -0
  86. data/tests/font_demo.rb +67 -0
  87. data/tests/line_demo.rb +301 -0
  88. data/tests/slide_show_demo.rb +139 -0
  89. data/tests/test_all_examples.rb +31 -0
  90. data/tests/text_demo2.rb +189 -0
  91. metadata +137 -0
@@ -0,0 +1,4751 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
2
+ <html lang="en">
3
+ <head>
4
+ <title>Haru Free PDF Library</title>
5
+ <meta http-equiv="Content-Type"
6
+ content="text/html; charset=iso-8859-1">
7
+ <link href="api.css" type="text/css" rel="stylesheet">
8
+ </head>
9
+ <body>
10
+ <div id="headcontainer">
11
+ <div class="head"><img alt="Haru Free PDF Library"
12
+ src="image/harulogo.png" style="width: 413px; height: 40px;"></div>
13
+ </div>
14
+ <div id="barcontainer">
15
+ <div class="buildbar"><a href="index.html">home</a> | <a
16
+ href="http://sourceforge.net/project/showfiles.php?group_id=83044">download</a>
17
+ |
18
+ <a href="documentation.html">documentation</a> | <a
19
+ href="examples.html">examples </a>| <a
20
+ href="http://sourceforge.net/projects/libharu/">sourceforge</a> |
21
+ <a href="http://sourceforge.net/forum/?group_id=83044">forums</a><br>
22
+ </div>
23
+ </div>
24
+ <div id="container">
25
+ <div id="mainpage">
26
+ <div id="ccol">
27
+ <h2>Document Handling Functions<br>
28
+ </h2>
29
+ <h3><a name="HPDF_New_HPDF_NewEX_"></a>HPDF_New, HPDF_NewEX<br>
30
+ </h3>
31
+ <div class="bodytext1">
32
+ <div class="bodycode2"><span style="font-weight: bold;">#include</span>
33
+ "apdf.h"<br>
34
+ <br>
35
+ HPDF_Doc<br>
36
+ HPDF_New&nbsp; (HPDF_Error_Handler&nbsp;&nbsp;&nbsp; user_error_fn,<br>
37
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
38
+ <span style="font-weight: bold;">void</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
39
+ *user_data);<br>
40
+ <br>
41
+ HPDF_Doc<br>
42
+ HPDF_NewEx&nbsp; (HPDF_Error_Handler&nbsp;&nbsp; user_error_fn,<br>
43
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
44
+ HPDF_Alloc_Func&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; user_alloc_fn,<br>
45
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
46
+ HPDF_Free_Func&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; user_free_fn,<br>
47
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
48
+ HPDF_UINT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
49
+ mem_pool_buf_size,<br>
50
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
51
+ <span style="font-weight: bold;">void</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
52
+ *user_data);
53
+ </div>
54
+ <h4>Description<br>
55
+ </h4>
56
+ HPDF_New() and HPDF_NewEX() create an instance of a document object and
57
+ initialize it. <br>
58
+ <br>
59
+ <h4>Parameter</h4>
60
+ <span style="font-weight: bold;">user_error_fn</span>
61
+ <div class="bodytext5">Specify <a
62
+ href="error_handling.html#User-defined_error_handler_">user-defined
63
+ error handler</a> which is invoked when an error occurred.<br>
64
+ <br>
65
+ </div>
66
+ <span style="font-weight: bold;">user_alloc_fn</span>
67
+ <div class="bodytext5">Specify user-defined memory allocation
68
+ function. If NULL is specified,
69
+ malloc() is used.<br>
70
+ <br>
71
+ </div>
72
+ <span style="font-weight: bold;">user_free_fn</span>
73
+ <div class="bodytext5">Specify user-defined memory freeing function.
74
+ If NULL is specified,
75
+ free() is used.<br>
76
+ <br>
77
+ </div>
78
+ <span style="font-weight: bold;">mem_pool_buf_size</span>
79
+ <div class="bodytext5">On default setting, Haru does not use memory
80
+ pool. A memory allocation
81
+ function is called on demand from an application. If this parameter set
82
+ to non-zero value, a memory management will be done as following.<br>
83
+ <ul>
84
+ <li>A memory is allocated&nbsp; per mem_pool_buf_size.</li>
85
+ <li>Memory manager gives a memory of requested size to an
86
+ application. And pool the remaining memory to use at next request</li>
87
+ <li>If the size of requested memory is larger than the remaining
88
+ memory, a new memory block is allocated.</li>
89
+ <li>The unused memory is not released immediately. It is released all
90
+ together when HPDF_Free() is invoked.</li>
91
+ </ul>
92
+ </div>
93
+ <span style="font-weight: bold;">user_data</span>
94
+ <div class="bodytext5">Specify user-defind void pointer.This pointer
95
+ is used by error
96
+ handling.&nbsp; <br>
97
+ </div>
98
+ <br>
99
+ <h4>Returns</h4>
100
+ HPDF_New() and HPDF_NewEX() returns a handle of document object. If it
101
+ failed, it returns NULL.<br>
102
+ <br>
103
+ </div>
104
+ <h3><a name="HPDF_Free_"></a>HPDF_Free
105
+ </h3>
106
+ <div class="bodytext1">
107
+ <div class="bodycode2"><span style="font-weight: bold;">#include </span>"apdf.h"<br>
108
+ <br>
109
+ HPDF_Doc<br>
110
+ HPDF_Free&nbsp; (HPDF_Doc&nbsp;&nbsp; pdf);
111
+ </div>
112
+ <h4>Description<br>
113
+ </h4>
114
+ HPDF_Free() revokes a document object and all resources. <br>
115
+ <br>
116
+ <h4>Parameter</h4>
117
+ <span style="font-weight: bold;">pdf</span>
118
+ <div class="bodytext5">Specify the handle of a document object.</div>
119
+ <br>
120
+ </div>
121
+ <h3><a name="HPDF_NewDoc_"></a>HPDF_NewDoc
122
+ </h3>
123
+ <div class="bodytext1">
124
+ <div class="bodycode2">#<span style="font-weight: bold;">include </span>"apdf.h"<br>
125
+ <br>
126
+ HPDF_STATUS<br>
127
+ HPDF_NewDoc&nbsp; (HPDF_Doc&nbsp; pdf);<br>
128
+ </div>
129
+ <h4>Description<br>
130
+ </h4>
131
+ HPDF_NewDoc() creates new document. If document object already has a
132
+ document, the current document is revoked.<br>
133
+ <br>
134
+ <h4>Parameter</h4>
135
+ <span style="font-weight: bold;">pdf</span>
136
+ <div class="bodytext5">Specify the handle of a document object.<br>
137
+ </div>
138
+ <br>
139
+ <h4>Returns</h4>
140
+ When HPDF_NewDoc succeeds, it returns HPDF_OK. Otherwise, it returns
141
+ error-code and error-handler is called.<br>
142
+ &nbsp;<br>
143
+ <h4>Error</h4>
144
+ <span style="font-weight: bold;">HPDF_INVALID_DOCUMENT</span>
145
+ <div class="bodytext5">An invalid document handle is set.<br>
146
+ <br>
147
+ </div>
148
+ <span style="font-weight: bold;">HPDF_FAILD_TO_ALLOC_MEM</span>
149
+ <div class="bodytext5">Memory Allocation Failed.<br>
150
+ </div>
151
+ <br>
152
+ </div>
153
+ <h3><a name="HPDF_FreeDoc"></a>HPDF_FreeDoc&#12289;
154
+ HPDF_FreeDocAll
155
+ </h3>
156
+ <div class="bodytext1">
157
+ <div class="bodycode2"><span style="font-weight: bold;">#include</span>
158
+ &lt;apdf.h&gt;<br>
159
+ <br>
160
+ <span style="font-weight: bold;">void</span><br>
161
+ HPDF_FreeDoc&nbsp; (HPDF_Doc&nbsp;&nbsp; pdf);<br>
162
+ <br>
163
+ <span style="font-weight: bold;">void</span><br>
164
+ HPDF_FreeDocAll&nbsp; (HPDF_Doc&nbsp;&nbsp; pdf);<br>
165
+ </div>
166
+ <h4>Description<br>
167
+ </h4>
168
+ HPDF_FreeDoc(), HPDF_FreeDocAll() revokes the current document.
169
+ HPDF_FreeDoc() keeps loaded resource (such as fonts and encodings) and
170
+ these resources are recycled when new document required these
171
+ resources. HPDF_FreeDocAll() revokes the current document and all
172
+ resources.<br>
173
+ <br>
174
+ <h4>Parameter</h4>
175
+ <span style="font-weight: bold;">pdf</span>
176
+ <div class="bodytext5">Specify the handle of a document object.<br>
177
+ </div>
178
+ <br>
179
+ </div>
180
+ <h3><a name="HPDF_SaveToFile_"></a>HPDF_SaveToFile<br>
181
+ </h3>
182
+ <div class="bodytext1">
183
+ <div class="bodycode2"><span style="font-weight: bold;">#include </span>&lt;apdf.h&gt;<br>
184
+ <br>
185
+ HPDF_STATUS<br>
186
+ HPDF_SaveToFile&nbsp; (HPDF_Doc&nbsp;&nbsp;&nbsp;&nbsp; pdf,<br>
187
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
188
+ <span style="font-weight: bold;">const char</span>&nbsp; *file_name);<br>
189
+ </div>
190
+ <h4>Description<br>
191
+ </h4>
192
+ HPDF_SaveToFile() saves the current document to a file.<br>
193
+ <br>
194
+ <h4>Parameter</h4>
195
+ <span style="font-weight: bold;">pdf</span>
196
+ <div class="bodytext5">Specify the handle of a document object.<br>
197
+ <br>
198
+ </div>
199
+ <span style="font-weight: bold;">file_name</span>
200
+ <div class="bodytext5">Specify the name of file to save.<br>
201
+ </div>
202
+ <br>
203
+ <h4>Returns</h4>
204
+ When&nbsp;
205
+ HPDF_SaveToFile() succeeds, it returns HPDF_OK. Otherwise, it returns
206
+ error-code and error-handler is called.<br>
207
+ &nbsp;<br>
208
+ <h4>Error</h4>
209
+ <span style="font-weight: bold;">HPDF_INVALID_DOCUMENT</span>
210
+ <div class="bodytext5">An invalid document handle is set.<br>
211
+ <br>
212
+ </div>
213
+ <span style="font-weight: bold;">HPDF_FAILD_TO_ALLOC_MEM</span>
214
+ <br>
215
+ <div class="bodytext5">Memory Allocation Failed.<br>
216
+ <br>
217
+ </div>
218
+ <span style="font-weight: bold;">HPDF_FILE_IO_ERROR</span><br>
219
+ <div class="bodytext5">An error occurred while processing file I/O.<br>
220
+ <br>
221
+ </div>
222
+ </div>
223
+ <br>
224
+ <h3><a name="HPDF_SaveToStream_"></a>HPDF_SaveToStream<br>
225
+ </h3>
226
+ <div class="bodytext1">
227
+ <div class="bodycode2"><span style="font-weight: bold;">#include </span>&lt;apdf.h&gt;<br>
228
+ <br>
229
+ HPDF_STATUS<br>
230
+ HPDF_SaveToStream&nbsp; (HPDF_Doc&nbsp;&nbsp;&nbsp;&nbsp; pdf);<br>
231
+ </div>
232
+ <h4>Description<br>
233
+ </h4>
234
+ HPDF_SaveToStream() saves the current document to a temporary stream of
235
+ a document object.<br>
236
+ <br>
237
+ <h4>Parameter</h4>
238
+ <span style="font-weight: bold;">pdf</span>
239
+ <div class="bodytext5">Specify the handle of a document object.<br>
240
+ </div>
241
+ <br>
242
+ <h4>Returns</h4>
243
+ When&nbsp;
244
+ HPDF_SaveToStream() succeeds, it returns HPDF_OK. Otherwise, it returns
245
+ error-code and error-handler is called.<br>
246
+ &nbsp;<br>
247
+ <h4>Error</h4>
248
+ <span style="font-weight: bold;">HPDF_INVALID_DOCUMENT</span>
249
+ <div class="bodytext5">An invalid document handle is set.<br>
250
+ <br>
251
+ </div>
252
+ <span style="font-weight: bold;">HPDF_FAILD_TO_ALLOC_MEM</span>
253
+ <br>
254
+ <div class="bodytext5">Memory Allocation Failed.<br>
255
+ </div>
256
+ </div>
257
+ <br>
258
+ <h3><a name="HPDF_GetStreamSize_"></a>HPDF_GetStreamSize<br>
259
+ </h3>
260
+ <div class="bodytext1">
261
+ <div class="bodycode2"><span style="font-weight: bold;">#include </span>&lt;apdf.h&gt;<br>
262
+ <br>
263
+ HPDF_UINT32<br>
264
+ HPDF_GetStreamSize&nbsp; (HPDF_Doc&nbsp;&nbsp; pdf);<br>
265
+ </div>
266
+ <h4>Description<br>
267
+ </h4>
268
+ HPDF_GetStreamSize() gets the size of the temporary stream of the
269
+ document.<br>
270
+ <br>
271
+ <h4>Parameter</h4>
272
+ <span style="font-weight: bold;">pdf</span>
273
+ <div class="bodytext5">Specify the handle of a document object.<br>
274
+ </div>
275
+ <br>
276
+ <h4>Returns</h4>
277
+ When&nbsp;
278
+ HPDF_GetStreamSize() succeeds, it returns the size of the temporary
279
+ stream of the document. Otherwise, it returns 0.<br>
280
+ &nbsp;<br>
281
+ <h4>Error</h4>
282
+ <span style="font-weight: bold;">HPDF_INVALID_DOCUMENT</span>
283
+ <div class="bodytext5">An invalid document handle is set.<br>
284
+ </div>
285
+ </div>
286
+ <br>
287
+ <h3><a name="HPDF_ReadFromStream_"></a>HPDF_ReadFromStream<br>
288
+ </h3>
289
+ <div class="bodytext1">
290
+ <div class="bodycode2"><span style="font-weight: bold;">#include </span>&lt;apdf.h&gt;<br>
291
+ <br>
292
+ HPDF_STATUS<br>
293
+ HPDF_ReadFromStream&nbsp; (HPDF_Doc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
294
+ pdf,<br>
295
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
296
+ HPDF_BYTE&nbsp;&nbsp;&nbsp;&nbsp; *buf,<br>
297
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
298
+ HPDF_UINT32&nbsp;&nbsp; *size)<br>
299
+ </div>
300
+ <h4>Description<br>
301
+ </h4>
302
+ HPDF_ReadFromStream() copies the data from the temporary stream of the
303
+ document into the buffer.<br>
304
+ <br>
305
+ <h4>Parameter</h4>
306
+ <span style="font-weight: bold;">pdf</span>
307
+ <div class="bodytext5">Specify the handle of a document object.<br>
308
+ <br>
309
+ </div>
310
+ <span style="font-weight: bold;">buf</span><br>
311
+ <div class="bodytext5">A pointer of the buffer.<br>
312
+ <br>
313
+ </div>
314
+ <span style="font-weight: bold;">size</span><br>
315
+ <div class="bodytext5">Specifiy the size of buffer. After
316
+ HPDF_ReadFromStream() is execute, the number of bytes that succeeds in
317
+ reading is set.<br>
318
+ </div>
319
+ <br>
320
+ <h4>Returns</h4>
321
+ When&nbsp;
322
+ HPDF_ReadFromStream() succeeds, it returns HPDF_OK or HPDF_STREAM_EOF.
323
+ Otherwise, it returns error-code and error-handler is invoked.<br>
324
+ <br>
325
+ <div class="bodynote">NOTE:
326
+ <br>
327
+ Even if the result of HPDF_ReadFromStream() is HPDF_EOF, if the value
328
+ of size parameter is more than 0, data is read into the buffer. </div>
329
+ &nbsp;
330
+ <br>
331
+ <h4>Error</h4>
332
+ <span style="font-weight: bold;">HPDF_INVALID_DOCUMENT<br>
333
+ </span>
334
+ <div class="bodytext5">An invalid document handle is set.<br>
335
+ <br>
336
+ </div>
337
+ <span style="font-weight: bold;">HPDF_INVALID_OPERATION</span><br>
338
+ <div class="bodytext5">No data is saved to the temporary stream of the
339
+ document.<br>
340
+ <br>
341
+ </div>
342
+ <span style="font-weight: bold;">HPDF_INVALID_PARAMETER</span>
343
+ <div class="bodytext5">An invalid value was set to 'size' parameter.<br>
344
+ </div>
345
+ </div>
346
+ <br>
347
+ <h3><a name="HPDF_ResetStream_"></a>HPDF_ResetStream<br>
348
+ </h3>
349
+ <br>
350
+ <div class="bodytext1">
351
+ <div class="bodycode2"><span style="font-weight: bold;">#include </span>&lt;apdf.h&gt;<br>
352
+ <br>
353
+ HPDF_STATUS<br>
354
+ HPDF_ResetStream&nbsp; (HPDF_Doc&nbsp;&nbsp;&nbsp; pdf);<br>
355
+ <br>
356
+ </div>
357
+ <h4>Description<br>
358
+ </h4>
359
+ HPDF_ResetStream() rewinds the temporary stream of the document.<br>
360
+ <br>
361
+ <h4>Parameter</h4>
362
+ <span style="font-weight: bold;">pdf</span>
363
+ <div class="bodytext5">Specify the handle of a document object.<br>
364
+ </div>
365
+ <br>
366
+ <h4>Returns</h4>
367
+ When&nbsp;
368
+ HPDF_ResetStream() succeeds, it returns HPDF_OK.
369
+ Otherwise, it returns error-code and error-handler is invoked.<br>
370
+ &nbsp;
371
+ <br>
372
+ <h4>Error</h4>
373
+ <span style="font-weight: bold;">HPDF_INVALID_DOCUMENT
374
+ </span>
375
+ <div class="bodytext5">An invalid document handle is set.<br>
376
+ <br>
377
+ </div>
378
+ <span style="font-weight: bold;">HPDF_INVALID_OPERATION</span>
379
+ <div class="bodytext5">No data is saved to the temporary stream of the
380
+ document.<br>
381
+ </div>
382
+ <br>
383
+ </div>
384
+ <h3><a name="HPDF_HasDoc"></a>HPDF_HasDoc</h3>
385
+ <div class="bodytext1">
386
+ <div class="bodycode2"><span style="font-weight: bold;">#include</span>
387
+ &lt;apdf.h&gt;<br>
388
+ <br>
389
+ HPDF_BOOL<br>
390
+ HPDF_HasDoc&nbsp; (HPDF_Doc&nbsp; pdf);<br>
391
+ </div>
392
+ <h4>Description<br>
393
+ </h4>
394
+ HPDF_SaveToFile() saves the current document to a file.<br>
395
+ <br>
396
+ <h4>Parameter</h4>
397
+ <span style="font-weight: bold;">pdf</span>
398
+ <div class="bodytext5">Specify the handle of a document object.<br>
399
+ <br>
400
+ </div>
401
+ <span style="font-weight: bold;">file_name</span>
402
+ <div class="bodytext5">Specify the name of file to save.<br>
403
+ </div>
404
+ <br>
405
+ <h4>Returns</h4>
406
+ If the spacified document handle is valid, it returns HPDF_TRUE.
407
+ Otherwise, it returns
408
+ error-code and error-handler is called.<br>
409
+ &nbsp;<br>
410
+ <h4>Error</h4>
411
+ <span style="font-weight: bold;">HPDF_INVALID_DOCUMENT</span>
412
+ <div class="bodytext5">An invalid document handle is set.</div>
413
+ <br>
414
+ </div>
415
+ <h3><a name="HPDF_SetErrorHandler_"></a>HPDF_SetErrorHandler<br>
416
+ </h3>
417
+ <div class="bodytext1">
418
+ <div class="bodycode2"><span style="font-weight: bold;">#include</span>
419
+ &lt;apdf.h&gt;<br>
420
+ <br>
421
+ HPDF_STATUS<br>
422
+ HPDF_SetErrorHandler&nbsp;
423
+ (HPDF_Doc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
424
+ pdf,<br>
425
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
426
+ HPDF_Error_Handler&nbsp;&nbsp; user_error_fn);<br>
427
+ </div>
428
+ <h4>Description<br>
429
+ </h4>
430
+ HPDF_SetErrorHandler() sets an user-defined error handler. If a
431
+ function call fails,&nbsp; the function this error handler is called.<br>
432
+ <br>
433
+ <br>
434
+ <h4>Parameter</h4>
435
+ <span style="font-weight: bold;">pdf</span>
436
+ <div class="bodytext5">Specify the handle of a document object.<br>
437
+ <br>
438
+ </div>
439
+ <span style="font-weight: bold;">user_error_fn</span>
440
+ <div class="bodytext5">Specify <a
441
+ href="error_handling.html#User-defined_error_handler_">user-defined
442
+ error handler</a> which is invoked when an error occurred. If this
443
+ parameter is set to NULL, the error-handler which has been set is
444
+ revoked.
445
+ </div>
446
+ <br>
447
+ <h4>Returns</h4>
448
+ When&nbsp; HPDF_SaveToFile() succeeds, it returns HPDF_OK. Otherwise,
449
+ it returns error-code and error-handler is called.<br>
450
+ &nbsp;<br>
451
+ <h4>Error</h4>
452
+ <span style="font-weight: bold;">HPDF_INVALID_DOCUMENT</span>
453
+ <div class="bodytext5">An invalid document handle is set.</div>
454
+ <br>
455
+ </div>
456
+ <h3><a name="HPDF_GetError_"></a>HPDF_GetError<br>
457
+ </h3>
458
+ <div class="bodytext1">
459
+ <div class="bodycode2"><span style="font-weight: bold;">#include</span>
460
+ &lt;apdf.h&gt;<br>
461
+ <br>
462
+ HPDF_STATUS<br>
463
+ HPDF_GetError&nbsp; (HPDF_Doc&nbsp;&nbsp; pdf);<br>
464
+ <br>
465
+ </div>
466
+ <h4>Description<br>
467
+ </h4>
468
+ HPDF_GetError returns the last-error code of specified PdfDoc object.<br>
469
+ <br>
470
+ <h4>Parameter</h4>
471
+ <span style="font-weight: bold;">pdf</span>
472
+ <div class="bodytext5">Specify the handle of a document object</div>
473
+ <br>
474
+ <h4>Returns</h4>
475
+ HPDF_GetError returns the last-error code of specified PdfDoc object.<br>
476
+ If there is no error, it returns HPDF_OK.<br>
477
+ &nbsp;<br>
478
+ <h4>Error</h4>
479
+ <span style="font-weight: bold;">HPDF_INVALID_DOCUMENT</span>
480
+ <div class="bodytext5">An invalid document handle is set.</div>
481
+ <br>
482
+ </div>
483
+ <h3><a name="HPDF_ResetError_"></a>HPDF_ResetError<br>
484
+ </h3>
485
+ <div class="bodytext1">
486
+ <div class="bodycode2"><span style="font-weight: bold;">#include</span>
487
+ &lt;apdf.h&gt;<br>
488
+ <br>
489
+ <span style="font-weight: bold;">void</span><br>
490
+ HPDF_ResetError&nbsp; (HPDF_Doc&nbsp;&nbsp; pdf);<br>
491
+ <br>
492
+ </div>
493
+ <h4>Description<br>
494
+ </h4>
495
+ Once an error code is set, IO processing functions cannot be invoked.<br>
496
+ In the case of executing a function after the cause of the error is
497
+ fixed, an application have to invoke HPDF_ResetError to clear
498
+ error-code before executing functions.<br>
499
+ <br>
500
+ <h4>Parameter</h4>
501
+ <span style="font-weight: bold;">pdf</span>
502
+ <div class="bodytext5">Specify the handle of a document object</div>
503
+ <br>
504
+ </div>
505
+ <h3><a name="HPDF_SetPagesConfiguration_"></a>HPDF_SetPagesConfiguration<br>
506
+ </h3>
507
+ <div class="bodytext1">
508
+ <div class="bodycode2"><span style="font-weight: bold;">#include</span>
509
+ &lt;apdf.h&gt;<br>
510
+ <br>
511
+ HPDF_STATUS<br>
512
+ HPDF_SetPagesConfiguration&nbsp; (HPDF_Doc&nbsp;&nbsp;&nbsp; pdf,<br>
513
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
514
+ HPDF_UINT&nbsp;&nbsp; page_per_pages);<br>
515
+ <br>
516
+ </div>
517
+ <h4>Description<br>
518
+ </h4>
519
+ In the default setting, a HPDF_Doc object has one "Pages" object as
520
+ root of pages. All "Page" objects are created as a kid of the "Pages"
521
+ object.<br>
522
+ Since a "Pages" object can own only 8191 kids objects, the maximum
523
+ number of pages are 8191 page.<br>
524
+ <br>
525
+ <img alt="figure7.png" src="image/figure7.png"
526
+ style="width: 302px; height: 143px;"><br>
527
+ Additionally, the state that there are a lot of&nbsp; "Page" object
528
+ under one "Pages" object is not good, because it causes performance
529
+ degradation of&nbsp; a viewer application.<br>
530
+ &nbsp;<br>
531
+ An application can change the setting of a pages tree by invoking
532
+ HPDF_SetPagesConfiguration(). If page_per_pages parameter is set to
533
+ more than zero, a two-tier pages tree is created. A root "Pages" object
534
+ can own 8191 "Pages" object, and each lower "Pages" object can own
535
+ page_per_pages "Page" objects. As a result, the maximum number of pages
536
+ becomes 8191 * page_per_pages page.<br>
537
+ <br>
538
+ <img alt="figure8" src="image/figure8.png"
539
+ style="width: 471px; height: 202px;"><br>
540
+ An application cannot invoke HPDF_SetPageConfiguration() after a page
541
+ is
542
+ added to document.<br>
543
+ <br>
544
+ <h4>Parameter</h4>
545
+ <span style="font-weight: bold;">pdf</span>
546
+ <div class="bodytext5">Specify the handle of a document object.<br>
547
+ <br>
548
+ </div>
549
+ <span style="font-weight: bold;">page_per_pages</span><br>
550
+ <div class="bodytext5">Specify the numbers of pages that a "Pages"
551
+ object can own.<br>
552
+ </div>
553
+ <br>
554
+ <h4>Returns</h4>
555
+ When&nbsp; HPDF_SetPageConfiguration() succeeds, it returns HPDF_OK.
556
+ Otherwise,
557
+ it returns error-code and error-handler is called.<br>
558
+ &nbsp;<br>
559
+ <h4>Error</h4>
560
+ <span style="font-weight: bold;">HPDF_INVALID_DOCUMENT</span>
561
+ <div class="bodytext5">An invalid document handle is set.<br>
562
+ <br>
563
+ </div>
564
+ <span style="font-weight: bold;">HPDF_INVALID_DOCUMENT_STATE</span><br>
565
+ <div class="bodytext5">A page object already exists in a document.<br>
566
+ <br>
567
+ </div>
568
+ <span style="font-weight: bold;">HPDF_FAILD_TO_ALLOC_MEM</span>
569
+ <br>
570
+ <div class="bodytext5">Memory Allocation Failed.
571
+ </div>
572
+ </div>
573
+ <br>
574
+ <h3>HPDF_SetPageLayout<br>
575
+ </h3>
576
+ <div class="bodytext1">
577
+ <div class="bodycode2"><span style="font-weight: bold;">#include</span>
578
+ &lt;apdf.h&gt;<br>
579
+ <br>
580
+ HPDF_STATUS<br>
581
+ HPDF_SetPageLayout&nbsp;
582
+ (HPDF_Doc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pdf,<br>
583
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
584
+ HPDF_PageLayout&nbsp;&nbsp; layout);<br>
585
+ <br>
586
+ </div>
587
+ <h4>Description<br>
588
+ </h4>
589
+ HPDF_SetPageLayout() sets how the page should be displayed. If this
590
+ attribute is not set, the setting of a viewer application is used.<br>
591
+ <br>
592
+ <h4>Parameter</h4>
593
+ <span style="font-weight: bold;">pdf</span>
594
+ <div class="bodytext5">Specify the handle of a document object.<br>
595
+ <br>
596
+ </div>
597
+ <span style="font-weight: bold;">layout<br>
598
+ </span>
599
+ <div class="bodytext5">The following values are available.<br>
600
+ <table style="width: 100%; text-align: left;" border="1" cellpadding="2"
601
+ cellspacing="2">
602
+ <tbody>
603
+ <tr>
604
+ <td
605
+ style="vertical-align: top; background-color: rgb(204, 204, 204);"><span
606
+ style="font-weight: bold;">Value</span><br>
607
+ </td>
608
+ <td
609
+ style="vertical-align: top; background-color: rgb(204, 204, 204);"><span
610
+ style="font-weight: bold;">Description</span><br>
611
+ </td>
612
+ </tr>
613
+ <tr>
614
+ <td style="vertical-align: top;">HPDF_PAGE_LAYOUT_SINGLE<br>
615
+ </td>
616
+ <td style="vertical-align: top;">Only one page is displayed.<br>
617
+ </td>
618
+ </tr>
619
+ <tr>
620
+ <td style="vertical-align: top;">HPDF_PAGE_LAYOUT_ONE_COLUMN<br>
621
+ </td>
622
+ <td style="vertical-align: top;">Display the pages in one column.<br>
623
+ </td>
624
+ </tr>
625
+ <tr>
626
+ <td style="vertical-align: top;">HPDF_PAGE_LAYOUT_TWO_COLUMN_LEFT<br>
627
+ </td>
628
+ <td style="vertical-align: top;">Display the pages in two column.
629
+ The page of the odd number is displayed left. <br>
630
+ </td>
631
+ </tr>
632
+ <tr>
633
+ <td style="vertical-align: top;">HPDF_PAGE_LAYOUT_TWO_COLUMN_RIGHT<br>
634
+ </td>
635
+ <td style="vertical-align: top;">Display the pages in two column.
636
+ The page of the odd number is displayed right. <br>
637
+ </td>
638
+ </tr>
639
+ </tbody>
640
+ </table>
641
+ <br>
642
+ </div>
643
+ <h4>Returns</h4>
644
+ When HPDF_SetPageLayout() succeeds, it returns HPDF_OK.
645
+ Otherwise,
646
+ it returns error-code and error-handler is called.<br>
647
+ &nbsp;<br>
648
+ <h4>Error</h4>
649
+ <span style="font-weight: bold;">HPDF_INVALID_DOCUMENT</span>
650
+ <div class="bodytext5">An invalid document handle is set.<br>
651
+ <br>
652
+ </div>
653
+ <span style="font-weight: bold;">HPDF_FAILD_TO_ALLOC_MEM</span>
654
+ <br>
655
+ <div class="bodytext5">Memory Allocation Failed.<br>
656
+ <br>
657
+ </div>
658
+ <span style="font-weight: bold;">HPDF_PAGE_LAYOUT_OUT_OF_RANGE<br>
659
+ </span>
660
+ <div class="bodytext5">An invalid page layout is specified.<br>
661
+ </div>
662
+ </div>
663
+ <br>
664
+ <h3><a name="HPDF_GetPageLayout_"></a>HPDF_GetPageLayout<br>
665
+ </h3>
666
+ <div class="bodytext1">
667
+ <div class="bodycode2"><span style="font-weight: bold;">#include</span>
668
+ &lt;apdf.h&gt;<br>
669
+ <br>
670
+ HPDF_PageLayout<br>
671
+ HPDF_GetPageLayout&nbsp; (HPDF_Doc&nbsp;&nbsp; pdf);<br>
672
+ </div>
673
+ <h4>Description<br>
674
+ </h4>
675
+ HPDF_GetPageLayout() returns the current setting for page layout.<br>
676
+ <h4>Parameter</h4>
677
+ <span style="font-weight: bold;">pdf</span>
678
+ <div class="bodytext5">Specify the handle of a document object.<br>
679
+ </div>
680
+ <h4>Returns</h4>
681
+ When&nbsp; HPDF_GetPageLayout() succeeds, it returns the current
682
+ setting for page layout. If page layout is not set, it returns
683
+ HPDF_PAGE_LAYOUT_EOF<br>
684
+ </div>
685
+ <br>
686
+ <h3><a name="HPDF_SetPageMode_"></a>HPDF_SetPageMode<br>
687
+ </h3>
688
+ <div class="bodytext1">
689
+ <div class="bodycode2"><span style="font-weight: bold;">#include</span>
690
+ "apdf.h"<br>
691
+ <br>
692
+ HPDF_STATUS<br>
693
+ HPDF_SetPageMode&nbsp;
694
+ (HPDF_Doc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pdf,<br>
695
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
696
+ HPDF_PageMode&nbsp;&nbsp; mode);<br>
697
+ <br>
698
+ </div>
699
+ <h4>Description<br>
700
+ </h4>
701
+ HPDF_SetPageMode() sets how the document should be displayed. <br>
702
+ <br>
703
+ <h4>Parameter</h4>
704
+ <span style="font-weight: bold;">pdf</span>
705
+ <div class="bodytext5">Specify the handle of a document object.<br>
706
+ <br>
707
+ </div>
708
+ <span style="font-weight: bold;">mode<br>
709
+ </span>
710
+ <div class="bodytext5">The following values are available.<br>
711
+ <table style="width: 100%; text-align: left;" border="1" cellpadding="2"
712
+ cellspacing="2">
713
+ <tbody>
714
+ <tr>
715
+ <td
716
+ style="vertical-align: top; background-color: rgb(204, 204, 204);"><span
717
+ style="font-weight: bold;">Value</span><br>
718
+ </td>
719
+ <td
720
+ style="vertical-align: top; background-color: rgb(204, 204, 204);"><span
721
+ style="font-weight: bold;">Description</span><br>
722
+ </td>
723
+ </tr>
724
+ <tr>
725
+ <td style="vertical-align: top;">HPDF_PAGE_MODE_USE_NONE<br>
726
+ </td>
727
+ <td style="vertical-align: top;">Display the document with
728
+ neither outline nor thumbnail. </td>
729
+ </tr>
730
+ <tr>
731
+ <td style="vertical-align: top;">HPDF_PAGE_MODE_USE_OUTLINE<br>
732
+ </td>
733
+ <td style="vertical-align: top;">Display the document with
734
+ outline pain.<br>
735
+ </td>
736
+ </tr>
737
+ <tr>
738
+ <td style="vertical-align: top;">HPDF_PAGE_MODE_USE_THUMBS<br>
739
+ </td>
740
+ <td style="vertical-align: top;">Display the document with
741
+ thumbnail pain.<br>
742
+ </td>
743
+ </tr>
744
+ <tr>
745
+ <td style="vertical-align: top;">HPDF_PAGE_MODE_FULL_SCREEN<br>
746
+ </td>
747
+ <td style="vertical-align: top;">Display the document with full
748
+ screen mode. <br>
749
+ </td>
750
+ </tr>
751
+ </tbody>
752
+ </table>
753
+ <br>
754
+ </div>
755
+ <h4>Returns</h4>
756
+ When&nbsp; HPDF_SetPageMode() succeeds, it returns HPDF_OK.
757
+ Otherwise,
758
+ it returns error-code and error-handler is called.<br>
759
+ &nbsp;<br>
760
+ <h4>Error</h4>
761
+ <span style="font-weight: bold;">HPDF_INVALID_DOCUMENT</span>
762
+ <div class="bodytext5">An invalid document handle is set.<br>
763
+ <br>
764
+ </div>
765
+ <span style="font-weight: bold;">HPDF_FAILD_TO_ALLOC_MEM</span>
766
+ <br>
767
+ <div class="bodytext5">Memory Allocation Failed.<br>
768
+ <br>
769
+ </div>
770
+ <span style="font-weight: bold;">HPDF_PAGE_MODE_OUT_OF_RANGE<br>
771
+ </span>
772
+ <div class="bodytext5">An invalid page mode is specified.<br>
773
+ </div>
774
+ </div>
775
+ <br>
776
+ <h3><a name="HPDF_GetPageMode_"></a>HPDF_GetPageMode<br>
777
+ </h3>
778
+ <div class="bodytext1">
779
+ <div class="bodycode2"><span style="font-weight: bold;">#include</span>
780
+ "apdf.h"<br>
781
+ <br>
782
+ HPDF_PageMode<br>
783
+ HPDF_GetPageMode&nbsp; (HPDF_Doc&nbsp;&nbsp; pdf);<br>
784
+ </div>
785
+ <h4>Description<br>
786
+ </h4>
787
+ HPDF_GetPageLayout() returns the current setting for page mode.<br>
788
+ <h4>Parameter</h4>
789
+ <span style="font-weight: bold;">pdf</span>
790
+ <div class="bodytext5">Specify the handle of a document object.<br>
791
+ </div>
792
+ <h4>Returns</h4>
793
+ When&nbsp; HPDF_GetPageMode() succeeds, it returns the current
794
+ setting for page mode. <br>
795
+ </div>
796
+ <br>
797
+ <h3><a name="HPDF_SetOpenAction_"></a>HPDF_SetOpenAction<br>
798
+ </h3>
799
+ <div class="bodytext1">
800
+ <div class="bodycode2"><span style="font-weight: bold;">#include </span>&lt;apdf.h&gt;<br>
801
+ <br>
802
+ HPDF_STATUS<br>
803
+ HPDF_SetOpenAction&nbsp;
804
+ (HPDF_Doc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
805
+ pdf,<br>
806
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
807
+ HPDF_Destination&nbsp;&nbsp; open_action);<br>
808
+ </div>
809
+ <h4>Description<br>
810
+ </h4>
811
+ HPDF_SetOpenAction() set the first page appears when a document is
812
+ opened. <br>
813
+ <br>
814
+ <h4>Parameter</h4>
815
+ <span style="font-weight: bold;">pdf</span>
816
+ <div class="bodytext5">Specify the handle of a document object.<br>
817
+ <br>
818
+ </div>
819
+ <span style="font-weight: bold;">open_action</span>
820
+ <div class="bodytext5">Set a valid destination object.<br>
821
+ </div>
822
+ <br>
823
+ <h4>Returns</h4>
824
+ When&nbsp; HPDF_SetOpenAction() succeeds, it returns HPDF_OK.
825
+ Otherwise, it returns
826
+ error-code and error-handler is called.<br>
827
+ &nbsp;<br>
828
+ <h4>Error</h4>
829
+ <span style="font-weight: bold;">HPDF_INVALID_DOCUMENT</span>
830
+ <div class="bodytext5">An invalid document handle was set.<br>
831
+ <br>
832
+ </div>
833
+ <span style="font-weight: bold;">HPDF_FAILD_TO_ALLOC_MEM</span>
834
+ <br>
835
+ <div class="bodytext5">Memory Allocation Failed.<br>
836
+ <br>
837
+ </div>
838
+ <span style="font-weight: bold;">HPDF_INVALID_DESTINATION</span><br>
839
+ <div class="bodytext5">An invalid destination object was set.<br>
840
+ </div>
841
+ </div>
842
+ <br>
843
+ <h3><a name="HPDF_GetCurrentPage_"></a>HPDF_GetCurrentPage<br>
844
+ </h3>
845
+ <div class="bodytext1">
846
+ <div class="bodycode2"><span style="font-weight: bold;">#include</span>
847
+ &lt;apdf.h&gt;<br>
848
+ <br>
849
+ HPDF_Page<br>
850
+ HPDF_GetCurrentPage&nbsp; (HPDF_Doc&nbsp; pdf);<br>
851
+ </div>
852
+ <h4>Description<br>
853
+ </h4>
854
+ HPDF_GetPageLayout() returns the handle of current page object.<br>
855
+ <br>
856
+ <h4>Parameter</h4>
857
+ <span style="font-weight: bold;">pdf</span>
858
+ <div class="bodytext5">Specify the handle of a document object.<br>
859
+ </div>
860
+ <h4>Returns</h4>
861
+ When&nbsp; HPDF_GetPageLayout() succeeds, it returns the handle of a
862
+ current page object. Otherwise it returns NULL.<br>
863
+ </div>
864
+ <br>
865
+ <h3><a name="HPDF_AddPage"></a>HPDF_AddPage</h3>
866
+ <div class="bodytext1">
867
+ <div class="bodycode2"><span style="font-weight: bold;">#include </span>&lt;apdf.h&gt;<br>
868
+ <br>
869
+ HPDF_Page<br>
870
+ HPDF_AddPage&nbsp; (HPDF_Doc&nbsp;&nbsp; pdf);<br>
871
+ </div>
872
+ <h4>Description<br>
873
+ </h4>
874
+ HPDF_AddPage() creates a new page and adds it after the last page of a
875
+ document. <br>
876
+ <br>
877
+ <h4>Parameter</h4>
878
+ <span style="font-weight: bold;">pdf</span>
879
+ <div class="bodytext5">Specify the handle of a document object<br>
880
+ </div>
881
+ <br>
882
+ <h4>Returns</h4>
883
+ When&nbsp; HPDF_AddPage() succeeds, it returns the handle of created
884
+ page object. Otherwise, it returns
885
+ error-code and error-handler is called.<br>
886
+ &nbsp;<br>
887
+ <h4>Error</h4>
888
+ <span style="font-weight: bold;">HPDF_INVALID_DOCUMENT</span>
889
+ <div class="bodytext5">An invalid document handle was set.<br>
890
+ <br>
891
+ </div>
892
+ <span style="font-weight: bold;">HPDF_FAILD_TO_ALLOC_MEM</span>
893
+ <br>
894
+ <div class="bodytext5">Memory Allocation Failed.
895
+ </div>
896
+ </div>
897
+ <br>
898
+ <h3><a name="HPDF_InsertPage"></a>HPDF_InsertPage</h3>
899
+ <div class="bodytext1">
900
+ <div class="bodycode2"><span style="font-weight: bold;">#include </span>&lt;apdf.h&gt;<br>
901
+ <br>
902
+ HPDF_Page<br>
903
+ HPDF_InsertPage&nbsp; (HPDF_Doc&nbsp;&nbsp;&nbsp; pdf,<br>
904
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
905
+ HPDF_Page&nbsp;&nbsp; target)<br>
906
+ </div>
907
+ <h4>Description<br>
908
+ </h4>
909
+ HPDF_InsertPage() creates a new page and inserts it just before the
910
+ specified page. <br>
911
+ <br>
912
+ <h4>Parameter</h4>
913
+ <span style="font-weight: bold;">pdf</span>
914
+ <div class="bodytext5">Specify the handle of a document object.<br>
915
+ <br>
916
+ </div>
917
+ <span style="font-weight: bold;">page
918
+ </span>
919
+ <div class="bodytext5">Specify the handle of a page object which
920
+ specifies the insertion place.<br>
921
+ </div>
922
+ <br>
923
+ <h4>Returns</h4>
924
+ When&nbsp; HPDF_InsertPage() succeeds, it returns the handle of created
925
+ page object. Otherwise, it returns NULL and error-handler is called.<br>
926
+ &nbsp;<br>
927
+ <h4>Error</h4>
928
+ <span style="font-weight: bold;">HPDF_INVALID_DOCUMENT</span>
929
+ <div class="bodytext5">An invalid document handle was set.<br>
930
+ <br>
931
+ </div>
932
+ <span style="font-weight: bold;">HPDF_FAILD_TO_ALLOC_MEM</span><br>
933
+ <div class="bodytext5">Memory Allocation Failed.<br>
934
+ <br>
935
+ </div>
936
+ <span style="font-weight: bold;">HPDF_INVALID_PAGE</span><br>
937
+ <div class="bodytext5">An invalid page handle was set.
938
+ </div>
939
+ </div>
940
+ <br>
941
+ <h3><a name="HPDF_GetFont"></a>HPDF_GetFont</h3>
942
+ <div class="bodytext1">
943
+ <div class="bodycode2"><span style="font-weight: bold;">#include </span>"apdf.h"<br>
944
+ <br>
945
+ HPDF_Font<br>
946
+ HPDF_GetFont&nbsp; (HPDF_Doc&nbsp;&nbsp;&nbsp;&nbsp; pdf,<br>
947
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
948
+ <span style="font-weight: bold;">const </span>char&nbsp; *font_name,<br>
949
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
950
+ <span style="font-weight: bold;">const </span>char&nbsp;
951
+ *encoding_name);<br>
952
+ <br>
953
+ </div>
954
+ <h4>Description<br>
955
+ </h4>
956
+ HPDF_GetFont gets the handle of a corresponding font object by
957
+ specified name and encoding.<br>
958
+ <br>
959
+ <h4>Parameter</h4>
960
+ <span style="font-weight: bold;">pdf</span>
961
+ <div class="bodytext5">Specify the handle of a document object.<br>
962
+ <br>
963
+ </div>
964
+ <span style="font-weight: bold;">font_name
965
+ </span>
966
+ <div class="bodytext5">Specify a valid font name. (See "<a
967
+ href="fonts.html">Fonts and Encodings</a>")<br>
968
+ <br>
969
+ </div>
970
+ <span style="font-weight: bold;">encoding_name
971
+ </span><br>
972
+ <div class="bodytext5">Specify a valid encoding name. (See "<a
973
+ href="fonts.html">Fonts and Encodings</a>")<br>
974
+ <br>
975
+ </div>
976
+ <h4>Returns</h4>
977
+ When&nbsp; HPDF_GetFont() succeeds, it returns the handle of a font
978
+ object. Otherwise, it returns NULL and error-handler is called.<br>
979
+ &nbsp;<br>
980
+ <h4>Error</h4>
981
+ <span style="font-weight: bold;">HPDF_INVALID_DOCUMENT</span>
982
+ <div class="bodytext5">An invalid document handle was set.<br>
983
+ <br>
984
+ </div>
985
+ <span style="font-weight: bold;">HPDF_FAILD_TO_ALLOC_MEM</span><br>
986
+ <div class="bodytext5">Memory Allocation Failed.<br>
987
+ <br>
988
+ </div>
989
+ <span style="font-weight: bold;">HPDF_INVALID_FONT_NAME,
990
+ HPDF_UNSUPPORTED_FONT_TYPE
991
+ </span>
992
+ <div class="bodytext5">An invalid font name was set.<br>
993
+ <br>
994
+ </div>
995
+ <span style="font-weight: bold;">HPDF_INVALID_ENCODING_NAME</span><br>
996
+ <div class="bodytext5">An invalid encoding name was set.
997
+ </div>
998
+ </div>
999
+ <br>
1000
+ <h3><a name="HPDF_LoadType1FontFromFile"></a>HPDF_LoadType1FontFromFile</h3>
1001
+ <div class="bodytext1">
1002
+ <div class="bodycode2"><span style="font-weight: bold;">#include </span>"apdf.h"<br>
1003
+ <br>
1004
+ <span style="font-weight: bold;">const </span>char*<br>
1005
+ HPDF_LoadType1FontFromFile&nbsp; (HPDF_Doc&nbsp;&nbsp;&nbsp;&nbsp; pdf,<br>
1006
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1007
+ <span style="font-weight: bold;">const </span>char&nbsp; *afmfilename,<br>
1008
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1009
+ <span style="font-weight: bold;">const </span>char&nbsp; *pfmfilename);<br>
1010
+ <br>
1011
+ </div>
1012
+ <h4>Description<br>
1013
+ </h4>
1014
+ HPDF_LoadType1FontFromFile loads a type1 font from an external file and
1015
+ register it to a
1016
+ document object. (See "<a href="fonts.html">Fonts
1017
+ and Encodings</a>")<br>
1018
+ <br>
1019
+ <h4>Parameter</h4>
1020
+ <span style="font-weight: bold;">pdf</span>
1021
+ <div class="bodytext5">Specify the handle of a document object.<br>
1022
+ <br>
1023
+ </div>
1024
+ <span style="font-weight: bold;">afm_file_name
1025
+ </span>
1026
+ <div class="bodytext5">A path of an AFM file. <br>
1027
+ <br>
1028
+ </div>
1029
+ <span style="font-weight: bold;">data_file_name
1030
+ </span><br>
1031
+ <div class="bodytext5">A path of a PFA/PFB file. If it is NULL, the
1032
+ gryph data of font file is not embedded to a PDF file.<br>
1033
+ <br>
1034
+ </div>
1035
+ <h4>Returns</h4>
1036
+ When&nbsp; HPDF_LoadType1FontFromFile() succeeds, it returns the name
1037
+ of a font. Otherwise, it returns NULL and error-handler is called.<br>
1038
+ &nbsp;<br>
1039
+ <h4>Error</h4>
1040
+ <span style="font-weight: bold;">HPDF_INVALID_DOCUMENT</span>
1041
+ <div class="bodytext5">An invalid document handle was set.<br>
1042
+ <br>
1043
+ </div>
1044
+ <span style="font-weight: bold;">HPDF_FAILD_TO_ALLOC_MEM</span><br>
1045
+ <div class="bodytext5">Memory Allocation Failed.<br>
1046
+ <br>
1047
+ </div>
1048
+ <span style="font-weight: bold;">HPDF_FONT_EXISTS</span><br>
1049
+ <div class="bodytext5">The font of the same name has already been
1050
+ registered.<br>
1051
+ <br>
1052
+ </div>
1053
+ <span style="font-weight: bold;">HPDF_INVALID_AFM_HEADER,
1054
+ HPDF_INVALID_CHAR_MATRICS_DATA, HPDF_INVALID_N_DATA</span><br>
1055
+ <div class="bodytext5">Cannot recognize AFM file.<br>
1056
+ <br>
1057
+ </div>
1058
+ <span style="font-weight: bold;">HPDF_UNSUPPORTED_TYPE1_FONT</span><br>
1059
+ <div class="bodytext5">Cannot recognize PFA/PFB file.<br>
1060
+ </div>
1061
+ </div>
1062
+ <br>
1063
+ <h3><a name="HPDF_LoadTTFontFromFile"></a>HPDF_LoadTTFontFromFile</h3>
1064
+ <div class="bodytext1">
1065
+ <div class="bodycode2"><span style="font-weight: bold;">#include </span>"apdf.h"<br>
1066
+ <br>
1067
+ <span style="font-weight: bold;">const </span>char*<br>
1068
+ HPDF_LoadTTFontFromFile
1069
+ (HPDF_Doc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pdf,<br>
1070
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1071
+ <span style="font-weight: bold;">const </span>char&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1072
+ *file_name,<br>
1073
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1074
+ HPDF_BOOL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; embedding);<br>
1075
+ <br>
1076
+ </div>
1077
+ <h4>Description<br>
1078
+ </h4>
1079
+ HPDF_LoadTTFontFromFile loads a TrueType font from an external file and
1080
+ register it to a
1081
+ document object. (See "<a href="fonts.html">Fonts
1082
+ and Encodings</a>")<br>
1083
+ <br>
1084
+ <h4>Parameter</h4>
1085
+ <span style="font-weight: bold;">pdf</span>
1086
+ <div class="bodytext5">Specify the handle of a document object.<br>
1087
+ <br>
1088
+ </div>
1089
+ <span style="font-weight: bold;">file_name
1090
+ </span>
1091
+ <div class="bodytext5">A path of a TrueType font file (.ttf). <br>
1092
+ <br>
1093
+ </div>
1094
+ <span style="font-weight: bold;">embedding </span><br>
1095
+ <div class="bodytext5">If this parameter is set to HPDF_TRUE, the glyph
1096
+ data of the font is embedded, otherwise only the matrix data is
1097
+ included in PDF file.<br>
1098
+ <br>
1099
+ </div>
1100
+ <h4>Returns</h4>
1101
+ When&nbsp; HPDF_LoadTTFontFromFile() succeeds, it returns the name
1102
+ of a font. Otherwise, it returns NULL and error-handler is called.<br>
1103
+ &nbsp;<br>
1104
+ <h4>Error</h4>
1105
+ <span style="font-weight: bold;">HPDF_INVALID_DOCUMENT</span>
1106
+ <div class="bodytext5">An invalid document handle was set.<br>
1107
+ <br>
1108
+ </div>
1109
+ <span style="font-weight: bold;">HPDF_FAILD_TO_ALLOC_MEM</span><br>
1110
+ <div class="bodytext5">Memory Allocation Failed.<br>
1111
+ <br>
1112
+ </div>
1113
+ <span style="font-weight: bold;">HPDF_FONT_EXISTS</span><br>
1114
+ <div class="bodytext5">The font of the same name has already been
1115
+ registered.<br>
1116
+ <br>
1117
+ </div>
1118
+ <span style="font-weight: bold;">HPDF_INVALID_TTC_INDEX,
1119
+ HPDF_INVALID_TTC_FILE, HPDF_TTF_INVALID_CMAP, HPDF_TTF_INVALID_FOMAT,
1120
+ HPDF_TTF_MISSING_TABLE </span><br>
1121
+ <div class="bodytext5">Failed to load .ttf file.<br>
1122
+ <br>
1123
+ </div>
1124
+ <span style="font-weight: bold;">HPDF_TTF_CANNOT_EMBEDDING_FONT</span><br>
1125
+ <div class="bodytext5">The font is not allowed to embed.<br>
1126
+ <br>
1127
+ </div>
1128
+ <br>
1129
+ </div>
1130
+ <h3><a name="HPDF_LoadTTFontFromFile2"></a>HPDF_LoadTTFontFromFile2</h3>
1131
+ <div class="bodytext1">
1132
+ <div class="bodycode2"><span style="font-weight: bold;">#include </span>"apdf.h"<br>
1133
+ <br>
1134
+ HPDF_STATUS<br>
1135
+ HPDF_LoadTTFontFromFile2 (HPDF_Doc&nbsp;&nbsp;&nbsp;&nbsp; pdf,<br>
1136
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1137
+ <span style="font-weight: bold;">const </span>char&nbsp; *file_name,<br>
1138
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1139
+ HPDF_UINT&nbsp;&nbsp;&nbsp; index,<br>
1140
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1141
+ HPDF_BOOL&nbsp;&nbsp;&nbsp; embedding);<br>
1142
+ <br>
1143
+ </div>
1144
+ <h4>Description<br>
1145
+ </h4>
1146
+ HPDF_LoadTTFontFromFile2 loads a TrueType font from an TrueType
1147
+ collection file and register it to a
1148
+ document object. (See "<a href="fonts.html">Fonts
1149
+ and Encodings</a>")<br>
1150
+ <br>
1151
+ <h4>Parameter</h4>
1152
+ <span style="font-weight: bold;">pdf</span>
1153
+ <div class="bodytext5">Specify the handle of a document object.<br>
1154
+ <br>
1155
+ </div>
1156
+ <span style="font-weight: bold;">file_name
1157
+ </span>
1158
+ <div class="bodytext5">A path of a TrueType font collection file
1159
+ (.ttc). <br>
1160
+ <br>
1161
+ </div>
1162
+ <span style="font-weight: bold;">index
1163
+ </span>
1164
+ <div class="bodytext5">The index of font that wants to be loaded. <br>
1165
+ <br>
1166
+ </div>
1167
+ <span style="font-weight: bold;">embedding </span><br>
1168
+ <div class="bodytext5">If this parameter is set to HPDF_TRUE, the glyph
1169
+ data of the font is embedded, otherwise only the matrix data is
1170
+ included in PDF file.<br>
1171
+ <br>
1172
+ </div>
1173
+ <h4>Returns</h4>
1174
+ When&nbsp; HPDF_LoadTTFontFromFile2() succeeds, it returns the name
1175
+ of a font. Otherwise, it returns NULL and error-handler is called.<br>
1176
+ &nbsp;<br>
1177
+ <h4>Error</h4>
1178
+ <span style="font-weight: bold;">HPDF_INVALID_DOCUMENT</span>
1179
+ <div class="bodytext5">An invalid document handle was set.<br>
1180
+ <br>
1181
+ </div>
1182
+ <span style="font-weight: bold;">HPDF_FAILD_TO_ALLOC_MEM</span><br>
1183
+ <div class="bodytext5">Memory Allocation Failed.<br>
1184
+ <br>
1185
+ </div>
1186
+ <span style="font-weight: bold;">HPDF_FONT_EXISTS</span><br>
1187
+ <div class="bodytext5">The font of the same name has already been
1188
+ registered.<br>
1189
+ <br>
1190
+ </div>
1191
+ <span style="font-weight: bold;">HPDF_INVALID_TTC_INDEX,
1192
+ HPDF_INVALID_TTC_FILE, HPDF_TTF_INVALID_CMAP, HPDF_TTF_INVALID_FOMAT,
1193
+ HPDF_TTF_MISSING_TABLE </span><br>
1194
+ <div class="bodytext5">Failed to load .ttf file.<br>
1195
+ <br>
1196
+ </div>
1197
+ <span style="font-weight: bold;">HPDF_TTF_CANNOT_EMBEDDING_FONT</span><br>
1198
+ <div class="bodytext5">The font is not allowed to embed.<br>
1199
+ </div>
1200
+ <br>
1201
+ <span style="font-weight: bold;">HPDF_INVALID_TTC_INDEX</span><br>
1202
+ <div class="bodytext5">The value specified at index parameter exceeds
1203
+ the number of fonts. &nbsp;<br>
1204
+ </div>
1205
+ <br>
1206
+ </div>
1207
+ <br>
1208
+ <h3><a name="HPDF_AddPageLabel"></a>HPDF_AddPageLabel</h3>
1209
+ <div class="bodytext1">
1210
+ <div class="bodycode2"><span style="font-weight: bold;">#include </span>"apdf.h"<br>
1211
+ <br>
1212
+ HPDF_STATUS<br>
1213
+ HPDF_AddPageLabel&nbsp;
1214
+ (HPDF_Doc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1215
+ pdf,<br>
1216
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1217
+ HPDF_UINT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1218
+ page_num,<br>
1219
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1220
+ HPDF_PageNumStyle&nbsp;&nbsp; style,<br>
1221
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1222
+ HPDF_UINT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1223
+ first_page,<br>
1224
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1225
+ <span style="font-weight: bold;">const </span>char&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1226
+ *prefix);<br>
1227
+ <br>
1228
+ </div>
1229
+ <h4>Description<br>
1230
+ </h4>
1231
+ HPDF_AddPageLabel() adds a page labeling range for the document.<br>
1232
+ <br>
1233
+ <h4>Parameter</h4>
1234
+ <span style="font-weight: bold;">pdf</span>
1235
+ <div class="bodytext5">The handle of a document object.<br>
1236
+ <br>
1237
+ </div>
1238
+ <span style="font-weight: bold;">page_num
1239
+ </span>
1240
+ <div class="bodytext5">The first page that applies this labeling range.
1241
+ <br>
1242
+ <br>
1243
+ </div>
1244
+ <span style="font-weight: bold;">style
1245
+ </span>
1246
+ <div class="bodytext5">The numbering style.<br>
1247
+ <table style="width: 100%; text-align: left;" border="1" cellpadding="1"
1248
+ cellspacing="1">
1249
+ <tbody>
1250
+ <tr>
1251
+ <td
1252
+ style="vertical-align: top; background-color: rgb(204, 204, 204); width: 23px;"><br>
1253
+ </td>
1254
+ <td
1255
+ style="vertical-align: top; background-color: rgb(204, 204, 204); width: 300px;">Value<br>
1256
+ </td>
1257
+ <td
1258
+ style="vertical-align: top; background-color: rgb(204, 204, 204);">Description<br>
1259
+ </td>
1260
+ </tr>
1261
+ <tr>
1262
+ <td style="vertical-align: top; width: 23px; text-align: right;">1<br>
1263
+ </td>
1264
+ <td style="vertical-align: top; width: 300px;">HPDF_PAGE_NUM_STYLE_DECIMAL<br>
1265
+ </td>
1266
+ <td style="vertical-align: top;">Page label is displayed by
1267
+ Arabic numerals.<br>
1268
+ </td>
1269
+ </tr>
1270
+ <tr>
1271
+ <td style="vertical-align: top; width: 23px; text-align: right;">2<br>
1272
+ </td>
1273
+ <td style="vertical-align: top; width: 300px;">HPDF_PAGE_NUM_STYLE_UPPER_ROMAN<br>
1274
+ </td>
1275
+ <td style="vertical-align: top;">Page label is displayed by
1276
+ Uppercase roman numerals.<br>
1277
+ </td>
1278
+ </tr>
1279
+ <tr>
1280
+ <td style="vertical-align: top; text-align: right;">3<br>
1281
+ </td>
1282
+ <td style="vertical-align: top; width: 300px;">HPDF_PAGE_NUM_STYLE_LOWER_ROMAN<br>
1283
+ </td>
1284
+ <td style="vertical-align: top;">Page label is displayed by
1285
+ Lowercase roman numerals.<br>
1286
+ </td>
1287
+ </tr>
1288
+ <tr>
1289
+ <td style="vertical-align: top; text-align: right;">4<br>
1290
+ </td>
1291
+ <td style="vertical-align: top; width: 300px;">HPDF_PAGE_NUM_STYLE_UPPER_LETTERS<br>
1292
+ </td>
1293
+ <td style="vertical-align: top;">Page label is displayed by
1294
+ Uppercase letters (using A to Z).<br>
1295
+ </td>
1296
+ </tr>
1297
+ <tr>
1298
+ <td style="vertical-align: top; text-align: right;">5<br>
1299
+ </td>
1300
+ <td style="vertical-align: top; width: 300px;">HPDF_PAGE_NUM_STYLE_LOWER_LETTERS<br>
1301
+ </td>
1302
+ <td style="vertical-align: top;">Page label is displayed by
1303
+ Lowercase letters (using a to z).</td>
1304
+ </tr>
1305
+ </tbody>
1306
+ </table>
1307
+ <br>
1308
+ </div>
1309
+ <span style="font-weight: bold;">first_page </span>
1310
+ <div class="bodytext5">The first page number in this range. <br>
1311
+ <br>
1312
+ </div>
1313
+ <span style="font-weight: bold;">prefix </span>
1314
+ <div class="bodytext5">The prefix for the page label. (NULL is
1315
+ allowed.) <br>
1316
+ <br>
1317
+ </div>
1318
+ <h4>Returns</h4>
1319
+ When&nbsp; HPDF_AddPageLabel () succeeds, it returns HPDF_OK.
1320
+ Otherwise, it returns error code and error-handler is invoked.<br>
1321
+ &nbsp;<br>
1322
+ <h4>Error</h4>
1323
+ <span style="font-weight: bold;">HPDF_INVALID_DOCUMENT</span>
1324
+ <div class="bodytext5">An invalid document handle was set.<br>
1325
+ <br>
1326
+ </div>
1327
+ <span style="font-weight: bold;">HPDF_FAILD_TO_ALLOC_MEM</span><br>
1328
+ <div class="bodytext5">Memory Allocation Failed.<br>
1329
+ <br>
1330
+ </div>
1331
+ <span style="font-weight: bold;">HPDF_PAGE_NUM_STYLE_OUT_OF_RANGE</span><br>
1332
+ <div class="bodytext5">An invalid page numbering style is specified.<br>
1333
+ <br>
1334
+ </div>
1335
+ </div>
1336
+ <br>
1337
+ <h3><a name="HPDF_UseJPFonts"></a>HPDF_UseJPFonts</h3>
1338
+ <div class="bodytext1">
1339
+ <div class="bodycode2"><span style="font-weight: bold;">#include </span>"apdf.h"<br>
1340
+ <br>
1341
+ HPDF_STATUS<br>
1342
+ HPDF_UseJPFonts&nbsp;&nbsp; (HPDF_Doc&nbsp;&nbsp; pdf);<br>
1343
+ <br>
1344
+ </div>
1345
+ <h4>Description<br>
1346
+ </h4>
1347
+ HPDF_UseJPFonts() enables Japanese fonts. After HPDF_UseJPFonts() is
1348
+ involed, an application can use the following Japanese fonts.<br>
1349
+ <ul>
1350
+ <li>MS-Mincyo</li>
1351
+ <li>MS-Mincyo,Bold</li>
1352
+ <li>MS-Mincyo,Italic</li>
1353
+ <li>MS-Mincyo,BoldItalic</li>
1354
+ <li>MS-Gothic</li>
1355
+ <li>MS-Gothic,Bold</li>
1356
+ <li>MS-Gothic,Italic</li>
1357
+ <li>MS-Gothic,BoldItalic</li>
1358
+ <li>MS-PMincyo</li>
1359
+ <li>MS-PMincyo,Bold</li>
1360
+ <li>MS-PMincyo,Italic</li>
1361
+ <li>MS-PMincyo,BoldItalic</li>
1362
+ <li>MS-PGothic</li>
1363
+ <li>MS-PGothic,Bold</li>
1364
+ <li>MS-PGothic,Italic</li>
1365
+ <li>MS-PGothic,BoldItalic</li>
1366
+ </ul>
1367
+ <h4>Parameter</h4>
1368
+ <span style="font-weight: bold;">pdf</span>
1369
+ <div class="bodytext5">The handle of a document object.<br>
1370
+ <br>
1371
+ </div>
1372
+ <h4>Returns</h4>
1373
+ When HPDF_UseJPFonts() succeeds, it returns HPDF_OK. Otherwise, it
1374
+ returns error code and error-handler is invoked.<br>
1375
+ &nbsp;<br>
1376
+ <h4>Error</h4>
1377
+ <span style="font-weight: bold;">HPDF_INVALID_DOCUMENT</span>
1378
+ <div class="bodytext5">An invalid document handle was set.<br>
1379
+ <br>
1380
+ </div>
1381
+ <span style="font-weight: bold;">HPDF_FAILD_TO_ALLOC_MEM</span><br>
1382
+ <div class="bodytext5">Memory Allocation Failed.<br>
1383
+ <br>
1384
+ </div>
1385
+ <span style="font-weight: bold;">HPDF_DUPLICATE_REGISTRATION</span><br>
1386
+ <div class="bodytext5">The font of the same name has already been
1387
+ registered.<br>
1388
+ <br>
1389
+ </div>
1390
+ </div>
1391
+ <br>
1392
+ <h3><a name="HPDF_UseKRFonts"></a>HPDF_UseKRFonts</h3>
1393
+ <div class="bodytext1">
1394
+ <div class="bodycode2"><span style="font-weight: bold;">#include </span>"apdf.h"<br>
1395
+ <br>
1396
+ HPDF_STATUS<br>
1397
+ HPDF_UseKRFonts&nbsp;&nbsp; (HPDF_Doc&nbsp;&nbsp; pdf);<br>
1398
+ <br>
1399
+ </div>
1400
+ <h4>Description<br>
1401
+ </h4>
1402
+ HPDF_UseKRFonts() enables Korean fonts. After HPDF_UseKRFonts()
1403
+ is involed, an application can use the following Korean fonts.<br>
1404
+ <ul>
1405
+ <li>DotumChe</li>
1406
+ <li>DotumChe,Bold</li>
1407
+ <li>DotumChe,Italic</li>
1408
+ <li>DotumChe,BoldItalic</li>
1409
+ <li>Dotum</li>
1410
+ <li>Dotum,Bold</li>
1411
+ <li>Dotum,Italic</li>
1412
+ <li>Dotum,BoldItalic</li>
1413
+ <li>BatangChe</li>
1414
+ <li>BatangChe,Bold</li>
1415
+ <li>BatangChe,Italic</li>
1416
+ <li>BatangChe,BoldItalic</li>
1417
+ <li>Batang</li>
1418
+ <li>Batang,Bold</li>
1419
+ <li>Batang,Italic</li>
1420
+ <li>Batang,BoldItalic</li>
1421
+ </ul>
1422
+ <h4>Parameter</h4>
1423
+ <span style="font-weight: bold;">pdf</span>
1424
+ <div class="bodytext5">The handle of a document object.<br>
1425
+ <br>
1426
+ </div>
1427
+ <h4>Returns</h4>
1428
+ When HPDF_UseKRFonts() succeeds, it returns HPDF_OK. Otherwise, it
1429
+ returns error code and error-handler is invoked.<br>
1430
+ &nbsp;<br>
1431
+ <h4>Error</h4>
1432
+ <span style="font-weight: bold;">HPDF_INVALID_DOCUMENT</span>
1433
+ <div class="bodytext5">An invalid document handle was set.<br>
1434
+ <br>
1435
+ </div>
1436
+ <span style="font-weight: bold;">HPDF_FAILD_TO_ALLOC_MEM</span><br>
1437
+ <div class="bodytext5">Memory Allocation Failed.<br>
1438
+ <br>
1439
+ </div>
1440
+ <span style="font-weight: bold;">HPDF_DUPLICATE_REGISTRATION</span><br>
1441
+ <div class="bodytext5">The font of the same name has already been
1442
+ registered.<br>
1443
+ <br>
1444
+ </div>
1445
+ </div>
1446
+ <br>
1447
+ <h3><a name="HPDF_UseCNSFonts"></a>HPDF_UseCNSFonts</h3>
1448
+ <div class="bodytext1">
1449
+ <div class="bodycode2"><span style="font-weight: bold;">#include </span>"apdf.h"<br>
1450
+ <br>
1451
+ HPDF_STATUS<br>
1452
+ HPDF_UseCNSFonts&nbsp;&nbsp; (HPDF_Doc&nbsp;&nbsp; pdf);<br>
1453
+ <br>
1454
+ </div>
1455
+ <h4>Description<br>
1456
+ </h4>
1457
+ HPDF_UseCNSFonts() enables simplified Chinese fonts. After
1458
+ HPDF_UseCNSFonts()
1459
+ is involed, an application can use the following simplified Chinese
1460
+ fonts.<br>
1461
+ <ul>
1462
+ <li>SimSun</li>
1463
+ <li>SimSun,Bold</li>
1464
+ <li>SimSun,Italic</li>
1465
+ <li>SimSun,BoldItalic</li>
1466
+ <li>SimHei</li>
1467
+ <li>SimHei,Bold</li>
1468
+ <li>SimHei,Italic</li>
1469
+ <li>SimHei,BoldItalic</li>
1470
+ </ul>
1471
+ <h4>Parameter</h4>
1472
+ <span style="font-weight: bold;">pdf</span>
1473
+ <div class="bodytext5">The handle of a document object.<br>
1474
+ <br>
1475
+ </div>
1476
+ <h4>Returns</h4>
1477
+ When HPDF_UseCNSFonts() succeeds, it returns HPDF_OK. Otherwise, it
1478
+ returns error code and error-handler is invoked.<br>
1479
+ &nbsp;<br>
1480
+ <h4>Error</h4>
1481
+ <span style="font-weight: bold;">HPDF_INVALID_DOCUMENT</span>
1482
+ <div class="bodytext5">An invalid document handle was set.<br>
1483
+ <br>
1484
+ </div>
1485
+ <span style="font-weight: bold;">HPDF_FAILD_TO_ALLOC_MEM</span><br>
1486
+ <div class="bodytext5">Memory Allocation Failed.<br>
1487
+ <br>
1488
+ </div>
1489
+ <span style="font-weight: bold;">HPDF_DUPLICATE_REGISTRATION</span><br>
1490
+ <div class="bodytext5">The font of the same name has already been
1491
+ registered.<br>
1492
+ <br>
1493
+ </div>
1494
+ </div>
1495
+ <br>
1496
+ <h3><a name="HPDF_UseCNTFonts"></a>HPDF_UseCNTFonts</h3>
1497
+ <div class="bodytext1">
1498
+ <div class="bodycode2"><span style="font-weight: bold;">#include </span>"apdf.h"<br>
1499
+ <br>
1500
+ HPDF_STATUS<br>
1501
+ HPDF_UseCNTFonts&nbsp;&nbsp; (HPDF_Doc&nbsp;&nbsp; pdf);<br>
1502
+ <br>
1503
+ </div>
1504
+ <h4>Description<br>
1505
+ </h4>
1506
+ HPDF_UseCNTFonts() enables traditional Chinese fonts. After
1507
+ HPDF_UseCNTFonts()
1508
+ is involed, an application can use the following traditional Chinese
1509
+ fonts.<br>
1510
+ <ul>
1511
+ <li>MingLiU</li>
1512
+ <li>MingLiU,Bold</li>
1513
+ <li>MingLiU,Italic</li>
1514
+ <li>MingLiU,BoldItalic</li>
1515
+ </ul>
1516
+ <h4>Parameter</h4>
1517
+ <span style="font-weight: bold;">pdf</span>
1518
+ <div class="bodytext5">The handle of a document object.<br>
1519
+ <br>
1520
+ </div>
1521
+ <h4>Returns</h4>
1522
+ When HPDF_UseCNSFonts() succeeds, it returns HPDF_OK. Otherwise, it
1523
+ returns error code and error-handler is invoked.<br>
1524
+ &nbsp;<br>
1525
+ <h4>Error</h4>
1526
+ <span style="font-weight: bold;">HPDF_INVALID_DOCUMENT</span>
1527
+ <div class="bodytext5">An invalid document handle was set.<br>
1528
+ <br>
1529
+ </div>
1530
+ <span style="font-weight: bold;">HPDF_FAILD_TO_ALLOC_MEM</span><br>
1531
+ <div class="bodytext5">Memory Allocation Failed.<br>
1532
+ <br>
1533
+ </div>
1534
+ <span style="font-weight: bold;">HPDF_DUPLICATE_REGISTRATION</span><br>
1535
+ <div class="bodytext5">The font of the same name has already been
1536
+ registered.<br>
1537
+ <br>
1538
+ </div>
1539
+ </div>
1540
+ <br>
1541
+ <h3><a name="HPDF_CreateExtGstate"></a>HPDF_CreateExtGstate</h3>
1542
+ <div class="bodytext1">
1543
+ <div class="bodycode2"><span style="font-weight: bold;">#include </span>"apdf.h"<br>
1544
+ <br>
1545
+ HPDF_ExtGState<br>
1546
+ HPDF_CreateExtGState&nbsp; (HPDF_Doc&nbsp; pdf);;<br>
1547
+ <br>
1548
+ </div>
1549
+ <h4>Description<br>
1550
+ </h4>
1551
+ HPDF_CreateExtGState() creates a new extended graphics state object.<br>
1552
+ As a side effect, HPDF_CreateExtGState() bumps up the version of PDF to
1553
+ 1.4.<br>
1554
+ <br>
1555
+ <div class="bodynote">NOTE:<br>
1556
+ In Acrobat Reader 5.0, when ExtGState object is used combined with
1557
+ HPDF_Page_Concat(), there is a case that cannot be correctly displayed.</div>
1558
+ <br>
1559
+ <h4>Parameter</h4>
1560
+ <span style="font-weight: bold;">pdf</span>
1561
+ <div class="bodytext5">The handle of a document object.<br>
1562
+ <br>
1563
+ </div>
1564
+ <h4>Returns</h4>
1565
+ When
1566
+ HPDF_CreateExtGState() succeeds, it returns the handle of created
1567
+ extended graphics stateobject. Otherwise, it
1568
+ returns NULL and error-handler is invoked.<br>
1569
+ &nbsp;<br>
1570
+ <h4>Error</h4>
1571
+ <span style="font-weight: bold;">HPDF_INVALID_DOCUMENT</span>
1572
+ <div class="bodytext5">An invalid document handle was set.<br>
1573
+ <br>
1574
+ </div>
1575
+ <span style="font-weight: bold;">HPDF_FAILD_TO_ALLOC_MEM</span><br>
1576
+ <div class="bodytext5">Memory Allocation Failed.<br>
1577
+ </div>
1578
+ </div>
1579
+ <br>
1580
+ <h3><a name="HPDF_CreateOutline"></a>HPDF_CreateOutline</h3>
1581
+ <div class="bodytext1">
1582
+ <div class="bodycode2"><span style="font-weight: bold;">#include </span>"apdf.h"<br>
1583
+ <br>
1584
+ HPDF_Outline<br>
1585
+ HPDF_CreateOutline&nbsp; (HPDF_Doc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1586
+ pdf,<br>
1587
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1588
+ HPDF_Outline&nbsp;&nbsp; parent,<br>
1589
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1590
+ <span style="font-weight: bold;">const </span>char&nbsp;&nbsp;&nbsp;
1591
+ *title,<br>
1592
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1593
+ HPDF_Encoder&nbsp;&nbsp; encoder);<br>
1594
+ <br>
1595
+ </div>
1596
+ <h4>Description<br>
1597
+ </h4>
1598
+ HPDF_CreateOutline() creates a new outline object.<br>
1599
+ <br>
1600
+ <h4>Parameter</h4>
1601
+ <span style="font-weight: bold;">pdf</span>
1602
+ <div class="bodytext5">The handle of a document object.<br>
1603
+ <br>
1604
+ </div>
1605
+ <span style="font-weight: bold;">parent
1606
+ </span>
1607
+ <div class="bodytext5">The handle of an outline object which comes to
1608
+ the parent of the created outline object.<br>
1609
+ If this parameter is NULL, The outline is created as a root outline.<br>
1610
+ <br>
1611
+ </div>
1612
+ <span style="font-weight: bold;">title
1613
+ </span>
1614
+ <div class="bodytext5">The caption of the outline object.<br>
1615
+ <br>
1616
+ </div>
1617
+ <span style="font-weight: bold;">encoder</span><br>
1618
+ <div class="bodytext5">The handle of an encoding object applied to the
1619
+ title. If NULL is set, PDFDocEncoding is used.<br>
1620
+ </div>
1621
+ <br>
1622
+ <h4>Returns</h4>
1623
+ When
1624
+ HPDF_CreateOutline() succeeds, it returns the handle of created outline
1625
+ object. Otherwise, it
1626
+ returns NULL and error-handler is invoked.<br>
1627
+ &nbsp;<br>
1628
+ <h4>Error</h4>
1629
+ <span style="font-weight: bold;">HPDF_INVALID_DOCUMENT</span>
1630
+ <div class="bodytext5">An invalid document handle was set.<br>
1631
+ <br>
1632
+ </div>
1633
+ <span style="font-weight: bold;">HPDF_FAILD_TO_ALLOC_MEM</span><br>
1634
+ <div class="bodytext5">Memory Allocation Failed.<br>
1635
+ <br>
1636
+ </div>
1637
+ <span style="font-weight: bold;">HPDF_INVALID_OUTLINE</span><br>
1638
+ <div class="bodytext5">An invalid parent outline is specified.<br>
1639
+ </div>
1640
+ </div>
1641
+ <br>
1642
+ <br>
1643
+ <h3><a name="HPDF_GetEncoder"></a>HPDF_GetEncoder</h3>
1644
+ <div class="bodytext1">
1645
+ <div class="bodycode2"><span style="font-weight: bold;">#include </span>"apdf.h"<br>
1646
+ <br>
1647
+ HPDF_Encoder<br>
1648
+ HPDF_GetEncoder&nbsp; (HPDF_Doc&nbsp;&nbsp;&nbsp;&nbsp; pdf,<br>
1649
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1650
+ <span style="font-weight: bold;">const </span>char&nbsp;
1651
+ *encoding_name);<br>
1652
+ <br>
1653
+ </div>
1654
+ <h4>Description<br>
1655
+ </h4>
1656
+ HPDF_GetEncoder() gets the handle of a corresponding encoder object by
1657
+ specified encoding name.<br>
1658
+ <br>
1659
+ <h4>Parameter</h4>
1660
+ <span style="font-weight: bold;">pdf</span>
1661
+ <div class="bodytext5">Specify the handle of a document object.<br>
1662
+ <br>
1663
+ </div>
1664
+ <span style="font-weight: bold;">encoding_name
1665
+ </span><br>
1666
+ <div class="bodytext5">Specify a valid encoding name. (See "<a
1667
+ href="fonts.html">Fonts and Encodings</a>")<br>
1668
+ <br>
1669
+ </div>
1670
+ <h4>Returns</h4>
1671
+ When&nbsp; HPDF_GetEncoder() succeeds, it returns the handle of an
1672
+ encoder object. Otherwise, it returns NULL and error-handler is called.<br>
1673
+ &nbsp;<br>
1674
+ <h4>Error</h4>
1675
+ <span style="font-weight: bold;">HPDF_INVALID_DOCUMENT</span>
1676
+ <div class="bodytext5">An invalid document handle was set.<br>
1677
+ <br>
1678
+ </div>
1679
+ <span style="font-weight: bold;">HPDF_FAILD_TO_ALLOC_MEM</span><br>
1680
+ <div class="bodytext5">Memory Allocation Failed.<br>
1681
+ <br>
1682
+ </div>
1683
+ <span style="font-weight: bold;">HPDF_INVALID_ENCODING_NAME</span><br>
1684
+ <div class="bodytext5">An invalid encoding name was set.
1685
+ </div>
1686
+ </div>
1687
+ <br>
1688
+ <h3><a name="HPDF_GetCurrentEncoder"></a>HPDF_GetCurrentEncoder</h3>
1689
+ <div class="bodytext1">
1690
+ <div class="bodycode2"><span style="font-weight: bold;">#include </span>"apdf.h"<br>
1691
+ <br>
1692
+ HPDF_Encoder<br>
1693
+ HPDF_GetCurrentEncoder&nbsp; (HPDF_Doc&nbsp;&nbsp; pdf);<br>
1694
+ <br>
1695
+ </div>
1696
+ <h4>Description<br>
1697
+ </h4>
1698
+ HPDF_GetCurrentEncoder() gets the handle of the current encoder of the
1699
+ document object.<br>
1700
+ The current encoder is set by invoking HPDF_SetCurrentEncoder() and it
1701
+ is used to processing a text&nbsp; when an application invoks
1702
+ HPDF_Info_SetInfoAttr().<br>
1703
+ The default value of it is NULL.<br>
1704
+ <h4>Parameter</h4>
1705
+ <span style="font-weight: bold;">pdf</span>
1706
+ <div class="bodytext5">A handle of a document object.<br>
1707
+ </div>
1708
+ <h4>Returns</h4>
1709
+ It returns a handle of an encoder object or NULL.<br>
1710
+ <br>
1711
+ </div>
1712
+ <h3><a name="HPDF_SetCurrentEncoder"></a>HPDF_SetCurrentEncoder</h3>
1713
+ <div class="bodytext1">
1714
+ <div class="bodycode2"><span style="font-weight: bold;">#include </span>"apdf.h"<br>
1715
+ <br>
1716
+ HPDF_Outline<br>
1717
+ HPDF_SetCurrentEncoder&nbsp; (HPDF_Doc&nbsp;&nbsp;&nbsp;&nbsp; pdf,<br>
1718
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1719
+ <span style="font-weight: bold;">const </span>char&nbsp;
1720
+ *encoding_name);<br>
1721
+ <br>
1722
+ </div>
1723
+ <h4>Description<br>
1724
+ </h4>
1725
+ HPDF_SetCurrentEncoder() sets the current encoder for the document.<br>
1726
+ <br>
1727
+ <h4>Parameter</h4>
1728
+ <span style="font-weight: bold;">pdf</span>
1729
+ <div class="bodytext5">The handle of a document object.<br>
1730
+ <br>
1731
+ </div>
1732
+ <span style="font-weight: bold;">encoding_name
1733
+ </span>
1734
+ <div class="bodytext5">The name of an encoding. (See "<a
1735
+ href="fonts.html">Fonts and Encodings</a>")<br>
1736
+ <br>
1737
+ </div>
1738
+ <h4>Returns</h4>
1739
+ When HPDF_SetCurrentEncoder() succeeds, it returns the handle of
1740
+ created outline
1741
+ object. Otherwise, it
1742
+ returns NULL and error-handler is invoked.<br>
1743
+ &nbsp;<br>
1744
+ <h4>Error</h4>
1745
+ <span style="font-weight: bold;">HPDF_INVALID_DOCUMENT</span>
1746
+ <div class="bodytext5">An invalid document handle was set.<br>
1747
+ <br>
1748
+ </div>
1749
+ <span style="font-weight: bold;">HPDF_FAILD_TO_ALLOC_MEM</span><br>
1750
+ <div class="bodytext5">Memory Allocation Failed.<br>
1751
+ <br>
1752
+ </div>
1753
+ <span style="font-weight: bold;">HPDF_INVALID_ENCODING_NAME</span><br>
1754
+ <div class="bodytext5">An invalid encoding name was set.<br>
1755
+ <br>
1756
+ </div>
1757
+ </div>
1758
+ <br>
1759
+ <h3><a name="HPDF_UseJPEncodings"></a>HPDF_UseJPEncodings</h3>
1760
+ <div class="bodytext1">
1761
+ <div class="bodycode2"><span style="font-weight: bold;">#include </span>"apdf.h"<br>
1762
+ <br>
1763
+ HPDF_STATUS<br>
1764
+ HPDF_UseJPEncodings&nbsp; (HPDF_Doc&nbsp;&nbsp; pdf);<br>
1765
+ <br>
1766
+ </div>
1767
+ <h4>Description<br>
1768
+ </h4>
1769
+ HPDF_UseJPEncodings() enables Japanese encodings. After
1770
+ HPDF_UseJPEncodings() is
1771
+ involed, an application can use the following Japanese encodings.<br>
1772
+ <ul>
1773
+ <li>90ms-RKSJ-H</li>
1774
+ <li>90ms-RKSJ-V</li>
1775
+ <li>90msp-RKSJ-H</li>
1776
+ <li>EUC-H</li>
1777
+ <li>EUC-V</li>
1778
+ </ul>
1779
+ <h4>Parameter</h4>
1780
+ <span style="font-weight: bold;">pdf</span>
1781
+ <div class="bodytext5">The handle of a document object.<br>
1782
+ <br>
1783
+ </div>
1784
+ <h4>Returns</h4>
1785
+ When HPDF_UseJPEncodings() succeeds, it returns HPDF_OK. Otherwise, it
1786
+ returns error code and error-handler is invoked.<br>
1787
+ &nbsp;<br>
1788
+ <h4>Error</h4>
1789
+ <span style="font-weight: bold;">HPDF_INVALID_DOCUMENT</span>
1790
+ <div class="bodytext5">An invalid document handle was set.<br>
1791
+ <br>
1792
+ </div>
1793
+ <span style="font-weight: bold;">HPDF_FAILD_TO_ALLOC_MEM</span><br>
1794
+ <div class="bodytext5">Memory Allocation Failed.<br>
1795
+ <br>
1796
+ </div>
1797
+ <span style="font-weight: bold;">HPDF_DUPLICATE_REGISTRATION</span><br>
1798
+ <div class="bodytext5">The encoding of the same name has already been
1799
+ registered.<br>
1800
+ <br>
1801
+ </div>
1802
+ </div>
1803
+ <br>
1804
+ <h3><a name="HPDF_UseKREncodings"></a>HPDF_UseKREncodings</h3>
1805
+ <div class="bodytext1">
1806
+ <div class="bodycode2"><span style="font-weight: bold;">#include </span>"apdf.h"<br>
1807
+ <br>
1808
+ HPDF_STATUS<br>
1809
+ HPDF_UseKREncodings&nbsp; (HPDF_Doc&nbsp;&nbsp; pdf);<br>
1810
+ <br>
1811
+ </div>
1812
+ <h4>Description<br>
1813
+ </h4>
1814
+ HPDF_UseKREncodings() enables Korean encodings. After
1815
+ HPDF_UseKREncodings() is
1816
+ involed, an application can use the following Korean encodings.<br>
1817
+ <ul>
1818
+ <li>KSC-EUC-H</li>
1819
+ <li>KSC-EUC-V</li>
1820
+ <li>KSCms-UHC-H</li>
1821
+ <li>KSCms-UHC-HW-H</li>
1822
+ <li>KSCms-UHC-HW-V</li>
1823
+ </ul>
1824
+ <h4>Parameter</h4>
1825
+ <span style="font-weight: bold;">pdf</span>
1826
+ <div class="bodytext5">The handle of a document object.<br>
1827
+ <br>
1828
+ </div>
1829
+ <h4>Returns</h4>
1830
+ When HPDF_UseKREncodings() succeeds, it returns HPDF_OK. Otherwise, it
1831
+ returns error code and error-handler is invoked.<br>
1832
+ &nbsp;<br>
1833
+ <h4>Error</h4>
1834
+ <span style="font-weight: bold;">HPDF_INVALID_DOCUMENT</span>
1835
+ <div class="bodytext5">An invalid document handle was set.<br>
1836
+ <br>
1837
+ </div>
1838
+ <span style="font-weight: bold;">HPDF_FAILD_TO_ALLOC_MEM</span><br>
1839
+ <div class="bodytext5">Memory Allocation Failed.<br>
1840
+ <br>
1841
+ </div>
1842
+ <span style="font-weight: bold;">HPDF_DUPLICATE_REGISTRATION</span><br>
1843
+ <div class="bodytext5">The encodingof the same name has already been
1844
+ registered.<br>
1845
+ <br>
1846
+ </div>
1847
+ </div>
1848
+ <br>
1849
+ <h3><a name="HPDF_UseCNSEncodings"></a>HPDF_UseCNSEncodings</h3>
1850
+ <div class="bodytext1">
1851
+ <div class="bodycode2"><span style="font-weight: bold;">#include </span>"apdf.h"<br>
1852
+ <br>
1853
+ HPDF_STATUS<br>
1854
+ HPDF_UseCNSEncodings&nbsp; (HPDF_Doc&nbsp;&nbsp; pdf);<br>
1855
+ <br>
1856
+ </div>
1857
+ <h4>Description<br>
1858
+ </h4>
1859
+ HPDF_UseCNSEncodings() enables simplified Chinese encodings. After
1860
+ HPDF_UseCNSEncodings()
1861
+ is involed, an application can use the following simplified Chinese
1862
+ encodings.<br>
1863
+ <ul>
1864
+ <li>GB-EUC-H</li>
1865
+ <li>GB-EUC-V</li>
1866
+ <li>GBK-EUC-H</li>
1867
+ <li>GBK-EUC-V</li>
1868
+ </ul>
1869
+ <h4>Parameter</h4>
1870
+ <span style="font-weight: bold;">pdf</span>
1871
+ <div class="bodytext5">The handle of a document object.<br>
1872
+ <br>
1873
+ </div>
1874
+ <h4>Returns</h4>
1875
+ When HPDF_UseCNSEncodings() succeeds, it returns HPDF_OK. Otherwise, it
1876
+ returns error code and error-handler is invoked.<br>
1877
+ &nbsp;<br>
1878
+ <h4>Error</h4>
1879
+ <span style="font-weight: bold;">HPDF_INVALID_DOCUMENT</span>
1880
+ <div class="bodytext5">An invalid document handle was set.<br>
1881
+ <br>
1882
+ </div>
1883
+ <span style="font-weight: bold;">HPDF_FAILD_TO_ALLOC_MEM</span><br>
1884
+ <div class="bodytext5">Memory Allocation Failed.<br>
1885
+ <br>
1886
+ </div>
1887
+ <span style="font-weight: bold;">HPDF_DUPLICATE_REGISTRATION</span><br>
1888
+ <div class="bodytext5">The encoding of the same name has already been
1889
+ registered.<br>
1890
+ <br>
1891
+ </div>
1892
+ </div>
1893
+ <br>
1894
+ <h3><a name="HPDF_UseCNTEncodings"></a>HPDF_UseCNTEncodings</h3>
1895
+ <div class="bodytext1">
1896
+ <div class="bodycode2"><span style="font-weight: bold;">#include </span>"apdf.h"<br>
1897
+ <br>
1898
+ HPDF_STATUS<br>
1899
+ HPDF_UseCNTEncodings&nbsp; (HPDF_Doc&nbsp;&nbsp; pdf);<br>
1900
+ <br>
1901
+ </div>
1902
+ <h4>Description<br>
1903
+ </h4>
1904
+ HPDF_UseCNTEncodings() enables traditional Chinese encodings. After
1905
+ HPDF_UseCNTEncodings()
1906
+ is involed, an application can use the following traditional Chinese
1907
+ encodings.<br>
1908
+ <ul>
1909
+ <li>GB-EUC-H</li>
1910
+ <li>GB-EUC-V</li>
1911
+ <li>GBK-EUC-H</li>
1912
+ <li>GBK-EUC-V</li>
1913
+ </ul>
1914
+ <h4>Parameter</h4>
1915
+ <span style="font-weight: bold;">pdf</span>
1916
+ <div class="bodytext5">The handle of a document object.<br>
1917
+ <br>
1918
+ </div>
1919
+ <h4>Returns</h4>
1920
+ When HPDF_UseCNTEncodings() succeeds, it returns HPDF_OK. Otherwise, it
1921
+ returns error code and error-handler is invoked.<br>
1922
+ &nbsp;<br>
1923
+ <h4>Error</h4>
1924
+ <span style="font-weight: bold;">HPDF_INVALID_DOCUMENT</span>
1925
+ <div class="bodytext5">An invalid document handle was set.<br>
1926
+ <br>
1927
+ </div>
1928
+ <span style="font-weight: bold;">HPDF_FAILD_TO_ALLOC_MEM</span><br>
1929
+ <div class="bodytext5">Memory Allocation Failed.<br>
1930
+ <br>
1931
+ </div>
1932
+ <span style="font-weight: bold;">HPDF_DUPLICATE_REGISTRATION</span><br>
1933
+ <div class="bodytext5">The encoding of the same name has already been
1934
+ registered.<br>
1935
+ <br>
1936
+ </div>
1937
+ </div>
1938
+ <br>
1939
+ <h3><a name="HPDF_LoadPngImageFromFile_"></a>HPDF_LoadPngImageFromFile<br>
1940
+ </h3>
1941
+ <div class="bodytext1">
1942
+ <div class="bodycode2"><span style="font-weight: bold;">#include </span>"apdf.h"<br>
1943
+ <br>
1944
+ HPDF_Image<br>
1945
+ HPDF_LoadPngImageFromFile (HPDF_Doc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pdf,<br>
1946
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1947
+ const char&nbsp;&nbsp;&nbsp; *filename);<br>
1948
+ <br>
1949
+ </div>
1950
+ <h4>Description<br>
1951
+ </h4>
1952
+ HPDF_LoadPngImageFromFile() loads an external png image file. <br>
1953
+ <br>
1954
+ <h4>Parameter</h4>
1955
+ <span style="font-weight: bold;">pdf</span>
1956
+ <div class="bodytext5">Specify the handle of a document object.<br>
1957
+ <br>
1958
+ </div>
1959
+ <span style="font-weight: bold;">filename
1960
+ </span>
1961
+ <div class="bodytext5">A path to a PNG image file. <br>
1962
+ <br>
1963
+ </div>
1964
+ <br>
1965
+ <h4>Returns</h4>
1966
+ When&nbsp; HPDF_LoadPngImageFromFile() succeeds, it returns the handle
1967
+ of an image object. Otherwise, it returns NULL and error-handler
1968
+ is called.<br>
1969
+ &nbsp;<br>
1970
+ <h4>Error</h4>
1971
+ <span style="font-weight: bold;">HPDF_INVALID_DOCUMENT</span>
1972
+ <div class="bodytext5">An invalid document handle was set.<br>
1973
+ <br>
1974
+ </div>
1975
+ <span style="font-weight: bold;">HPDF_FAILD_TO_ALLOC_MEM</span><br>
1976
+ <div class="bodytext5">Memory Allocation Failed.<br>
1977
+ <br>
1978
+ </div>
1979
+ <span style="font-weight: bold;">HPDF_UNSUPPORTED_FUNC</span><br>
1980
+ <div class="bodytext5">The library is not configured to use PNGLIB.<br>
1981
+ <br>
1982
+ </div>
1983
+ <span style="font-weight: bold;">HPDF_LIBPNG_ERROR</span><br>
1984
+ <div class="bodytext5">Failed when invoking PNGLIB's function.<br>
1985
+ <br>
1986
+ </div>
1987
+ <span style="font-weight: bold;">HPDF_INVALID_PNG_IMAGE</span><br>
1988
+ <div class="bodytext5">Invalid png format.<br>
1989
+ </div>
1990
+ </div>
1991
+ <br>
1992
+ <h3><a name="HPDF_LoadPngImageFromFile2_"></a>HPDF_LoadPngImageFromFile2<br>
1993
+ </h3>
1994
+ <div class="bodytext1">
1995
+ <div class="bodycode2"><span style="font-weight: bold;">#include </span>"apdf.h"<br>
1996
+ <br>
1997
+ HPDF_Image<br>
1998
+ HPDF_LoadPngImageFromFile2 (HPDF_Doc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pdf,<br>
1999
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
2000
+ &nbsp;
2001
+ <span style="font-weight: bold;">const </span>char&nbsp;&nbsp;&nbsp;
2002
+ *filename);<br>
2003
+ <br>
2004
+ </div>
2005
+ <h4>Description<br>
2006
+ </h4>
2007
+ HPDF_LoadPngImageFromFile2() loads an external png image file.<br>
2008
+ Unlike&nbsp;
2009
+ HPDF_LoadPngImageFromFile(),&nbsp;
2010
+ HPDF_LoadPngImageFromFile2() does not load whole data immediately.
2011
+ (only size and color properties is loaded). <br>
2012
+ The main data is loaded just before the image object is written to PDF,
2013
+ and the loaded data is deleted immediately. <br>
2014
+ <br>
2015
+ <h4>Parameter</h4>
2016
+ <span style="font-weight: bold;">pdf</span>
2017
+ <div class="bodytext5">Specify the handle of a document object.<br>
2018
+ <br>
2019
+ </div>
2020
+ <span style="font-weight: bold;">filename
2021
+ </span>
2022
+ <div class="bodytext5">A path to a PNG image file. <br>
2023
+ <br>
2024
+ </div>
2025
+ <br>
2026
+ <h4>Returns</h4>
2027
+ When&nbsp; HPDF_LoadPngImageFromFile2() succeeds, it returns the handle
2028
+ of an image object. Otherwise, it returns NULL and error-handler
2029
+ is called.<br>
2030
+ &nbsp;<br>
2031
+ <h4>Error</h4>
2032
+ <span style="font-weight: bold;">HPDF_INVALID_DOCUMENT</span>
2033
+ <div class="bodytext5">An invalid document handle was set.<br>
2034
+ <br>
2035
+ </div>
2036
+ <span style="font-weight: bold;">HPDF_FAILD_TO_ALLOC_MEM</span><br>
2037
+ <div class="bodytext5">Memory Allocation Failed.<br>
2038
+ <br>
2039
+ </div>
2040
+ <span style="font-weight: bold;">HPDF_UNSUPPORTED_FUNC</span><br>
2041
+ <div class="bodytext5">The library is not configured to use PNGLIB.<br>
2042
+ <br>
2043
+ </div>
2044
+ <span style="font-weight: bold;">HPDF_LIBPNG_ERROR</span><br>
2045
+ <div class="bodytext5">Failed when invoking PNGLIB's function.<br>
2046
+ <br>
2047
+ </div>
2048
+ <span style="font-weight: bold;">HPDF_INVALID_PNG_IMAGE</span><br>
2049
+ <div class="bodytext5">Invalid png format.<br>
2050
+ <br>
2051
+ </div>
2052
+ </div>
2053
+ <br>
2054
+ <h3><a name="HPDF_LoadRawImageFromFile_"></a>HPDF_LoadRawImageFromFile<br>
2055
+ </h3>
2056
+ <div class="bodytext1">
2057
+ <div class="bodycode2"><span style="font-weight: bold;">#include </span>"apdf.h"<br>
2058
+ <br>
2059
+ HPDF_Image<br>
2060
+ HPDF_LoadRawImageFromFile&nbsp;
2061
+ (HPDF_Doc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
2062
+ pdf,<br>
2063
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
2064
+ <span style="font-weight: bold;">const </span>char&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
2065
+ *filename,<br>
2066
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
2067
+ HPDF_UINT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; width,<br>
2068
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
2069
+ HPDF_UINT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; height,<br>
2070
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
2071
+ HPDF_ColorSpace&nbsp;&nbsp;&nbsp; color_space);<br>
2072
+ <br>
2073
+ </div>
2074
+ <h4>Description<br>
2075
+ </h4>
2076
+ HPDF_LoadRawImageFromFile() loads an image which has "raw" image format.<br>
2077
+ This function loads the data without any conversion. So it is usually
2078
+ faster than the other functions.<br>
2079
+ &nbsp;<br>
2080
+ HPDF_LoadRawImageFromFile() can load 3 types of format described below.<br>
2081
+ <br>
2082
+ <span style="font-weight: bold;">1. 8 bit gray scale image.
2083
+ </span>
2084
+ <div class="bodytext5">The gray scale describes one pixel by one byte.
2085
+ And the size of the image data is same as width * height.<br>
2086
+ The sequence of the data is as follows.<br>
2087
+ <br>
2088
+ <table style="width: 100px; text-align: left;" border="1"
2089
+ cellpadding="1" cellspacing="1">
2090
+ <tbody>
2091
+ <tr>
2092
+ <td
2093
+ style="vertical-align: top; background-color: rgb(204, 204, 204); text-align: center;">1<br>
2094
+ </td>
2095
+ <td
2096
+ style="vertical-align: top; background-color: rgb(204, 204, 204); text-align: center;">2<br>
2097
+ </td>
2098
+ <td
2099
+ style="vertical-align: top; background-color: rgb(204, 204, 204); text-align: center;">3<br>
2100
+ </td>
2101
+ <td
2102
+ style="vertical-align: top; background-color: rgb(204, 204, 204); text-align: center;">4<br>
2103
+ </td>
2104
+ </tr>
2105
+ <tr>
2106
+ <td
2107
+ style="vertical-align: top; background-color: rgb(204, 204, 204); text-align: center;">6<br>
2108
+ </td>
2109
+ <td
2110
+ style="vertical-align: top; background-color: rgb(204, 204, 204); text-align: center;">7<br>
2111
+ </td>
2112
+ <td
2113
+ style="vertical-align: top; background-color: rgb(204, 204, 204); text-align: center;">8<br>
2114
+ </td>
2115
+ <td
2116
+ style="vertical-align: top; background-color: rgb(204, 204, 204); text-align: center;">9<br>
2117
+ </td>
2118
+ </tr>
2119
+ <tr>
2120
+ <td
2121
+ style="vertical-align: top; background-color: rgb(204, 204, 204); text-align: center;">11<br>
2122
+ </td>
2123
+ <td
2124
+ style="vertical-align: top; background-color: rgb(204, 204, 204); text-align: center;">12<br>
2125
+ </td>
2126
+ <td
2127
+ style="vertical-align: top; background-color: rgb(204, 204, 204); text-align: center;">13<br>
2128
+ </td>
2129
+ <td
2130
+ style="vertical-align: top; background-color: rgb(204, 204, 204); text-align: center;">14<br>
2131
+ </td>
2132
+ </tr>
2133
+ </tbody>
2134
+ </table>
2135
+ <br>
2136
+ </div>
2137
+ <span style="font-weight: bold;">1. 24bit RGB color image.
2138
+ </span>
2139
+ <div class="bodytext5">The 24bit RGB color image describes one pixel by
2140
+ 3 byte (each one byte describes a value of either red, green or blue).
2141
+ And the size of the image is same as width * height * 3.<br>
2142
+ The sequence of the data is as follows.<br>
2143
+ <br>
2144
+ <table style="width: 100px; text-align: left;" border="1"
2145
+ cellpadding="1" cellspacing="1">
2146
+ <tbody>
2147
+ <tr>
2148
+ <td
2149
+ style="vertical-align: top; background-color: rgb(255, 204, 204); text-align: center;">1<br>
2150
+ </td>
2151
+ <td
2152
+ style="vertical-align: top; background-color: rgb(153, 255, 153); text-align: center;">1<br>
2153
+ </td>
2154
+ <td
2155
+ style="vertical-align: top; background-color: rgb(204, 255, 255); text-align: center;">1<br>
2156
+ </td>
2157
+ <td
2158
+ style="vertical-align: top; background-color: rgb(255, 204, 204); text-align: center;">2<br>
2159
+ </td>
2160
+ <td
2161
+ style="vertical-align: top; background-color: rgb(153, 255, 153); text-align: center;">2<br>
2162
+ </td>
2163
+ <td
2164
+ style="vertical-align: top; background-color: rgb(204, 255, 255); text-align: center;">2<br>
2165
+ </td>
2166
+ <td
2167
+ style="vertical-align: top; background-color: rgb(255, 204, 204); text-align: center;">3<br>
2168
+ </td>
2169
+ <td
2170
+ style="vertical-align: top; background-color: rgb(153, 255, 153); text-align: center;">3<br>
2171
+ </td>
2172
+ <td
2173
+ style="vertical-align: top; background-color: rgb(204, 255, 255); text-align: center;">3<br>
2174
+ </td>
2175
+ <td
2176
+ style="vertical-align: top; background-color: rgb(255, 204, 204); text-align: center;">4<br>
2177
+ </td>
2178
+ <td
2179
+ style="vertical-align: top; background-color: rgb(153, 255, 153); text-align: center;">4<br>
2180
+ </td>
2181
+ <td
2182
+ style="vertical-align: top; text-align: center; background-color: rgb(204, 255, 255);">4<br>
2183
+ </td>
2184
+ </tr>
2185
+ <tr>
2186
+ <td
2187
+ style="vertical-align: top; background-color: rgb(255, 204, 204); text-align: center;">6<br>
2188
+ </td>
2189
+ <td
2190
+ style="vertical-align: top; background-color: rgb(153, 255, 153); text-align: center;">6<br>
2191
+ </td>
2192
+ <td
2193
+ style="vertical-align: top; background-color: rgb(204, 255, 255); text-align: center;">6<br>
2194
+ </td>
2195
+ <td
2196
+ style="vertical-align: top; background-color: rgb(255, 204, 204); text-align: center;">7<br>
2197
+ </td>
2198
+ <td
2199
+ style="vertical-align: top; background-color: rgb(153, 255, 153); text-align: center;">7<br>
2200
+ </td>
2201
+ <td
2202
+ style="vertical-align: top; background-color: rgb(204, 255, 255); text-align: center;">7<br>
2203
+ </td>
2204
+ <td
2205
+ style="vertical-align: top; background-color: rgb(255, 204, 204); text-align: center;">8<br>
2206
+ </td>
2207
+ <td
2208
+ style="vertical-align: top; background-color: rgb(153, 255, 153); text-align: center;">8<br>
2209
+ </td>
2210
+ <td
2211
+ style="vertical-align: top; background-color: rgb(204, 255, 255); text-align: center;">8<br>
2212
+ </td>
2213
+ <td
2214
+ style="vertical-align: top; background-color: rgb(255, 204, 204); text-align: center;">9<br>
2215
+ </td>
2216
+ <td
2217
+ style="vertical-align: top; background-color: rgb(153, 255, 153); text-align: center;">9<br>
2218
+ </td>
2219
+ <td
2220
+ style="vertical-align: top; text-align: center; background-color: rgb(204, 255, 255);">9<br>
2221
+ </td>
2222
+ </tr>
2223
+ <tr>
2224
+ <td
2225
+ style="vertical-align: top; background-color: rgb(255, 204, 204); text-align: center;">11<br>
2226
+ </td>
2227
+ <td
2228
+ style="vertical-align: top; background-color: rgb(153, 255, 153); text-align: center;">11<br>
2229
+ </td>
2230
+ <td
2231
+ style="vertical-align: top; background-color: rgb(204, 255, 255); text-align: center;">11<br>
2232
+ </td>
2233
+ <td
2234
+ style="vertical-align: top; background-color: rgb(255, 204, 204); text-align: center;">12<br>
2235
+ </td>
2236
+ <td
2237
+ style="vertical-align: top; background-color: rgb(153, 255, 153); text-align: center;">12<br>
2238
+ </td>
2239
+ <td
2240
+ style="vertical-align: top; background-color: rgb(204, 255, 255); text-align: center;">12<br>
2241
+ </td>
2242
+ <td
2243
+ style="vertical-align: top; background-color: rgb(255, 204, 204); text-align: center;">13<br>
2244
+ </td>
2245
+ <td
2246
+ style="vertical-align: top; background-color: rgb(153, 255, 153); text-align: center;">13<br>
2247
+ </td>
2248
+ <td
2249
+ style="vertical-align: top; background-color: rgb(204, 255, 255); text-align: center;">13<br>
2250
+ </td>
2251
+ <td
2252
+ style="vertical-align: top; background-color: rgb(255, 204, 204); text-align: center;">14<br>
2253
+ </td>
2254
+ <td
2255
+ style="vertical-align: top; background-color: rgb(153, 255, 153); text-align: center;">14<br>
2256
+ </td>
2257
+ <td
2258
+ style="vertical-align: top; text-align: center; background-color: rgb(204, 255, 255);">14<br>
2259
+ </td>
2260
+ </tr>
2261
+ </tbody>
2262
+ </table>
2263
+ <br>
2264
+ </div>
2265
+ <span style="font-weight: bold;">1. 36bit CMYK color image.
2266
+ </span><br>
2267
+ <div class="bodytext5">The 36bit CMYK color image describes one pixel
2268
+ by 4 byte (each one byte describes a value of either Cyan Magenta
2269
+ Yellow Black). And the size of the image is same as width * height * 4.
2270
+ <br>
2271
+ The sequence of the data is as follows.<br>
2272
+ <br>
2273
+ <table style="width: 100px; text-align: left;" border="1"
2274
+ cellpadding="1" cellspacing="1">
2275
+ <tbody>
2276
+ <tr>
2277
+ <td
2278
+ style="vertical-align: top; text-align: center; background-color: rgb(204, 255, 255);">1<br>
2279
+ </td>
2280
+ <td
2281
+ style="vertical-align: top; text-align: center; background-color: rgb(255, 204, 255);">1<br>
2282
+ </td>
2283
+ <td
2284
+ style="vertical-align: top; text-align: center; background-color: rgb(255, 255, 153);">1<br>
2285
+ </td>
2286
+ <td
2287
+ style="vertical-align: top; text-align: center; background-color: rgb(204, 204, 204);">1<br>
2288
+ </td>
2289
+ <td
2290
+ style="vertical-align: top; text-align: center; background-color: rgb(204, 255, 255);">2<br>
2291
+ </td>
2292
+ <td
2293
+ style="vertical-align: top; text-align: center; background-color: rgb(255, 204, 255);">2<br>
2294
+ </td>
2295
+ <td
2296
+ style="vertical-align: top; text-align: center; background-color: rgb(255, 255, 153);">2<br>
2297
+ </td>
2298
+ <td
2299
+ style="vertical-align: top; text-align: center; background-color: rgb(204, 204, 204);">2<br>
2300
+ </td>
2301
+ <td
2302
+ style="vertical-align: top; text-align: center; background-color: rgb(204, 255, 255);">3<br>
2303
+ </td>
2304
+ <td
2305
+ style="vertical-align: top; text-align: center; background-color: rgb(255, 204, 255);">3<br>
2306
+ </td>
2307
+ <td
2308
+ style="vertical-align: top; text-align: center; background-color: rgb(255, 255, 153);">3<br>
2309
+ </td>
2310
+ <td
2311
+ style="vertical-align: top; text-align: center; background-color: rgb(204, 204, 204);">3<br>
2312
+ </td>
2313
+ <td
2314
+ style="vertical-align: top; text-align: center; background-color: rgb(204, 255, 255);">4<br>
2315
+ </td>
2316
+ <td
2317
+ style="vertical-align: top; text-align: center; background-color: rgb(255, 204, 255);">4<br>
2318
+ </td>
2319
+ <td
2320
+ style="vertical-align: top; text-align: center; background-color: rgb(255, 255, 153);">4<br>
2321
+ </td>
2322
+ <td
2323
+ style="vertical-align: top; text-align: center; background-color: rgb(204, 204, 204);">4<br>
2324
+ </td>
2325
+ </tr>
2326
+ <tr>
2327
+ <td
2328
+ style="vertical-align: top; text-align: center; background-color: rgb(204, 255, 255);">6<br>
2329
+ </td>
2330
+ <td
2331
+ style="vertical-align: top; text-align: center; background-color: rgb(255, 204, 255);">6<br>
2332
+ </td>
2333
+ <td
2334
+ style="vertical-align: top; text-align: center; background-color: rgb(255, 255, 153);">6<br>
2335
+ </td>
2336
+ <td
2337
+ style="vertical-align: top; text-align: center; background-color: rgb(204, 204, 204);">6<br>
2338
+ </td>
2339
+ <td
2340
+ style="vertical-align: top; text-align: center; background-color: rgb(204, 255, 255);">7<br>
2341
+ </td>
2342
+ <td
2343
+ style="vertical-align: top; text-align: center; background-color: rgb(255, 204, 255);">7<br>
2344
+ </td>
2345
+ <td
2346
+ style="vertical-align: top; text-align: center; background-color: rgb(255, 255, 153);">7<br>
2347
+ </td>
2348
+ <td
2349
+ style="vertical-align: top; text-align: center; background-color: rgb(204, 204, 204);">7<br>
2350
+ </td>
2351
+ <td
2352
+ style="vertical-align: top; text-align: center; background-color: rgb(204, 255, 255);">8<br>
2353
+ </td>
2354
+ <td
2355
+ style="vertical-align: top; text-align: center; background-color: rgb(255, 204, 255);">8<br>
2356
+ </td>
2357
+ <td
2358
+ style="vertical-align: top; text-align: center; background-color: rgb(255, 255, 153);">8<br>
2359
+ </td>
2360
+ <td
2361
+ style="vertical-align: top; text-align: center; background-color: rgb(204, 204, 204);">8<br>
2362
+ </td>
2363
+ <td
2364
+ style="vertical-align: top; text-align: center; background-color: rgb(204, 255, 255);">9<br>
2365
+ </td>
2366
+ <td
2367
+ style="vertical-align: top; text-align: center; background-color: rgb(255, 204, 255);">9<br>
2368
+ </td>
2369
+ <td
2370
+ style="vertical-align: top; text-align: center; background-color: rgb(255, 255, 153);">9<br>
2371
+ </td>
2372
+ <td
2373
+ style="vertical-align: top; text-align: center; background-color: rgb(204, 204, 204);">9<br>
2374
+ </td>
2375
+ </tr>
2376
+ <tr>
2377
+ <td
2378
+ style="vertical-align: top; text-align: center; background-color: rgb(204, 255, 255);">11<br>
2379
+ </td>
2380
+ <td
2381
+ style="vertical-align: top; text-align: center; background-color: rgb(255, 204, 255);">11<br>
2382
+ </td>
2383
+ <td
2384
+ style="vertical-align: top; text-align: center; background-color: rgb(255, 255, 153);">11<br>
2385
+ </td>
2386
+ <td
2387
+ style="vertical-align: top; text-align: center; background-color: rgb(204, 204, 204);">11<br>
2388
+ </td>
2389
+ <td
2390
+ style="vertical-align: top; text-align: center; background-color: rgb(204, 255, 255);">12<br>
2391
+ </td>
2392
+ <td
2393
+ style="vertical-align: top; text-align: center; background-color: rgb(255, 204, 255);">12<br>
2394
+ </td>
2395
+ <td
2396
+ style="vertical-align: top; text-align: center; background-color: rgb(255, 255, 153);">12<br>
2397
+ </td>
2398
+ <td
2399
+ style="vertical-align: top; text-align: center; background-color: rgb(204, 204, 204);">12<br>
2400
+ </td>
2401
+ <td
2402
+ style="vertical-align: top; text-align: center; background-color: rgb(204, 255, 255);">13<br>
2403
+ </td>
2404
+ <td
2405
+ style="vertical-align: top; text-align: center; background-color: rgb(255, 204, 255);">13<br>
2406
+ </td>
2407
+ <td
2408
+ style="vertical-align: top; text-align: center; background-color: rgb(255, 255, 153);">13<br>
2409
+ </td>
2410
+ <td
2411
+ style="vertical-align: top; text-align: center; background-color: rgb(204, 204, 204);">13<br>
2412
+ </td>
2413
+ <td
2414
+ style="vertical-align: top; text-align: center; background-color: rgb(204, 255, 255);">14<br>
2415
+ </td>
2416
+ <td
2417
+ style="vertical-align: top; text-align: center; background-color: rgb(255, 204, 255);">14<br>
2418
+ </td>
2419
+ <td
2420
+ style="vertical-align: top; text-align: center; background-color: rgb(255, 255, 153);">14<br>
2421
+ </td>
2422
+ <td
2423
+ style="vertical-align: top; text-align: center; background-color: rgb(204, 204, 204);">14<br>
2424
+ </td>
2425
+ </tr>
2426
+ </tbody>
2427
+ </table>
2428
+ <br>
2429
+ </div>
2430
+ <br>
2431
+ <h4>Parameter</h4>
2432
+ <span style="font-weight: bold;">pdf</span>
2433
+ <div class="bodytext5">Specify the handle of a document object.<br>
2434
+ <br>
2435
+ </div>
2436
+ <span style="font-weight: bold;">filename
2437
+ </span>
2438
+ <div class="bodytext5">A path to a image file.<br>
2439
+ &nbsp;<br>
2440
+ </div>
2441
+ <span style="font-weight: bold;">width</span><br>
2442
+ <div class="bodytext5">The width of an image file. <br>
2443
+ <br>
2444
+ </div>
2445
+ <span style="font-weight: bold;">height</span><br>
2446
+ <div class="bodytext5">The height of an image file. <br>
2447
+ <br>
2448
+ </div>
2449
+ <span style="font-weight: bold;">color_space</span><br>
2450
+ <div class="bodytext5">HPDF_CS_DEVICE_GRAY or HPDF_CS_DEVICE_RGB or
2451
+ HPDF_CS_DEVICE_CMYK is allowed.<br>
2452
+ </div>
2453
+ <br>
2454
+ <h4>Returns</h4>
2455
+ When&nbsp; HPDF_LoadRawImageFromFile() succeeds, it returns the handle
2456
+ of an image object. Otherwise, it returns NULL and error-handler
2457
+ is called.<br>
2458
+ &nbsp;<br>
2459
+ <h4>Error</h4>
2460
+ <span style="font-weight: bold;">HPDF_INVALID_DOCUMENT</span>
2461
+ <div class="bodytext5">An invalid document handle was set.<br>
2462
+ <br>
2463
+ </div>
2464
+ <span style="font-weight: bold;">HPDF_FAILD_TO_ALLOC_MEM</span><br>
2465
+ <div class="bodytext5">Memory Allocation Failed.<br>
2466
+ <br>
2467
+ </div>
2468
+ <span style="font-weight: bold;">HPDF_INVALID_COLOR_SPACE</span><br>
2469
+ <div class="bodytext5">An invalid color_space value is specified.<br>
2470
+ <br>
2471
+ </div>
2472
+ <span style="font-weight: bold;">HPDF_INVALID_IMAGE</span><br>
2473
+ <div class="bodytext5">The size of an image data is invalid.<br>
2474
+ <br>
2475
+ </div>
2476
+ <span style="font-weight: bold;">HPDF_FILE_IO_ERROR</span><br>
2477
+ <div class="bodytext5">Cannot read data from the file.<br>
2478
+ </div>
2479
+ </div>
2480
+ <br>
2481
+ <h3><a name="HPDF_LoadRawImageFromMem_"></a>HPDF_LoadRawImageFromMem<br>
2482
+ </h3>
2483
+ <div class="bodytext1">
2484
+ <div class="bodycode2"><span style="font-weight: bold;">#include </span>"apdf.h"<br>
2485
+ <br>
2486
+ HPDF_Image<br>
2487
+ HPDF_LoadRawImageFromMem&nbsp;
2488
+ (HPDF_Doc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
2489
+ pdf,<br>
2490
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
2491
+ <span style="font-weight: bold;">const </span>HPDF_BYTE&nbsp;&nbsp;
2492
+ *buf,<br>
2493
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
2494
+ HPDF_UINT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; width,<br>
2495
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
2496
+ HPDF_UINT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; height,<br>
2497
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
2498
+ HPDF_ColorSpace&nbsp;&nbsp;&nbsp; color_space,<br>
2499
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
2500
+ HPDF_UINT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
2501
+ bits_per_component);<br>
2502
+ <br>
2503
+ </div>
2504
+ <h4>Description<br>
2505
+ </h4>
2506
+ HPDF_LoadRawImageFromMem() loads an image which has "raw" image format
2507
+ from buffer.<br>
2508
+ This function loads the data without any conversion. So it is usually
2509
+ faster than the other functions.<br>
2510
+ &nbsp;<br>
2511
+ The formats that HPDF_LoadRawImageFromMem() can load is the same as
2512
+ HPDF_LoadRawImageFromFile().<br>
2513
+ <br>
2514
+ <h4>Parameter</h4>
2515
+ <span style="font-weight: bold;">pdf</span>
2516
+ <div class="bodytext5">Specify the handle of a document object.<br>
2517
+ <br>
2518
+ </div>
2519
+ <span style="font-weight: bold;">buf</span>
2520
+ <div class="bodytext5">The pointer to the image data.<br>
2521
+ &nbsp;<br>
2522
+ </div>
2523
+ <span style="font-weight: bold;">width</span><br>
2524
+ <div class="bodytext5">The width of an image file. <br>
2525
+ <br>
2526
+ </div>
2527
+ <span style="font-weight: bold;">height</span><br>
2528
+ <div class="bodytext5">The height of an image file. <br>
2529
+ <br>
2530
+ </div>
2531
+ <span style="font-weight: bold;">color_space</span><br>
2532
+ <div class="bodytext5">HPDF_CS_DEVICE_GRAY or HPDF_CS_DEVICE_RGB or
2533
+ HPDF_CS_DEVICE_CMYK is allowed.<br>
2534
+ <br>
2535
+ </div>
2536
+ <span style="font-weight: bold;">bits_per_component</span><br>
2537
+ <div class="bodytext5">The bit size of each color component. The valid
2538
+ value is either 1, 2, 4, 8. <br>
2539
+ <br>
2540
+ </div>
2541
+ <br>
2542
+ <h4>Returns</h4>
2543
+ When&nbsp; HPDF_LoadRawImageFromMem() succeeds, it returns the handle
2544
+ of an image object. Otherwise, it returns NULL and error-handler
2545
+ is called.<br>
2546
+ &nbsp;<br>
2547
+ <h4>Error</h4>
2548
+ <span style="font-weight: bold;">HPDF_INVALID_DOCUMENT</span>
2549
+ <div class="bodytext5">An invalid document handle was set.<br>
2550
+ <br>
2551
+ </div>
2552
+ <span style="font-weight: bold;">HPDF_FAILD_TO_ALLOC_MEM</span><br>
2553
+ <div class="bodytext5">Memory Allocation Failed.<br>
2554
+ <br>
2555
+ </div>
2556
+ <span style="font-weight: bold;">HPDF_INVALID_COLOR_SPACE</span><br>
2557
+ <div class="bodytext5">An invalid color_space value is specified.<br>
2558
+ <br>
2559
+ </div>
2560
+ <span style="font-weight: bold;">HPDF_INVALID_IMAGE</span><br>
2561
+ <div class="bodytext5">The size of an image data is invalid.<br>
2562
+ <br>
2563
+ </div>
2564
+ </div>
2565
+ <br>
2566
+ <h3><a name="HPDF_LoadJpegImageFromFile_"></a>HPDF_LoadJpegImageFromFile<br>
2567
+ </h3>
2568
+ <div class="bodytext1">
2569
+ <div class="bodycode2"><span style="font-weight: bold;">#include </span>"apdf.h"<br>
2570
+ <br>
2571
+ HPDF_Image<br>
2572
+ HPDF_LoadJpegImageFromFile (HPDF_Doc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pdf,<br>
2573
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
2574
+ &nbsp;&nbsp;&nbsp;
2575
+ <span style="font-weight: bold;">const </span>char&nbsp;&nbsp;&nbsp;
2576
+ *filename);<br>
2577
+ <br>
2578
+ </div>
2579
+ <h4>Description<br>
2580
+ </h4>
2581
+ HPDF_LoadJpegImageFromFile() loads an external Jpeg image file.<br>
2582
+ <br>
2583
+ <h4>Parameter</h4>
2584
+ <span style="font-weight: bold;">pdf</span>
2585
+ <div class="bodytext5">Specify the handle of a document object.<br>
2586
+ <br>
2587
+ </div>
2588
+ <span style="font-weight: bold;">filename
2589
+ </span>
2590
+ <div class="bodytext5">A path to a Jpeg image file. <br>
2591
+ <br>
2592
+ </div>
2593
+ <br>
2594
+ <h4>Returns</h4>
2595
+ When&nbsp; HPDF_LoadJpegImageFromFile() succeeds, it returns the handle
2596
+ of an image object. Otherwise, it returns NULL and error-handler
2597
+ is called.<br>
2598
+ &nbsp;<br>
2599
+ <h4>Error</h4>
2600
+ <span style="font-weight: bold;">HPDF_INVALID_DOCUMENT</span>
2601
+ <div class="bodytext5">An invalid document handle was set.<br>
2602
+ <br>
2603
+ </div>
2604
+ <span style="font-weight: bold;">HPDF_FAILD_TO_ALLOC_MEM</span><br>
2605
+ <div class="bodytext5">Memory Allocation Failed.<br>
2606
+ <br>
2607
+ </div>
2608
+ <span style="font-weight: bold;">HPDF_UNSUPPORTED_JPEG_FORMAT</span><br>
2609
+ <div class="bodytext5">Unsupported () JPEG image format.<br>
2610
+ <br>
2611
+ </div>
2612
+ </div>
2613
+ <br>
2614
+ <h3><a name="HPDF_SetInfoAttr_"></a>HPDF_SetInfoAttr<br>
2615
+ </h3>
2616
+ <div class="bodytext1">
2617
+ <div class="bodycode2"><span style="font-weight: bold;">#include </span>"apdf.h"<br>
2618
+ <br>
2619
+ HPDF_STATUS<br>
2620
+ HPDF_SetInfoAttr (HPDF_Doc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
2621
+ pdf,<br>
2622
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
2623
+ HPDF_InfoType&nbsp;&nbsp; type,<br>
2624
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
2625
+ <span style="font-weight: bold;">const </span>char&nbsp;&nbsp;&nbsp;&nbsp;
2626
+ *value);<br>
2627
+ </div>
2628
+ <h4>Description<br>
2629
+ </h4>
2630
+ HPDF_SetInfoAttr() sets the text of the info dictionary.
2631
+ HPDF_SetInfoAttr() uses the current encoding of the document. If it is
2632
+ not set, the PDFDocEncoding is used.<br>
2633
+ <br>
2634
+ <h4>Parameter</h4>
2635
+ <span style="font-weight: bold;">pdf</span>
2636
+ <div class="bodytext5">Specify the handle of a document object.<br>
2637
+ <br>
2638
+ </div>
2639
+ <span style="font-weight: bold;">type</span>
2640
+ <div class="bodytext5">The following values are available.<br>
2641
+ <ul>
2642
+ <li>HPDF_INFO_AUTHOR</li>
2643
+ <li>HPDF_INFO_CREATOR<br>
2644
+ </li>
2645
+ <li>HPDF_INFO_TITLE<br>
2646
+ </li>
2647
+ <li>HPDF_INFO_SUBJECT</li>
2648
+ <li>HPDF_INFO_KEYWORDS<br>
2649
+ </li>
2650
+ </ul>
2651
+ </div>
2652
+ <span style="font-weight: bold;">value</span><br>
2653
+ <div class="bodytext5">A text to set the infomation. <br>
2654
+ </div>
2655
+ <br>
2656
+ <h4>Returns</h4>
2657
+ When HPDF_SetInfoAttr() succeeds, it returns HPDF_OK. Otherwise,
2658
+ it returns error code and error-handler
2659
+ is called.<br>
2660
+ &nbsp;<br>
2661
+ <h4>Error</h4>
2662
+ <span style="font-weight: bold;">HPDF_INVALID_DOCUMENT</span>
2663
+ <div class="bodytext5">An invalid document handle was set.<br>
2664
+ <br>
2665
+ </div>
2666
+ <span style="font-weight: bold;">HPDF_FAILD_TO_ALLOC_MEM</span><br>
2667
+ <div class="bodytext5">Memory Allocation Failed.<br>
2668
+ <br>
2669
+ </div>
2670
+ <span style="font-weight: bold;">HPDF_INVALID_PARAMETER</span><br>
2671
+ <div class="bodytext5">An invalid type parameter was set.<br>
2672
+ <br>
2673
+ </div>
2674
+ </div>
2675
+ <br>
2676
+ <h3><a name="HPDF_GetInfoAttr"></a>HPDF_GetInfoAttr</h3>
2677
+ <div class="bodytext1">
2678
+ <div class="bodycode2"><span style="font-weight: bold;">#include </span>"apdf.h"<br>
2679
+ <br>
2680
+ <span style="font-weight: bold;">const </span>char*<br>
2681
+ HPDF_GetInfoAttr (HPDF_Doc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
2682
+ pdf,<br>
2683
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
2684
+ HPDF_InfoType&nbsp;&nbsp; type);<br>
2685
+ <br>
2686
+ </div>
2687
+ <h4>Description<br>
2688
+ </h4>
2689
+ HPDF_GetInfoAttr() gets the string value fron info dictionary.<br>
2690
+ <br>
2691
+ <h4>Parameter</h4>
2692
+ <span style="font-weight: bold;">pdf</span>
2693
+ <div class="bodytext5">Specify the handle of a document object.<br>
2694
+ <br>
2695
+ </div>
2696
+ <span style="font-weight: bold;">type</span>
2697
+ <div class="bodytext5">The following values are available.<br>
2698
+ <ul>
2699
+ <li>HPDF_INFO_CREATION_DATE</li>
2700
+ <li>HPDF_INFO_MOD_DATE</li>
2701
+ <li>HPDF_INFO_AUTHOR</li>
2702
+ <li>HPDF_INFO_CREATOR<br>
2703
+ </li>
2704
+ <li>HPDF_INFO_TITLE<br>
2705
+ </li>
2706
+ <li>HPDF_INFO_SUBJECT</li>
2707
+ <li>HPDF_INFO_KEYWORDS</li>
2708
+ </ul>
2709
+ </div>
2710
+ <h4>Returns</h4>
2711
+ When HPDF_GetInfoAttr() succeeds, it returns the string value of the
2712
+ info dictionary.<br>
2713
+ If the infomation has not been set or an error has occurred, it returns
2714
+ NULL<br>
2715
+ &nbsp;<br>
2716
+ <h4>Error</h4>
2717
+ <span style="font-weight: bold;">HPDF_INVALID_DOCUMENT</span>
2718
+ <div class="bodytext5">An invalid document handle was set.<br>
2719
+ <br>
2720
+ </div>
2721
+ <span style="font-weight: bold;">HPDF_FAILD_TO_ALLOC_MEM</span><br>
2722
+ <div class="bodytext5">Memory Allocation Failed.<br>
2723
+ <br>
2724
+ </div>
2725
+ <span style="font-weight: bold;">HPDF_INVALID_PARAMETER</span><br>
2726
+ <div class="bodytext5">An invalid type parameter was set.<br>
2727
+ </div>
2728
+ </div>
2729
+ <br>
2730
+ <h3><a name="HPDF_SetInfoDateAttr_"></a>HPDF_SetInfoDateAttr<br>
2731
+ </h3>
2732
+ <div class="bodytext1">
2733
+ <div class="bodycode2"><span style="font-weight: bold;">#include </span>"apdf.h"<br>
2734
+ <br>
2735
+ typedef&nbsp; struct&nbsp; _HPDF_Date {<br>
2736
+ &nbsp;&nbsp;&nbsp; HPDF_INT&nbsp;&nbsp;&nbsp; year;<br>
2737
+ &nbsp;&nbsp;&nbsp; HPDF_INT&nbsp;&nbsp;&nbsp; month;<br>
2738
+ &nbsp;&nbsp;&nbsp; HPDF_INT&nbsp;&nbsp;&nbsp; day;<br>
2739
+ &nbsp;&nbsp;&nbsp; HPDF_INT&nbsp;&nbsp;&nbsp; hour;<br>
2740
+ &nbsp;&nbsp;&nbsp; HPDF_INT&nbsp;&nbsp;&nbsp; minutes;<br>
2741
+ &nbsp;&nbsp;&nbsp; HPDF_INT&nbsp;&nbsp;&nbsp; seconds;<br>
2742
+ &nbsp;&nbsp;&nbsp; char&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ind;<br>
2743
+ &nbsp;&nbsp;&nbsp; HPDF_INT&nbsp;&nbsp;&nbsp; off_hour;<br>
2744
+ &nbsp;&nbsp;&nbsp; HPDF_INT&nbsp;&nbsp;&nbsp; off_minutes;<br>
2745
+ } HPDF_Date;<br>
2746
+ <br>
2747
+ HPDF_STATUS<br>
2748
+ HPDF_Info_SetInfoDateAttr (HPDF_Dict&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; info,<br>
2749
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
2750
+ HPDF_InfoType&nbsp; type,<br>
2751
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
2752
+ HPDF_Date&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; value);<br>
2753
+ <br>
2754
+ </div>
2755
+ <h4>Description<br>
2756
+ </h4>
2757
+ HPDF_SetInfoDateAttr() sets the datetime value to the info dictionary. <br>
2758
+ <br>
2759
+ <h4>Parameter</h4>
2760
+ <span style="font-weight: bold;">pdf</span>
2761
+ <div class="bodytext5">Specify the handle of a document object.<br>
2762
+ <br>
2763
+ </div>
2764
+ <span style="font-weight: bold;">type</span>
2765
+ <div class="bodytext5">The following values are available.<br>
2766
+ <ul>
2767
+ <li>HPDF_INFO_CREATION_DATE</li>
2768
+ <li>HPDF_INFO_MOD_DATE<br>
2769
+ </li>
2770
+ </ul>
2771
+ </div>
2772
+ <span style="font-weight: bold;">value</span><br>
2773
+ <div class="bodytext5">A datetime value to set the infomation.<br>
2774
+ <br>
2775
+ HPDF_Date struct<br>
2776
+ <table style="width: 100%; text-align: left;" border="1" cellpadding="2"
2777
+ cellspacing="2">
2778
+ <tbody>
2779
+ <tr>
2780
+ <td
2781
+ style="vertical-align: top; background-color: rgb(204, 204, 204); width: 28px; text-align: right;"><br>
2782
+ </td>
2783
+ <td
2784
+ style="vertical-align: top; background-color: rgb(204, 204, 204);">name<br>
2785
+ </td>
2786
+ <td
2787
+ style="vertical-align: top; background-color: rgb(204, 204, 204);">effective
2788
+ values<br>
2789
+ </td>
2790
+ </tr>
2791
+ <tr>
2792
+ <td style="vertical-align: top; width: 28px; text-align: right;">1<br>
2793
+ </td>
2794
+ <td style="vertical-align: top;">year<br>
2795
+ </td>
2796
+ <td style="vertical-align: top;"><br>
2797
+ </td>
2798
+ </tr>
2799
+ <tr>
2800
+ <td style="vertical-align: top; width: 28px; text-align: right;">2<br>
2801
+ </td>
2802
+ <td style="vertical-align: top;">month<br>
2803
+ </td>
2804
+ <td style="vertical-align: top;">between 1 and 12.</td>
2805
+ </tr>
2806
+ <tr>
2807
+ <td style="vertical-align: top; width: 28px; text-align: right;">3<br>
2808
+ </td>
2809
+ <td style="vertical-align: top;">day<br>
2810
+ </td>
2811
+ <td style="vertical-align: top;">between 1 and ether of 28, 29,
2812
+ 30, 31. (It is different by the month.)<br>
2813
+ </td>
2814
+ </tr>
2815
+ <tr>
2816
+ <td style="vertical-align: top; width: 28px; text-align: right;">4<br>
2817
+ </td>
2818
+ <td style="vertical-align: top;">hour<br>
2819
+ </td>
2820
+ <td style="vertical-align: top;">0 to 23<br>
2821
+ </td>
2822
+ </tr>
2823
+ <tr>
2824
+ <td style="vertical-align: top; width: 28px; text-align: right;">5<br>
2825
+ </td>
2826
+ <td style="vertical-align: top;">minutes<br>
2827
+ </td>
2828
+ <td style="vertical-align: top;">0 to 59<br>
2829
+ </td>
2830
+ </tr>
2831
+ <tr>
2832
+ <td style="vertical-align: top; width: 28px; text-align: right;">6<br>
2833
+ </td>
2834
+ <td style="vertical-align: top;">seconds<br>
2835
+ </td>
2836
+ <td style="vertical-align: top;">0 to 59<br>
2837
+ </td>
2838
+ </tr>
2839
+ <tr>
2840
+ <td style="vertical-align: top; width: 28px; text-align: right;">7<br>
2841
+ </td>
2842
+ <td style="vertical-align: top;">ind<br>
2843
+ </td>
2844
+ <td style="vertical-align: top;">the relationship of local time
2845
+ to Universal Time.<br>
2846
+ " ", +, &#8722;, and Z are available.<br>
2847
+ </td>
2848
+ </tr>
2849
+ <tr>
2850
+ <td style="vertical-align: top; width: 28px; text-align: right;">8<br>
2851
+ </td>
2852
+ <td style="vertical-align: top;">off_hour<br>
2853
+ </td>
2854
+ <td style="vertical-align: top;">if ind is not space, 0 to 23 is
2855
+ valid. Otherwise, this value is ignored.<br>
2856
+ </td>
2857
+ </tr>
2858
+ <tr>
2859
+ <td style="vertical-align: top; width: 28px; text-align: right;">9<br>
2860
+ </td>
2861
+ <td style="vertical-align: top;">off_minutes<br>
2862
+ </td>
2863
+ <td style="vertical-align: top;">if ind is not space, 0 to 59 is
2864
+ valid. Otherwise, this value is ignored.</td>
2865
+ </tr>
2866
+ </tbody>
2867
+ </table>
2868
+ <br>
2869
+ </div>
2870
+ <br>
2871
+ <h4>Returns</h4>
2872
+ When&nbsp; HPDF_SetInfoDateAttr() succeeds, it returns HPDF_OK.
2873
+ Otherwise, it returns error code and error-handler
2874
+ is called.<br>
2875
+ &nbsp;<br>
2876
+ <h4>Error</h4>
2877
+ <span style="font-weight: bold;">HPDF_INVALID_DOCUMENT</span>
2878
+ <div class="bodytext5">An invalid document handle was set.<br>
2879
+ <br>
2880
+ </div>
2881
+ <span style="font-weight: bold;">HPDF_FAILD_TO_ALLOC_MEM</span><br>
2882
+ <div class="bodytext5">Memory Allocation Failed.<br>
2883
+ <br>
2884
+ </div>
2885
+ <span style="font-weight: bold;">HPDF_INVALID_PARAMETER</span><br>
2886
+ <div class="bodytext5">An invalid type parameter was set.<br>
2887
+ <br>
2888
+ </div>
2889
+ <span style="font-weight: bold;">HPDF_INVALID_DATE_TIME
2890
+ </span>
2891
+ <div class="bodytext5">An invalid datetime value was set.<br>
2892
+ <br>
2893
+ </div>
2894
+ </div>
2895
+ <br>
2896
+ <h3><a name="HPDF_SetPassword_"></a>HPDF_SetPassword<br>
2897
+ </h3>
2898
+ <div class="bodytext1">
2899
+ <div class="bodycode2"><span style="font-weight: bold;">#include </span>"apdf.h"<br>
2900
+ <br>
2901
+ HPDF_STATUS<br>
2902
+ HPDF_SetPassword&nbsp; (HPDF_Doc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pdf,<br>
2903
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
2904
+ const char&nbsp;&nbsp; *owner_passwd,<br>
2905
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
2906
+ const char&nbsp;&nbsp; *user_passwd);<br>
2907
+ <br>
2908
+ </div>
2909
+ <h4>Description<br>
2910
+ </h4>
2911
+ HPDF_SetPassword() sets the pasword for the document.<br>
2912
+ If the password is set, contents in the document are encrypted. <br>
2913
+ <br>
2914
+ <h4>Parameter</h4>
2915
+ <span style="font-weight: bold;">pdf</span>
2916
+ <div class="bodytext5">Specify the handle of a document object.<br>
2917
+ <br>
2918
+ </div>
2919
+ <span style="font-weight: bold;">owner_password</span>
2920
+ <div class="bodytext5">The password for the owner of the document. The
2921
+ owner can change the permission of the document.<br>
2922
+ NULL, zero length string and the same value as user password are not
2923
+ allowed. <br>
2924
+ <br>
2925
+ </div>
2926
+ <span style="font-weight: bold;">user_password</span><br>
2927
+ <div class="bodytext5">The password for the user of the document. The
2928
+ user_password is allowed to be set to NULL or zero length string.<br>
2929
+ </div>
2930
+ <br>
2931
+ <h4>Returns</h4>
2932
+ When&nbsp; HPDF_SetPassword() succeeds, it returns HPDF_OK.
2933
+ Otherwise, it returns error code and error-handler
2934
+ is called.<br>
2935
+ &nbsp;<br>
2936
+ <h4>Error</h4>
2937
+ <span style="font-weight: bold;">HPDF_INVALID_DOCUMENT</span>
2938
+ <div class="bodytext5">An invalid document handle was set.<br>
2939
+ <br>
2940
+ </div>
2941
+ <span style="font-weight: bold;">HPDF_FAILD_TO_ALLOC_MEM</span><br>
2942
+ <div class="bodytext5">Memory Allocation Failed.<br>
2943
+ <br>
2944
+ </div>
2945
+ <span style="font-weight: bold;">HPDF_INVALID_PASSWORD</span><br>
2946
+ <div class="bodytext5">NULL, zero length string and the same value as
2947
+ user password are set to owner-password.<br>
2948
+ <br>
2949
+ </div>
2950
+ </div>
2951
+ <br>
2952
+ <h3><a name="HPDF_SetPermission_"></a>HPDF_SetPermission<br>
2953
+ </h3>
2954
+ <div class="bodytext1">
2955
+ <div class="bodycode2"><span style="font-weight: bold;">#include </span>"apdf.h"<br>
2956
+ <br>
2957
+ HPDF_STATUS<br>
2958
+ HPDF_SetPermission&nbsp; (HPDF_Doc&nbsp;&nbsp;&nbsp; pdf,<br>
2959
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
2960
+ HPDF_UINT&nbsp;&nbsp; permission);<br>
2961
+ <br>
2962
+ </div>
2963
+ <h4>Description<br>
2964
+ </h4>
2965
+ HPDF_SetPermission() set the flags of the permission for the document.<br>
2966
+ <br>
2967
+ <h4>Parameter</h4>
2968
+ <span style="font-weight: bold;">pdf</span>
2969
+ <div class="bodytext5">Specify the handle of a document object.<br>
2970
+ <br>
2971
+ </div>
2972
+ <span style="font-weight: bold;">permission</span><br>
2973
+ <div class="bodytext5">The flags specifying which operations are
2974
+ permitted. This parameter is set by logical addition of the following
2975
+ values.<br>
2976
+ <table style="width: 100%; text-align: left;" border="1" cellpadding="1"
2977
+ cellspacing="1">
2978
+ <tbody>
2979
+ <tr>
2980
+ <td
2981
+ style="vertical-align: top; text-align: right; width: 24px; background-color: rgb(204, 204, 204);"><br>
2982
+ </td>
2983
+ <td
2984
+ style="vertical-align: top; background-color: rgb(204, 204, 204);">value<br>
2985
+ </td>
2986
+ <td
2987
+ style="vertical-align: top; background-color: rgb(204, 204, 204);">description<br>
2988
+ </td>
2989
+ </tr>
2990
+ <tr>
2991
+ <td style="vertical-align: top; text-align: right; width: 24px;">1<br>
2992
+ </td>
2993
+ <td style="vertical-align: top;">HPDF_ENABLE_READ<br>
2994
+ </td>
2995
+ <td style="vertical-align: top;">user can read the document.<br>
2996
+ </td>
2997
+ </tr>
2998
+ <tr>
2999
+ <td style="vertical-align: top; text-align: right; width: 24px;">2<br>
3000
+ </td>
3001
+ <td style="vertical-align: top;">HPDF_ENABLE_PRINT<br>
3002
+ </td>
3003
+ <td style="vertical-align: top;">user can print the document.<br>
3004
+ </td>
3005
+ </tr>
3006
+ <tr>
3007
+ <td style="vertical-align: top; text-align: right; width: 24px;">3<br>
3008
+ </td>
3009
+ <td style="vertical-align: top;">HPDF_ENABLE_EDIT_ALL<br>
3010
+ </td>
3011
+ <td style="vertical-align: top;">user can edit the contents of
3012
+ the document other than annotations, form fields.<br>
3013
+ </td>
3014
+ </tr>
3015
+ <tr>
3016
+ <td style="vertical-align: top; text-align: right; width: 24px;">4<br>
3017
+ </td>
3018
+ <td style="vertical-align: top;">HPDF_ENABLE_COPY<br>
3019
+ </td>
3020
+ <td style="vertical-align: top;">user can copy the text and the
3021
+ graphics of the document.</td>
3022
+ </tr>
3023
+ <tr>
3024
+ <td style="vertical-align: top; text-align: right;">5<br>
3025
+ </td>
3026
+ <td style="vertical-align: top;">HPDF_ENABLE_EDIT<br>
3027
+ </td>
3028
+ <td style="vertical-align: top;">user can add or modify the
3029
+ annotations and form fields of the document.<br>
3030
+ </td>
3031
+ </tr>
3032
+ </tbody>
3033
+ </table>
3034
+ <br>
3035
+ </div>
3036
+ <br>
3037
+ <h4>Returns</h4>
3038
+ When&nbsp; HPDF_SetPermission() succeeds, it returns HPDF_OK.
3039
+ Otherwise, it returns error code and error-handler
3040
+ is called.<br>
3041
+ &nbsp;<br>
3042
+ <h4>Error</h4>
3043
+ <span style="font-weight: bold;">HPDF_INVALID_DOCUMENT</span>
3044
+ <div class="bodytext5">An invalid document handle was set.<br>
3045
+ <br>
3046
+ </div>
3047
+ <span style="font-weight: bold;">HPDF_FAILD_TO_ALLOC_MEM</span><br>
3048
+ <div class="bodytext5">Memory Allocation Failed.<br>
3049
+ <br>
3050
+ </div>
3051
+ </div>
3052
+ <br>
3053
+ <h3><a name="HPDF_SetEncryptionMode_"></a>HPDF_SetEncryptionMode<br>
3054
+ </h3>
3055
+ <div class="bodytext1">
3056
+ <div class="bodycode2"><span style="font-weight: bold;">#include </span>"apdf.h"<br>
3057
+ <br>
3058
+ HPDF_STATUS<br>
3059
+ HPDF_SetEncryptionMode&nbsp;
3060
+ (HPDF_Doc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
3061
+ pdf,<br>
3062
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
3063
+ HPDF_EncryptMode&nbsp;&nbsp; mode,<br>
3064
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
3065
+ HPDF_UINT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
3066
+ key_len);<br>
3067
+ <br>
3068
+ </div>
3069
+ <h4>Description<br>
3070
+ </h4>
3071
+ HPDF_SetEncryptionMode() set the type of encryption.<br>
3072
+ As the side effect, HPDF_SetEncryptionMode() ups the version of PDF to
3073
+ 1.4 when the mode is set to HPDF_ENCRYPT_R3.<br>
3074
+ <br>
3075
+ <h4>Parameter</h4>
3076
+ <span style="font-weight: bold;">pdf</span>
3077
+ <div class="bodytext5">Specify the handle of a document object.<br>
3078
+ <br>
3079
+ </div>
3080
+ <span style="font-weight: bold;">mode</span><br>
3081
+ <div class="bodytext5">The flags specifying which operations are
3082
+ permitted. This parameter is set by logical addition of the following
3083
+ values.<br>
3084
+ <table style="width: 100%; text-align: left;" border="1" cellpadding="1"
3085
+ cellspacing="1">
3086
+ <tbody>
3087
+ <tr>
3088
+ <td
3089
+ style="vertical-align: top; text-align: right; width: 24px; background-color: rgb(204, 204, 204);"><br>
3090
+ </td>
3091
+ <td
3092
+ style="vertical-align: top; background-color: rgb(204, 204, 204);">value<br>
3093
+ </td>
3094
+ <td
3095
+ style="vertical-align: top; background-color: rgb(204, 204, 204);">description<br>
3096
+ </td>
3097
+ </tr>
3098
+ <tr>
3099
+ <td style="vertical-align: top; text-align: right; width: 24px;">1<br>
3100
+ </td>
3101
+ <td style="vertical-align: top;">HPDF_ENCRYPT_R2<br>
3102
+ </td>
3103
+ <td style="vertical-align: top;">Use "Revision 2" algorithm.<br>
3104
+ The length of key is automatically set to 5(40bit).<br>
3105
+ </td>
3106
+ </tr>
3107
+ <tr>
3108
+ <td style="vertical-align: top; text-align: right; width: 24px;">2<br>
3109
+ </td>
3110
+ <td style="vertical-align: top;">HPDF_ENCRYPT_R3<br>
3111
+ </td>
3112
+ <td style="vertical-align: top;">Use "Revision 3" algorithm.<br>
3113
+ Between 5(40bit) and 16(128bit) can be specified for length of the key.
3114
+ <br>
3115
+ </td>
3116
+ </tr>
3117
+ </tbody>
3118
+ </table>
3119
+ <br>
3120
+ </div>
3121
+ <span style="font-weight: bold;">key_len</span><br>
3122
+ <div class="bodytext5">Specify the byte length of an encryption key.
3123
+ This parameter is valid only when "mode" parameter is set to
3124
+ HPDF_ENCRYPT_R3.<br>
3125
+ Between 5(40bit) and 16(128bit) can be specified for length of the key.<br>
3126
+ </div>
3127
+ <br>
3128
+ <h4>Returns</h4>
3129
+ When&nbsp; HPDF_SetEncryptionMode() succeeds, it returns HPDF_OK.
3130
+ Otherwise, it returns error code and error-handler
3131
+ is called.<br>
3132
+ &nbsp;<br>
3133
+ <h4>Error</h4>
3134
+ <span style="font-weight: bold;">HPDF_INVALID_DOCUMENT</span>
3135
+ <div class="bodytext5">An invalid document handle was set.<br>
3136
+ <br>
3137
+ </div>
3138
+ <span style="font-weight: bold;">HPDF_INVALID_ENCRYPT_KEY_LEN</span><br>
3139
+ <div class="bodytext5">An invalid key length was specified.<br>
3140
+ <br>
3141
+ </div>
3142
+ <span style="font-weight: bold;">HPDF_FAILD_TO_ALLOC_MEM<br>
3143
+ </span>
3144
+ <div class="bodytext5">Memory Allocation Failed.<br>
3145
+ <br>
3146
+ </div>
3147
+ <br>
3148
+ </div>
3149
+ <h3><a name="HPDF_SetCompressionMode_"></a>HPDF_SetCompressionMode<br>
3150
+ </h3>
3151
+ <div class="bodytext1">
3152
+ <div class="bodycode2"><span style="font-weight: bold;">#include </span>"apdf.h"<br>
3153
+ <br>
3154
+ HPDF_STATUS<br>
3155
+ HPDF_SetCompressionMode&nbsp; (HPDF_Doc&nbsp;&nbsp;&nbsp; pdf,<br>
3156
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
3157
+ HPDF_UINT&nbsp;&nbsp; mode);<br>
3158
+ <br>
3159
+ </div>
3160
+ <h4>Description<br>
3161
+ </h4>
3162
+ HPDF_SetCompressionMode() set the mode of compression.<br>
3163
+ <br>
3164
+ <h4>Parameter</h4>
3165
+ <span style="font-weight: bold;">pdf</span>
3166
+ <div class="bodytext5">Specify the handle of a document object.<br>
3167
+ <br>
3168
+ </div>
3169
+ <span style="font-weight: bold;">mode</span><br>
3170
+ <div class="bodytext5">The flags specifying which type of contents
3171
+ should be compressed. <br>
3172
+ <table style="width: 100%; text-align: left;" border="1" cellpadding="1"
3173
+ cellspacing="1">
3174
+ <tbody>
3175
+ <tr>
3176
+ <td
3177
+ style="vertical-align: top; text-align: right; width: 24px; background-color: rgb(204, 204, 204);"><br>
3178
+ </td>
3179
+ <td
3180
+ style="vertical-align: top; background-color: rgb(204, 204, 204);">value<br>
3181
+ </td>
3182
+ <td
3183
+ style="vertical-align: top; background-color: rgb(204, 204, 204);">description<br>
3184
+ </td>
3185
+ </tr>
3186
+ <tr>
3187
+ <td style="vertical-align: top; text-align: right; width: 24px;">1<br>
3188
+ </td>
3189
+ <td style="vertical-align: top;">HPDF_COMP_NONE<br>
3190
+ </td>
3191
+ <td style="vertical-align: top;">All contents are not compressed.
3192
+ <br>
3193
+ </td>
3194
+ </tr>
3195
+ <tr>
3196
+ <td style="vertical-align: top; text-align: right; width: 24px;">2<br>
3197
+ </td>
3198
+ <td style="vertical-align: top;">HPDF_COMP_TEXT<br>
3199
+ </td>
3200
+ <td style="vertical-align: top;">Compress the contents stream of
3201
+ the page. &nbsp; </td>
3202
+ </tr>
3203
+ <tr>
3204
+ <td style="vertical-align: top; text-align: right;">3<br>
3205
+ </td>
3206
+ <td style="vertical-align: top;">HPDF_COMP_IMAGE<br>
3207
+ </td>
3208
+ <td style="vertical-align: top;">Compress the streams of the
3209
+ image
3210
+ objects.&nbsp; <br>
3211
+ </td>
3212
+ </tr>
3213
+ <tr>
3214
+ <td style="vertical-align: top; text-align: right;">4<br>
3215
+ </td>
3216
+ <td style="vertical-align: top;">HPDF_COMP_METADATA<br>
3217
+ </td>
3218
+ <td style="vertical-align: top;">Other stream datas (fonts,
3219
+ cmaps and so on)&nbsp; are compressed.<br>
3220
+ </td>
3221
+ </tr>
3222
+ <tr>
3223
+ <td style="vertical-align: top; text-align: right;">5<br>
3224
+ </td>
3225
+ <td style="vertical-align: top;">HPDF_COMP_ALL</td>
3226
+ <td style="vertical-align: top;">All stream datas are compressed.
3227
+ (The same as "HPDF_COMP_TEXT | HPDF_COMP_IMAGE | HPDF_COMP_METADATA")<br>
3228
+ </td>
3229
+ </tr>
3230
+ </tbody>
3231
+ </table>
3232
+ <br>
3233
+ </div>
3234
+ <h4>Returns</h4>
3235
+ When&nbsp; HPDF_SetCompressionMode() succeeds, it returns HPDF_OK.
3236
+ Otherwise, it returns error code and error-handler
3237
+ is called.<br>
3238
+ &nbsp;<br>
3239
+ <h4>Error</h4>
3240
+ <span style="font-weight: bold;">HPDF_INVALID_DOCUMENT</span>
3241
+ <div class="bodytext5">An invalid document handle was set.<br>
3242
+ <br>
3243
+ </div>
3244
+ <span style="font-weight: bold;">HPDF_INVALID_COMPRESSION_MODE</span><br>
3245
+ <div class="bodytext5">An invalid compression mode was specified.<br>
3246
+ <br>
3247
+ </div>
3248
+ <span style="font-weight: bold;">HPDF_FAILD_TO_ALLOC_MEM
3249
+ </span>
3250
+ <div class="bodytext5">Memory Allocation Failed.<br>
3251
+ <br>
3252
+ </div>
3253
+ <br>
3254
+ </div>
3255
+ <br>
3256
+ <br>
3257
+ <br>
3258
+ <br>
3259
+ <br>
3260
+ <br>
3261
+ <br>
3262
+ <br>
3263
+ <br>
3264
+ <br>
3265
+ <br>
3266
+ <br>
3267
+ <br>
3268
+ <br>
3269
+ <br>
3270
+ <br>
3271
+ <br>
3272
+ <br>
3273
+ <br>
3274
+ <br>
3275
+ <br>
3276
+ <br>
3277
+ </div>
3278
+ </div>
3279
+ <div id="lcol">
3280
+ <div class="sidebar">
3281
+ <ul>
3282
+ </ul>
3283
+ <ul>
3284
+ <li><a href="#HPDF_New_HPDF_NewEX_">HPDF_New, HPDF_NewEX</a></li>
3285
+ <li><a href="#HPDF_Free_">HPDF_Free</a><br>
3286
+ </li>
3287
+ <li><a href="#HPDF_NewDoc_">HPDF_NewDoc</a></li>
3288
+ <li><a href="#HPDF_FreeDoc">HPDF_FreeDoc&#12289;
3289
+ HPDF_FreeDocAll</a></li>
3290
+ <li><a href="#HPDF_SaveToFile_">HPDF_SaveToFile</a></li>
3291
+ <li><a href="#HPDF_SaveToStream_">HPDF_SaveToStream</a></li>
3292
+ <li><a href="#HPDF_GetStreamSize_">HPDF_GetStreamSize</a></li>
3293
+ <li><a href="#HPDF_ReadFromStream_">HPDF_ReadFromStream</a></li>
3294
+ <li><a href="#HPDF_ResetStream_">HPDF_ResetStream</a><br>
3295
+ </li>
3296
+ <li><a href="#HPDF_HasDoc">HPDF_HasDoc</a></li>
3297
+ <li><a href="#HPDF_SetErrorHandler_">HPDF_SetErrorHandler</a></li>
3298
+ <li><a href="#HPDF_GetError_">HPDF_GetError</a></li>
3299
+ <li><a href="#HPDF_ResetError_">HPDF_ResetError</a></li>
3300
+ <li><a href="#HPDF_SetPagesConfiguration_">HPDF_SetPagesConfiguration</a></li>
3301
+ <li><a href="#HPDF_GetPageLayout_">HPDF_SetPageLayout</a></li>
3302
+ <li><a href="#HPDF_GetPageLayout_">HPDF_GetPageLayout</a></li>
3303
+ <li><a href="#HPDF_SetPageMode_">HPDF_SetPageMode</a></li>
3304
+ <li><a href="#HPDF_GetPageMode_">HPDF_GetPageMode</a></li>
3305
+ <li><a href="#HPDF_SetOpenAction_">HPDF_SetOpenAction</a></li>
3306
+ <li><a href="#HPDF_GetCurrentPage_">HPDF_GetCurrentPage</a></li>
3307
+ <li><a href="#HPDF_AddPage">HPDF_AddPage</a></li>
3308
+ <li><a href="#HPDF_InsertPage">HPDF_InsertPage</a></li>
3309
+ <li><a href="#HPDF_GetFont">HPDF_GetFont</a></li>
3310
+ <li><a href="#HPDF_LoadType1FontFromFile">HPDF_LoadType1FontFromFile</a></li>
3311
+ <li><a href="#HPDF_LoadTTFontFromFile">HPDF_LoadTTFontFromFile</a></li>
3312
+ <li><a href="#HPDF_LoadTTFontFromFile2">HPDF_LoadTTFontFromFile2</a></li>
3313
+ <li><a href="#HPDF_AddPageLabel">HPDF_AddPageLabel</a></li>
3314
+ <li><a href="#HPDF_UseJPFonts">HPDF_UseJPFonts</a></li>
3315
+ <li><a href="#HPDF_UseKRFonts">HPDF_UseKRFonts</a></li>
3316
+ <li><a href="#HPDF_UseCNSFonts">HPDF_UseCNSFonts</a></li>
3317
+ <li><a href="#HPDF_UseCNTFonts">HPDF_UseCNTFonts</a></li>
3318
+ <li><a href="#HPDF_CreateExtGstate">HPDF_CreateExtGState<br>
3319
+ </a></li>
3320
+ <li><a href="#HPDF_CreateOutline">HPDF_CreateOutline</a></li>
3321
+ <li><a href="#HPDF_GetEncoder">HPDF_GetEncoder</a></li>
3322
+ <li><a href="#HPDF_GetCurrentEncoder">HPDF_GetCurrentEncoder</a></li>
3323
+ <li><a href="#HPDF_SetCurrentEncoder">HPDF_SetCurrentEncoder</a></li>
3324
+ <li><a href="#HPDF_UseJPEncodings">HPDF_UseJPEncodings</a></li>
3325
+ <li><a href="#HPDF_UseKREncodings">HPDF_UseKREncodings</a></li>
3326
+ <li><a href="#HPDF_UseCNSEncodings">HPDF_UseCNSEncodings</a></li>
3327
+ <li><a href="#HPDF_UseCNTEncodings">HPDF_UseCNTEncodings</a></li>
3328
+ <li><a href="#HPDF_LoadPngImageFromFile_">HPDF_LoadPngImageFromFile</a></li>
3329
+ <li><a href="#HPDF_LoadPngImageFromFile2_">HPDF_LoadPngImageFromFile2</a></li>
3330
+ <li><a href="#HPDF_LoadRawImageFromFile_">HPDF_LoadRawImageFromFile</a></li>
3331
+ <li><a href="#HPDF_LoadRawImageFromMem_">HPDF_LoadRawImageFromMem</a></li>
3332
+ <li><a href="#HPDF_LoadJpegImageFromFile_">HPDF_LoadJpegImageFromFile</a></li>
3333
+ <li><a href="#HPDF_SetInfoAttr_">HPDF_SetInfoAttr</a></li>
3334
+ <li><a href="#HPDF_GetInfoAttr">HPDF_GetInfoAttr</a></li>
3335
+ <li><a href="#HPDF_SetInfoDateAttr_">HPDF_SetInfoDateAttr</a></li>
3336
+ <li><a href="#HPDF_SetPassword_">HPDF_SetPassword</a></li>
3337
+ <li><a href="#HPDF_SetPermission_">HPDF_SetPermission</a></li>
3338
+ <li><a href="#HPDF_SetEncryptionMode_">HPDF_SetEncryptionMode</a></li>
3339
+ <li><a href="#HPDF_SetCompressionMode_">HPDF_SetCompressionMode</a><br>
3340
+ </li>
3341
+ </ul>
3342
+ <br>
3343
+ <br>
3344
+ <br>
3345
+ <br>
3346
+ <br>
3347
+ <br>
3348
+ <br>
3349
+ <br>
3350
+ <br>
3351
+ <br>
3352
+ <br>
3353
+ <br>
3354
+ <br>
3355
+ <br>
3356
+ <br>
3357
+ <br>
3358
+ <br>
3359
+ <br>
3360
+ <br>
3361
+ <br>
3362
+ <br>
3363
+ <br>
3364
+ <br>
3365
+ <br>
3366
+ <br>
3367
+ <br>
3368
+ <br>
3369
+ <br>
3370
+ <br>
3371
+ <br>
3372
+ <br>
3373
+ <br>
3374
+ <br>
3375
+ <br>
3376
+ <br>
3377
+ <br>
3378
+ <br>
3379
+ <br>
3380
+ <br>
3381
+ <br>
3382
+ <br>
3383
+ <br>
3384
+ <br>
3385
+ <br>
3386
+ <br>
3387
+ <br>
3388
+ <br>
3389
+ <br>
3390
+ <br>
3391
+ <br>
3392
+ <br>
3393
+ <br>
3394
+ <br>
3395
+ <br>
3396
+ <br>
3397
+ <br>
3398
+ <br>
3399
+ <br>
3400
+ <br>
3401
+ <br>
3402
+ <br>
3403
+ <br>
3404
+ <br>
3405
+ <br>
3406
+ <br>
3407
+ <br>
3408
+ <br>
3409
+ <br>
3410
+ <br>
3411
+ <br>
3412
+ <br>
3413
+ <br>
3414
+ <br>
3415
+ <br>
3416
+ <br>
3417
+ <br>
3418
+ <br>
3419
+ <br>
3420
+ <br>
3421
+ <br>
3422
+ <br>
3423
+ <br>
3424
+ <br>
3425
+ <br>
3426
+ <br>
3427
+ <br>
3428
+ <br>
3429
+ <br>
3430
+ <br>
3431
+ <br>
3432
+ <br>
3433
+ <br>
3434
+ <br>
3435
+ <br>
3436
+ <br>
3437
+ <br>
3438
+ <br>
3439
+ <br>
3440
+ <br>
3441
+ <br>
3442
+ <br>
3443
+ <br>
3444
+ <br>
3445
+ <br>
3446
+ <br>
3447
+ <br>
3448
+ <br>
3449
+ <br>
3450
+ <br>
3451
+ <br>
3452
+ <br>
3453
+ <br>
3454
+ <br>
3455
+ <br>
3456
+ <br>
3457
+ <br>
3458
+ <br>
3459
+ <br>
3460
+ <br>
3461
+ <br>
3462
+ <br>
3463
+ <br>
3464
+ <br>
3465
+ <br>
3466
+ <br>
3467
+ <br>
3468
+ <br>
3469
+ <br>
3470
+ <br>
3471
+ <br>
3472
+ <br>
3473
+ <br>
3474
+ <br>
3475
+ <br>
3476
+ <br>
3477
+ <br>
3478
+ <br>
3479
+ <br>
3480
+ <br>
3481
+ <br>
3482
+ <br>
3483
+ <br>
3484
+ <br>
3485
+ <br>
3486
+ <br>
3487
+ <br>
3488
+ <br>
3489
+ <br>
3490
+ <br>
3491
+ <br>
3492
+ <br>
3493
+ <br>
3494
+ <br>
3495
+ <br>
3496
+ <br>
3497
+ <br>
3498
+ <br>
3499
+ <br>
3500
+ <br>
3501
+ <br>
3502
+ <br>
3503
+ <br>
3504
+ <br>
3505
+ <br>
3506
+ <br>
3507
+ <br>
3508
+ <br>
3509
+ <br>
3510
+ <br>
3511
+ <br>
3512
+ <br>
3513
+ <br>
3514
+ <br>
3515
+ <br>
3516
+ <br>
3517
+ <br>
3518
+ <br>
3519
+ <br>
3520
+ <br>
3521
+ <br>
3522
+ <br>
3523
+ <br>
3524
+ <br>
3525
+ <br>
3526
+ <br>
3527
+ <br>
3528
+ <br>
3529
+ <br>
3530
+ <br>
3531
+ <br>
3532
+ <br>
3533
+ <br>
3534
+ <br>
3535
+ <br>
3536
+ <br>
3537
+ <br>
3538
+ <br>
3539
+ <br>
3540
+ <br>
3541
+ <br>
3542
+ <br>
3543
+ <br>
3544
+ <br>
3545
+ <br>
3546
+ <br>
3547
+ <br>
3548
+ <br>
3549
+ <br>
3550
+ <br>
3551
+ <br>
3552
+ <br>
3553
+ <br>
3554
+ <br>
3555
+ <br>
3556
+ <br>
3557
+ <br>
3558
+ <br>
3559
+ <br>
3560
+ <br>
3561
+ <br>
3562
+ <br>
3563
+ <br>
3564
+ <br>
3565
+ <br>
3566
+ <br>
3567
+ <br>
3568
+ <br>
3569
+ <br>
3570
+ <br>
3571
+ <br>
3572
+ <br>
3573
+ <br>
3574
+ <br>
3575
+ <br>
3576
+ <br>
3577
+ <br>
3578
+ <br>
3579
+ <br>
3580
+ <br>
3581
+ <br>
3582
+ <br>
3583
+ <br>
3584
+ <br>
3585
+ <br>
3586
+ <br>
3587
+ <br>
3588
+ <br>
3589
+ <br>
3590
+ <br>
3591
+ <br>
3592
+ <br>
3593
+ <br>
3594
+ <br>
3595
+ <br>
3596
+ <br>
3597
+ <br>
3598
+ <br>
3599
+ <br>
3600
+ <br>
3601
+ <br>
3602
+ <br>
3603
+ <br>
3604
+ <br>
3605
+ <br>
3606
+ <br>
3607
+ <br>
3608
+ <br>
3609
+ <br>
3610
+ <br>
3611
+ <br>
3612
+ <br>
3613
+ <br>
3614
+ <br>
3615
+ <br>
3616
+ <br>
3617
+ <br>
3618
+ <br>
3619
+ <br>
3620
+ <br>
3621
+ <br>
3622
+ <br>
3623
+ <br>
3624
+ <br>
3625
+ <br>
3626
+ <br>
3627
+ <br>
3628
+ <br>
3629
+ <br>
3630
+ <br>
3631
+ <br>
3632
+ <br>
3633
+ <br>
3634
+ <br>
3635
+ <br>
3636
+ <br>
3637
+ <br>
3638
+ <br>
3639
+ <br>
3640
+ <br>
3641
+ <br>
3642
+ <br>
3643
+ <br>
3644
+ <br>
3645
+ <br>
3646
+ <br>
3647
+ <br>
3648
+ <br>
3649
+ <br>
3650
+ <br>
3651
+ <br>
3652
+ <br>
3653
+ <br>
3654
+ <br>
3655
+ <br>
3656
+ <br>
3657
+ <br>
3658
+ <br>
3659
+ <br>
3660
+ <br>
3661
+ <br>
3662
+ <br>
3663
+ <br>
3664
+ <br>
3665
+ <br>
3666
+ <br>
3667
+ <br>
3668
+ <br>
3669
+ <br>
3670
+ <br>
3671
+ <br>
3672
+ <br>
3673
+ <br>
3674
+ <br>
3675
+ <br>
3676
+ <br>
3677
+ <br>
3678
+ <br>
3679
+ <br>
3680
+ <br>
3681
+ <br>
3682
+ <br>
3683
+ <br>
3684
+ <br>
3685
+ <br>
3686
+ <br>
3687
+ <br>
3688
+ <br>
3689
+ <br>
3690
+ <br>
3691
+ <br>
3692
+ <br>
3693
+ <br>
3694
+ <br>
3695
+ <br>
3696
+ <br>
3697
+ <br>
3698
+ <br>
3699
+ <br>
3700
+ <br>
3701
+ <br>
3702
+ <br>
3703
+ <br>
3704
+ <br>
3705
+ <br>
3706
+ <br>
3707
+ <br>
3708
+ <br>
3709
+ <br>
3710
+ <br>
3711
+ <br>
3712
+ <br>
3713
+ <br>
3714
+ <br>
3715
+ <br>
3716
+ <br>
3717
+ <br>
3718
+ <br>
3719
+ <br>
3720
+ <br>
3721
+ <br>
3722
+ <br>
3723
+ <br>
3724
+ <br>
3725
+ <br>
3726
+ <br>
3727
+ <br>
3728
+ <br>
3729
+ <br>
3730
+ <br>
3731
+ <br>
3732
+ <br>
3733
+ <br>
3734
+ <br>
3735
+ <br>
3736
+ <br>
3737
+ <br>
3738
+ <br>
3739
+ <br>
3740
+ <br>
3741
+ <br>
3742
+ <br>
3743
+ <br>
3744
+ <br>
3745
+ <br>
3746
+ <br>
3747
+ <br>
3748
+ <br>
3749
+ <br>
3750
+ <br>
3751
+ <br>
3752
+ <br>
3753
+ <br>
3754
+ <br>
3755
+ <br>
3756
+ <br>
3757
+ <br>
3758
+ <br>
3759
+ <br>
3760
+ <br>
3761
+ <br>
3762
+ <br>
3763
+ <br>
3764
+ <br>
3765
+ <br>
3766
+ <br>
3767
+ <br>
3768
+ <br>
3769
+ <br>
3770
+ <br>
3771
+ <br>
3772
+ <br>
3773
+ <br>
3774
+ <br>
3775
+ <br>
3776
+ <br>
3777
+ <br>
3778
+ <br>
3779
+ <br>
3780
+ <br>
3781
+ <br>
3782
+ <br>
3783
+ <br>
3784
+ <br>
3785
+ <br>
3786
+ <br>
3787
+ <br>
3788
+ <br>
3789
+ <br>
3790
+ <br>
3791
+ <br>
3792
+ <br>
3793
+ <br>
3794
+ <br>
3795
+ <br>
3796
+ <br>
3797
+ <br>
3798
+ <br>
3799
+ <br>
3800
+ <br>
3801
+ <br>
3802
+ <br>
3803
+ <br>
3804
+ <br>
3805
+ <br>
3806
+ <br>
3807
+ <br>
3808
+ <br>
3809
+ <br>
3810
+ <br>
3811
+ <br>
3812
+ <br>
3813
+ <br>
3814
+ <br>
3815
+ <br>
3816
+ <br>
3817
+ <br>
3818
+ <br>
3819
+ <br>
3820
+ <br>
3821
+ <br>
3822
+ <br>
3823
+ <br>
3824
+ <br>
3825
+ <br>
3826
+ <br>
3827
+ <br>
3828
+ <br>
3829
+ <br>
3830
+ <br>
3831
+ <br>
3832
+ <br>
3833
+ <br>
3834
+ <br>
3835
+ <br>
3836
+ <br>
3837
+ <br>
3838
+ <br>
3839
+ <br>
3840
+ <br>
3841
+ <br>
3842
+ <br>
3843
+ <br>
3844
+ <br>
3845
+ <br>
3846
+ <br>
3847
+ <br>
3848
+ <br>
3849
+ <br>
3850
+ <br>
3851
+ <br>
3852
+ <br>
3853
+ <br>
3854
+ <br>
3855
+ <br>
3856
+ <br>
3857
+ <br>
3858
+ <br>
3859
+ <br>
3860
+ <br>
3861
+ <br>
3862
+ <br>
3863
+ <br>
3864
+ <br>
3865
+ <br>
3866
+ <br>
3867
+ <br>
3868
+ <br>
3869
+ <br>
3870
+ <br>
3871
+ <br>
3872
+ <br>
3873
+ <br>
3874
+ <br>
3875
+ <br>
3876
+ <br>
3877
+ <br>
3878
+ <br>
3879
+ <br>
3880
+ <br>
3881
+ <br>
3882
+ <br>
3883
+ <br>
3884
+ <br>
3885
+ <br>
3886
+ <br>
3887
+ <br>
3888
+ <br>
3889
+ <br>
3890
+ <br>
3891
+ <br>
3892
+ <br>
3893
+ <br>
3894
+ <br>
3895
+ <br>
3896
+ <br>
3897
+ <br>
3898
+ <br>
3899
+ <br>
3900
+ <br>
3901
+ <br>
3902
+ <br>
3903
+ <br>
3904
+ <br>
3905
+ <br>
3906
+ <br>
3907
+ <br>
3908
+ <br>
3909
+ <br>
3910
+ <br>
3911
+ <br>
3912
+ <br>
3913
+ <br>
3914
+ <br>
3915
+ <br>
3916
+ <br>
3917
+ <br>
3918
+ <br>
3919
+ <br>
3920
+ <br>
3921
+ <br>
3922
+ <br>
3923
+ <br>
3924
+ <br>
3925
+ <br>
3926
+ <br>
3927
+ <br>
3928
+ <br>
3929
+ <br>
3930
+ <br>
3931
+ <br>
3932
+ <br>
3933
+ <br>
3934
+ <br>
3935
+ <br>
3936
+ <br>
3937
+ <br>
3938
+ <br>
3939
+ <br>
3940
+ <br>
3941
+ <br>
3942
+ <br>
3943
+ <br>
3944
+ <br>
3945
+ <br>
3946
+ <br>
3947
+ <br>
3948
+ <br>
3949
+ <br>
3950
+ <br>
3951
+ <br>
3952
+ <br>
3953
+ <br>
3954
+ <br>
3955
+ <br>
3956
+ <br>
3957
+ <br>
3958
+ <br>
3959
+ <br>
3960
+ <br>
3961
+ <br>
3962
+ <br>
3963
+ <br>
3964
+ <br>
3965
+ <br>
3966
+ <br>
3967
+ <br>
3968
+ <br>
3969
+ <br>
3970
+ <br>
3971
+ <br>
3972
+ <br>
3973
+ <br>
3974
+ <br>
3975
+ <br>
3976
+ <br>
3977
+ <br>
3978
+ <br>
3979
+ <br>
3980
+ <br>
3981
+ <br>
3982
+ <br>
3983
+ <br>
3984
+ <br>
3985
+ <br>
3986
+ <br>
3987
+ <br>
3988
+ <br>
3989
+ <br>
3990
+ <br>
3991
+ <br>
3992
+ <br>
3993
+ <br>
3994
+ <br>
3995
+ <br>
3996
+ <br>
3997
+ <br>
3998
+ <br>
3999
+ <br>
4000
+ <br>
4001
+ <br>
4002
+ <br>
4003
+ <br>
4004
+ <br>
4005
+ <br>
4006
+ <br>
4007
+ <br>
4008
+ <br>
4009
+ <br>
4010
+ <br>
4011
+ <br>
4012
+ <br>
4013
+ <br>
4014
+ <br>
4015
+ <br>
4016
+ <br>
4017
+ <br>
4018
+ <br>
4019
+ <br>
4020
+ <br>
4021
+ <br>
4022
+ <br>
4023
+ <br>
4024
+ <br>
4025
+ <br>
4026
+ <br>
4027
+ <br>
4028
+ <br>
4029
+ <br>
4030
+ <br>
4031
+ <br>
4032
+ <br>
4033
+ <br>
4034
+ <br>
4035
+ <br>
4036
+ <br>
4037
+ <br>
4038
+ <br>
4039
+ <br>
4040
+ <br>
4041
+ <br>
4042
+ <br>
4043
+ <br>
4044
+ <br>
4045
+ <br>
4046
+ <br>
4047
+ <br>
4048
+ <br>
4049
+ <br>
4050
+ <br>
4051
+ <br>
4052
+ <br>
4053
+ <br>
4054
+ <br>
4055
+ <br>
4056
+ <br>
4057
+ <br>
4058
+ <br>
4059
+ <br>
4060
+ <br>
4061
+ <br>
4062
+ <br>
4063
+ <br>
4064
+ <br>
4065
+ <br>
4066
+ <br>
4067
+ <br>
4068
+ <br>
4069
+ <br>
4070
+ <br>
4071
+ <br>
4072
+ <br>
4073
+ <br>
4074
+ <br>
4075
+ <br>
4076
+ <br>
4077
+ <br>
4078
+ <br>
4079
+ <br>
4080
+ <br>
4081
+ <br>
4082
+ <br>
4083
+ <br>
4084
+ <br>
4085
+ <br>
4086
+ <br>
4087
+ <br>
4088
+ <br>
4089
+ <br>
4090
+ <br>
4091
+ <br>
4092
+ <br>
4093
+ <br>
4094
+ <br>
4095
+ <br>
4096
+ <br>
4097
+ <br>
4098
+ <br>
4099
+ <br>
4100
+ <br>
4101
+ <br>
4102
+ <br>
4103
+ <br>
4104
+ <br>
4105
+ <br>
4106
+ <br>
4107
+ <br>
4108
+ <br>
4109
+ <br>
4110
+ <br>
4111
+ <br>
4112
+ <br>
4113
+ <br>
4114
+ <br>
4115
+ <br>
4116
+ <br>
4117
+ <br>
4118
+ <br>
4119
+ <br>
4120
+ <br>
4121
+ <br>
4122
+ <br>
4123
+ <br>
4124
+ <br>
4125
+ <br>
4126
+ <br>
4127
+ <br>
4128
+ <br>
4129
+ <br>
4130
+ <br>
4131
+ <br>
4132
+ <br>
4133
+ <br>
4134
+ <br>
4135
+ <br>
4136
+ <br>
4137
+ <br>
4138
+ <br>
4139
+ <br>
4140
+ <br>
4141
+ <br>
4142
+ <br>
4143
+ <br>
4144
+ <br>
4145
+ <br>
4146
+ <br>
4147
+ <br>
4148
+ <br>
4149
+ <br>
4150
+ <br>
4151
+ <br>
4152
+ <br>
4153
+ <br>
4154
+ <br>
4155
+ <br>
4156
+ <br>
4157
+ <br>
4158
+ <br>
4159
+ <br>
4160
+ <br>
4161
+ <br>
4162
+ <br>
4163
+ <br>
4164
+ <br>
4165
+ <br>
4166
+ <br>
4167
+ <br>
4168
+ <br>
4169
+ <br>
4170
+ <br>
4171
+ <br>
4172
+ <br>
4173
+ <br>
4174
+ <br>
4175
+ <br>
4176
+ <br>
4177
+ <br>
4178
+ <br>
4179
+ <br>
4180
+ <br>
4181
+ <br>
4182
+ <br>
4183
+ <br>
4184
+ <br>
4185
+ <br>
4186
+ <br>
4187
+ <br>
4188
+ <br>
4189
+ <br>
4190
+ <br>
4191
+ <br>
4192
+ <br>
4193
+ <br>
4194
+ <br>
4195
+ <br>
4196
+ <br>
4197
+ <br>
4198
+ <br>
4199
+ <br>
4200
+ <br>
4201
+ <br>
4202
+ <br>
4203
+ <br>
4204
+ <br>
4205
+ <br>
4206
+ <br>
4207
+ <br>
4208
+ <br>
4209
+ <br>
4210
+ <br>
4211
+ <br>
4212
+ <br>
4213
+ <br>
4214
+ <br>
4215
+ <br>
4216
+ <br>
4217
+ <br>
4218
+ <br>
4219
+ <br>
4220
+ <br>
4221
+ <br>
4222
+ <br>
4223
+ <br>
4224
+ <br>
4225
+ <br>
4226
+ <br>
4227
+ <br>
4228
+ <br>
4229
+ <br>
4230
+ <br>
4231
+ <br>
4232
+ <br>
4233
+ <br>
4234
+ <br>
4235
+ <br>
4236
+ <br>
4237
+ <br>
4238
+ <br>
4239
+ <br>
4240
+ <br>
4241
+ <br>
4242
+ <br>
4243
+ <br>
4244
+ <br>
4245
+ <br>
4246
+ <br>
4247
+ <br>
4248
+ <br>
4249
+ <br>
4250
+ <br>
4251
+ <br>
4252
+ <br>
4253
+ <br>
4254
+ <br>
4255
+ <br>
4256
+ <br>
4257
+ <br>
4258
+ <br>
4259
+ <br>
4260
+ <br>
4261
+ <br>
4262
+ <br>
4263
+ <br>
4264
+ <br>
4265
+ <br>
4266
+ <br>
4267
+ <br>
4268
+ <br>
4269
+ <br>
4270
+ <br>
4271
+ <br>
4272
+ <br>
4273
+ <br>
4274
+ <br>
4275
+ <br>
4276
+ <br>
4277
+ <br>
4278
+ <br>
4279
+ <br>
4280
+ <br>
4281
+ <br>
4282
+ <br>
4283
+ <br>
4284
+ <br>
4285
+ <br>
4286
+ <br>
4287
+ <br>
4288
+ <br>
4289
+ <br>
4290
+ <br>
4291
+ <br>
4292
+ <br>
4293
+ <br>
4294
+ <br>
4295
+ <br>
4296
+ <br>
4297
+ <br>
4298
+ <br>
4299
+ <br>
4300
+ <br>
4301
+ <br>
4302
+ <br>
4303
+ <br>
4304
+ <br>
4305
+ <br>
4306
+ <br>
4307
+ <br>
4308
+ <br>
4309
+ <br>
4310
+ <br>
4311
+ <br>
4312
+ <br>
4313
+ <br>
4314
+ <br>
4315
+ <br>
4316
+ <br>
4317
+ <br>
4318
+ <br>
4319
+ <br>
4320
+ <br>
4321
+ <br>
4322
+ <br>
4323
+ <br>
4324
+ <br>
4325
+ <br>
4326
+ <br>
4327
+ <br>
4328
+ <br>
4329
+ <br>
4330
+ <br>
4331
+ <br>
4332
+ <br>
4333
+ <br>
4334
+ <br>
4335
+ <br>
4336
+ <br>
4337
+ <br>
4338
+ <br>
4339
+ <br>
4340
+ <br>
4341
+ <br>
4342
+ <br>
4343
+ <br>
4344
+ <br>
4345
+ <br>
4346
+ <br>
4347
+ <br>
4348
+ <br>
4349
+ <br>
4350
+ <br>
4351
+ <br>
4352
+ <br>
4353
+ <br>
4354
+ <br>
4355
+ <br>
4356
+ <br>
4357
+ <br>
4358
+ <br>
4359
+ <br>
4360
+ <br>
4361
+ <br>
4362
+ <br>
4363
+ <br>
4364
+ <br>
4365
+ <br>
4366
+ <br>
4367
+ <br>
4368
+ <br>
4369
+ <br>
4370
+ <br>
4371
+ <br>
4372
+ <br>
4373
+ <br>
4374
+ <br>
4375
+ <br>
4376
+ <br>
4377
+ <br>
4378
+ <br>
4379
+ <br>
4380
+ <br>
4381
+ <br>
4382
+ <br>
4383
+ <br>
4384
+ <br>
4385
+ <br>
4386
+ <br>
4387
+ <br>
4388
+ <br>
4389
+ <br>
4390
+ <br>
4391
+ <br>
4392
+ <br>
4393
+ <br>
4394
+ <br>
4395
+ <br>
4396
+ <br>
4397
+ <br>
4398
+ <br>
4399
+ <br>
4400
+ <br>
4401
+ <br>
4402
+ <br>
4403
+ <br>
4404
+ <br>
4405
+ <br>
4406
+ <br>
4407
+ <br>
4408
+ <br>
4409
+ <br>
4410
+ <br>
4411
+ <br>
4412
+ <br>
4413
+ <br>
4414
+ <br>
4415
+ <br>
4416
+ <br>
4417
+ <br>
4418
+ <br>
4419
+ <br>
4420
+ <br>
4421
+ <br>
4422
+ <br>
4423
+ <br>
4424
+ <br>
4425
+ <br>
4426
+ <br>
4427
+ <br>
4428
+ <br>
4429
+ <br>
4430
+ <br>
4431
+ <br>
4432
+ <br>
4433
+ <br>
4434
+ <br>
4435
+ <br>
4436
+ <br>
4437
+ <br>
4438
+ <br>
4439
+ <br>
4440
+ <br>
4441
+ <br>
4442
+ <br>
4443
+ <br>
4444
+ <br>
4445
+ <br>
4446
+ <br>
4447
+ <br>
4448
+ <br>
4449
+ <br>
4450
+ <br>
4451
+ <br>
4452
+ <br>
4453
+ <br>
4454
+ <br>
4455
+ <br>
4456
+ <br>
4457
+ <br>
4458
+ <br>
4459
+ <br>
4460
+ <br>
4461
+ <br>
4462
+ <br>
4463
+ <br>
4464
+ <br>
4465
+ <br>
4466
+ <br>
4467
+ <br>
4468
+ <br>
4469
+ <br>
4470
+ <br>
4471
+ <br>
4472
+ <br>
4473
+ <br>
4474
+ <br>
4475
+ <br>
4476
+ <br>
4477
+ <br>
4478
+ <br>
4479
+ <br>
4480
+ <br>
4481
+ <br>
4482
+ <br>
4483
+ <br>
4484
+ <br>
4485
+ <br>
4486
+ <br>
4487
+ <br>
4488
+ <br>
4489
+ <br>
4490
+ <br>
4491
+ <br>
4492
+ <br>
4493
+ <br>
4494
+ <br>
4495
+ <br>
4496
+ <br>
4497
+ <br>
4498
+ <br>
4499
+ <br>
4500
+ <br>
4501
+ <br>
4502
+ <br>
4503
+ <br>
4504
+ <br>
4505
+ <br>
4506
+ <br>
4507
+ <br>
4508
+ <br>
4509
+ <br>
4510
+ <br>
4511
+ <br>
4512
+ <br>
4513
+ <br>
4514
+ <br>
4515
+ <br>
4516
+ <br>
4517
+ <br>
4518
+ <br>
4519
+ <br>
4520
+ <br>
4521
+ <br>
4522
+ <br>
4523
+ <br>
4524
+ <br>
4525
+ <br>
4526
+ <br>
4527
+ <br>
4528
+ <br>
4529
+ <br>
4530
+ <br>
4531
+ <br>
4532
+ <br>
4533
+ <br>
4534
+ <br>
4535
+ <br>
4536
+ <br>
4537
+ <br>
4538
+ <br>
4539
+ <br>
4540
+ <br>
4541
+ <br>
4542
+ <br>
4543
+ <br>
4544
+ <br>
4545
+ <br>
4546
+ <br>
4547
+ <br>
4548
+ <br>
4549
+ <br>
4550
+ <br>
4551
+ <br>
4552
+ <br>
4553
+ <br>
4554
+ <br>
4555
+ <br>
4556
+ <br>
4557
+ <br>
4558
+ <br>
4559
+ <br>
4560
+ <br>
4561
+ <br>
4562
+ <br>
4563
+ <br>
4564
+ <br>
4565
+ <br>
4566
+ <br>
4567
+ <br>
4568
+ <br>
4569
+ <br>
4570
+ <br>
4571
+ <br>
4572
+ <br>
4573
+ <br>
4574
+ <br>
4575
+ <br>
4576
+ <br>
4577
+ <br>
4578
+ <br>
4579
+ <br>
4580
+ <br>
4581
+ <br>
4582
+ <br>
4583
+ <br>
4584
+ <br>
4585
+ <br>
4586
+ <br>
4587
+ <br>
4588
+ <br>
4589
+ <br>
4590
+ <br>
4591
+ <br>
4592
+ <br>
4593
+ <br>
4594
+ <br>
4595
+ <br>
4596
+ <br>
4597
+ <br>
4598
+ <br>
4599
+ <br>
4600
+ <br>
4601
+ <br>
4602
+ <br>
4603
+ <br>
4604
+ <br>
4605
+ <br>
4606
+ <br>
4607
+ <br>
4608
+ <br>
4609
+ <br>
4610
+ <br>
4611
+ <br>
4612
+ <br>
4613
+ <br>
4614
+ <br>
4615
+ <br>
4616
+ <br>
4617
+ <br>
4618
+ <br>
4619
+ <br>
4620
+ <br>
4621
+ <br>
4622
+ <br>
4623
+ <br>
4624
+ <br>
4625
+ <br>
4626
+ <br>
4627
+ <br>
4628
+ <br>
4629
+ <br>
4630
+ <br>
4631
+ <br>
4632
+ <br>
4633
+ <br>
4634
+ <br>
4635
+ <br>
4636
+ <br>
4637
+ <br>
4638
+ <br>
4639
+ <br>
4640
+ <br>
4641
+ <br>
4642
+ <br>
4643
+ <br>
4644
+ <br>
4645
+ <br>
4646
+ <br>
4647
+ <br>
4648
+ <br>
4649
+ <br>
4650
+ <br>
4651
+ <br>
4652
+ <br>
4653
+ <br>
4654
+ <br>
4655
+ <br>
4656
+ <br>
4657
+ <br>
4658
+ <br>
4659
+ <br>
4660
+ <br>
4661
+ <br>
4662
+ <br>
4663
+ <br>
4664
+ <br>
4665
+ <br>
4666
+ <br>
4667
+ <br>
4668
+ <br>
4669
+ <br>
4670
+ <br>
4671
+ <br>
4672
+ <br>
4673
+ <br>
4674
+ <br>
4675
+ <br>
4676
+ <br>
4677
+ <br>
4678
+ <br>
4679
+ <br>
4680
+ <br>
4681
+ <br>
4682
+ <br>
4683
+ <br>
4684
+ <br>
4685
+ <br>
4686
+ <br>
4687
+ <br>
4688
+ <br>
4689
+ <br>
4690
+ <br>
4691
+ <br>
4692
+ <br>
4693
+ <br>
4694
+ <br>
4695
+ <br>
4696
+ <br>
4697
+ <br>
4698
+ <br>
4699
+ <br>
4700
+ <br>
4701
+ <br>
4702
+ <br>
4703
+ <br>
4704
+ <br>
4705
+ <br>
4706
+ <br>
4707
+ <br>
4708
+ <br>
4709
+ <br>
4710
+ <br>
4711
+ <br>
4712
+ <br>
4713
+ <br>
4714
+ <br>
4715
+ <br>
4716
+ <br>
4717
+ <br>
4718
+ <br>
4719
+ <br>
4720
+ <br>
4721
+ <br>
4722
+ <br>
4723
+ <br>
4724
+ <br>
4725
+ <br>
4726
+ <br>
4727
+ <br>
4728
+ <br>
4729
+ <br>
4730
+ <br>
4731
+ <br>
4732
+ <br>
4733
+ <br>
4734
+ <br>
4735
+ <br>
4736
+ <br>
4737
+ </div>
4738
+ </div>
4739
+ <br>
4740
+ <br>
4741
+ <br>
4742
+ <br>
4743
+ <br>
4744
+ <br>
4745
+ <br>
4746
+ <br>
4747
+ <br>
4748
+ <br>
4749
+ </div>
4750
+ </body>
4751
+ </html>