hpdf 2.0.8-mswin32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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>