hpdf 2.0.8-mswin32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (91) hide show
  1. data/History +57 -0
  2. data/License +25 -0
  3. data/README +136 -0
  4. data/docs/annotation_handling.html +503 -0
  5. data/docs/api.css +115 -0
  6. data/docs/api_reference.html +112 -0
  7. data/docs/bindings.html +242 -0
  8. data/docs/compile_your_program.html +365 -0
  9. data/docs/default.css +115 -0
  10. data/docs/destination_handling.html +620 -0
  11. data/docs/document_handling.html +4751 -0
  12. data/docs/documentation.html +110 -0
  13. data/docs/encoder_handling.html +428 -0
  14. data/docs/error_handling.html +1609 -0
  15. data/docs/examples.html +702 -0
  16. data/docs/ext_gstate.html +407 -0
  17. data/docs/font_handling.html +669 -0
  18. data/docs/fonts.html +978 -0
  19. data/docs/graphics.html +1210 -0
  20. data/docs/handles.html +204 -0
  21. data/docs/how_to_use.html +371 -0
  22. data/docs/image/Thumbs.db +0 -0
  23. data/docs/image/character_map.png +0 -0
  24. data/docs/image/encoding_list.png +0 -0
  25. data/docs/image/extgtate.png +0 -0
  26. data/docs/image/figure1.png +0 -0
  27. data/docs/image/figure10.png +0 -0
  28. data/docs/image/figure11.png +0 -0
  29. data/docs/image/figure12.png +0 -0
  30. data/docs/image/figure13.png +0 -0
  31. data/docs/image/figure14.png +0 -0
  32. data/docs/image/figure15.png +0 -0
  33. data/docs/image/figure16.png +0 -0
  34. data/docs/image/figure17.png +0 -0
  35. data/docs/image/figure18.png +0 -0
  36. data/docs/image/figure19.png +0 -0
  37. data/docs/image/figure2.png +0 -0
  38. data/docs/image/figure20.png +0 -0
  39. data/docs/image/figure21.png +0 -0
  40. data/docs/image/figure22.png +0 -0
  41. data/docs/image/figure23.png +0 -0
  42. data/docs/image/figure24.png +0 -0
  43. data/docs/image/figure25.png +0 -0
  44. data/docs/image/figure26.png +0 -0
  45. data/docs/image/figure27.png +0 -0
  46. data/docs/image/figure28.png +0 -0
  47. data/docs/image/figure3.png +0 -0
  48. data/docs/image/figure4.png +0 -0
  49. data/docs/image/figure5.png +0 -0
  50. data/docs/image/figure6.png +0 -0
  51. data/docs/image/figure7.png +0 -0
  52. data/docs/image/figure8.png +0 -0
  53. data/docs/image/figure9.png +0 -0
  54. data/docs/image/font_demo.png +0 -0
  55. data/docs/image/harulogo.png +0 -0
  56. data/docs/image/image_demo.png +0 -0
  57. data/docs/image/jpfont_demo.png +0 -0
  58. data/docs/image/line_demo.png +0 -0
  59. data/docs/image/png_demo.png +0 -0
  60. data/docs/image/text_annot.png +0 -0
  61. data/docs/image/text_demo.png +0 -0
  62. data/docs/image/text_demo2.png +0 -0
  63. data/docs/image/tt_font.png +0 -0
  64. data/docs/image_handling.html +505 -0
  65. data/docs/index.html +305 -0
  66. data/docs/install.html +243 -0
  67. data/docs/outline_handling.html +229 -0
  68. data/docs/page_handling.html +2647 -0
  69. data/docs/page_operator.html +2640 -0
  70. data/docs/useful_links.html +203 -0
  71. data/examples/arc_demo.rb +82 -0
  72. data/examples/demo.rb +91 -0
  73. data/examples/encryption.rb +41 -0
  74. data/examples/ext_gstater_demo.rb +171 -0
  75. data/examples/font_demo.rb +67 -0
  76. data/examples/jpfont_demo.rb +122 -0
  77. data/examples/line_demo.rb +301 -0
  78. data/examples/slide_show_demo.rb +139 -0
  79. data/examples/text_demo2.rb +189 -0
  80. data/examples/ttfont_demo.rb +106 -0
  81. data/lib/hpdf.so +0 -0
  82. data/tests/arc_demo.rb +82 -0
  83. data/tests/demo.rb +91 -0
  84. data/tests/encryption.rb +41 -0
  85. data/tests/ext_gstater_demo.rb +171 -0
  86. data/tests/font_demo.rb +67 -0
  87. data/tests/line_demo.rb +301 -0
  88. data/tests/slide_show_demo.rb +139 -0
  89. data/tests/test_all_examples.rb +31 -0
  90. data/tests/text_demo2.rb +189 -0
  91. metadata +137 -0
data/docs/handles.html ADDED
@@ -0,0 +1,204 @@
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="default.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>Handles<br>
28
+ </h2>
29
+ <h3><a name="Hierarchy_of_Handles_"></a>Hierarchy of Handles<br>
30
+ </h3>
31
+ <div class="bodytext1">A handle is&nbsp; an opaque pointer to handle
32
+ objects. All functions in Haru include one or more handles in their
33
+ parameter list.<br>
34
+ The following figure illustrates the relationship between the various
35
+ types of handles.<br>
36
+ <br>
37
+ <img alt="Hierarchy of Handles" title="Hierarchy of Handles"
38
+ src="image/figure2.png"><br>
39
+ <br>
40
+ </div>
41
+ <h3><a name="Document_Handle_HPDF_Doc_"></a>Document Handle (HPDF_Doc)<br>
42
+ </h3>
43
+ <div class="bodytext1">The document handle is a handle to operate a
44
+ document object. It is created by invoking HPDF_New() or HPDF_NewEx().
45
+ And it is freed by invoking HPDF_Free().<br>
46
+ When HPDF_Free() is invoked, all objects owned by the document object
47
+ are freeed all together.<br>
48
+ </div>
49
+ <h3><a name="Page_Handle_HPDF_Page_"></a>Page Handle (HPDF_Page)<br>
50
+ </h3>
51
+ <div class="bodytext1">The page handle is used to operate an individual
52
+ page. When HPDF_AddPage() or HPDF_InsertPage() is invoked, a page
53
+ object is created and the handle of the page object is returned.<br>
54
+ The functions whose name started with "HPDF_Page_" require page handle
55
+ as first parameter. <br>
56
+ </div>
57
+ <h3><a name="Image_Handle_HPDF_Image_"></a>Image Handle (HPDF_Image)<br>
58
+ </h3>
59
+ <div class="bodytext1">The image handle is used to display image to a
60
+ page mainly. <br>
61
+ When the following functions are invoked, an image object is created
62
+ and the handle of the image is returned.<br>
63
+ <ul>
64
+ <li>HPDF_LoadPngImageFromFile()</li>
65
+ <li>HPDF_LoadJpegImageFromFile()</li>
66
+ <li>HPDF_LoadRawImageFromFile()</li>
67
+ <li>HPDF_LoadRawImageFromMem()</li>
68
+ </ul>
69
+ </div>
70
+ <h3><a name="Font_Handle_HPDF_Font_"></a>Font Handle (HPDF_Font)<br>
71
+ </h3>
72
+ <div class="bodytext1">The font handle is a handle to handle a font
73
+ object. <br>
74
+ A font handle is returned by invoking HPDF_GetFont().</div>
75
+ <h3><a name="Encoding_Handle_HPDF_Encoding_"></a>Encoding Handle
76
+ (HPDF_Encoding)<br>
77
+ </h3>
78
+ <div class="bodytext1">The encoding handle is a handle to handle a
79
+ encoding object. <br>
80
+ A encoding handle is returned by invoking HPDF_GetEncoding().<br>
81
+ </div>
82
+ <h3><a name="Outline_Handle_HPDF_Outline_"></a>Outline Handle
83
+ (HPDF_Outline)<br>
84
+ </h3>
85
+ <div class="bodytext1">The outline handle is used to operate an outline
86
+ of a document.<br>
87
+ When HPDF_CreateOutline() is invoked, an outline-node object is created
88
+ and the handle of the node is returned.<br>
89
+ </div>
90
+ <h3><a name="Destination_Handle_HPDF_Destination_"></a>Destination
91
+ Handle (HPDF_Destination)<br>
92
+ </h3>
93
+ <div class="bodytext1">The destination object specifies the view of the
94
+ page to be displayed when the outline item or annotation is clicked.<br>
95
+ And the destination handle is used to operate destination object.<br>
96
+ </div>
97
+ <h3><a name="Annotation_Handle_HPDF_Annotation_"></a>Annotation Handle
98
+ (HPDF_Annotation)<br>
99
+ </h3>
100
+ <div class="bodytext1">There are three type of annotation-object on
101
+ Haru. First is the text-annotation which represents a "sticky note".
102
+ Second is the link-annotation which represents a hypertext link to a
103
+ destination. And third is the URI-link-annotation which represents a
104
+ hypertext link to a web page.<br>
105
+ The annotation handle is used to set properties of an annotation object.<br>
106
+ <br>
107
+ </div>
108
+ <br>
109
+ </div>
110
+ </div>
111
+ <div id="lcol">
112
+ <div class="sidebar">
113
+ <ul>
114
+ </ul>
115
+ <ul>
116
+ <li> <a href="#Hierarchy_of_Handles_">Hierachy of Handles</a> </li>
117
+ <li><a href="#Document_Handle_HPDF_Doc_">Document Handle<br>
118
+ </a></li>
119
+ <li><a href="#Page_Handle_HPDF_Page_">Page Handle</a></li>
120
+ <li><a href="#Image_Handle_HPDF_Image_">Image Handle</a></li>
121
+ <li><a href="#Font_Handle_HPDF_Font_">Font Handle</a></li>
122
+ <li><a href="#Encoding_Handle_HPDF_Encoding_">Encoding Handle</a></li>
123
+ <li><a href="#Outline_Handle_HPDF_Outline_">Outline Handle</a></li>
124
+ <li><a href="#Destination_Handle_HPDF_Destination_">Destination Handle</a></li>
125
+ <li><a href="#Annotation_Handle_HPDF_Annotation_">Annotation Handle</a></li>
126
+ </ul>
127
+ <ul>
128
+ </ul>
129
+ <br>
130
+ <br>
131
+ <br>
132
+ <br>
133
+ <br>
134
+ <br>
135
+ <br>
136
+ <br>
137
+ <br>
138
+ <br>
139
+ <br>
140
+ <br>
141
+ <br>
142
+ <br>
143
+ <br>
144
+ <br>
145
+ <br>
146
+ <br>
147
+ <br>
148
+ <br>
149
+ <br>
150
+ <br>
151
+ <br>
152
+ <br>
153
+ <br>
154
+ <br>
155
+ <br>
156
+ <br>
157
+ <br>
158
+ <br>
159
+ <br>
160
+ <br>
161
+ <br>
162
+ <br>
163
+ <br>
164
+ <br>
165
+ <br>
166
+ <br>
167
+ <br>
168
+ <br>
169
+ <br>
170
+ <br>
171
+ <br>
172
+ <br>
173
+ <br>
174
+ <br>
175
+ <br>
176
+ <br>
177
+ <br>
178
+ <br>
179
+ <br>
180
+ <br>
181
+ <br>
182
+ <br>
183
+ <br>
184
+ <br>
185
+ <br>
186
+ <br>
187
+ <br>
188
+ <br>
189
+ <br>
190
+ </div>
191
+ </div>
192
+ <br>
193
+ <br>
194
+ <br>
195
+ <br>
196
+ <br>
197
+ <br>
198
+ <br>
199
+ <br>
200
+ <br>
201
+ <br>
202
+ </div>
203
+ </body>
204
+ </html>
@@ -0,0 +1,371 @@
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="default.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>How to use<br>
28
+ </h2>
29
+ <h3><a name="Overview_"></a>Overview<br>
30
+ </h3>
31
+ <div class="bodytext1">The typical program flow of Haru is as
32
+ follows.<br>
33
+ <br>
34
+ <img alt="figure1" src="image/figure1.png"
35
+ style="width: 520px; height: 650px;"><br>
36
+ <br>
37
+ </div>
38
+ <h3><a name="Initializing_a_document_object_"></a>Initializing a
39
+ document object<br>
40
+ </h3>
41
+ <div class="bodytext1">First, invoke <a
42
+ href="document_handling.html#HPDF_New_HPDF_NewEX_">HPDF_New()</a> or <a
43
+ href="document_handling.html#HPDF_New_HPDF_NewEX_">HPDF_NewEx()</a> to
44
+ create
45
+ an instance of document object.<br>
46
+ You can specify user-defined error function on this step. If you want
47
+ to
48
+ use user-define memory memory management function, use HPDF_NewEx().<br>
49
+ The Handle which is returned from <a
50
+ href="document_handling.html#HPDF_New_HPDF_NewEX_">HPDF_New()</a> or <a
51
+ href="document_handling.html#HPDF_New_HPDF_NewEX_">HPDF_NewEx()</a> is
52
+ used in
53
+ the following steps.<br>
54
+ You can call setjmp() for an exception handling after <a
55
+ href="document_handling.html#HPDF_New_HPDF_NewEX_">HPDF_New()</a>
56
+ succeed. (See the chapter of "<a href="error_handling.html">Error
57
+ Handling</a>")<br>
58
+ <br>
59
+ <div class="bodycode">#include "apdf.h"<br>
60
+ <br>
61
+ &nbsp; HPDF_Doc pdf;<br>
62
+ <br>
63
+ &nbsp; pdf = HPDF_New (error_handler, NULL); <br>
64
+ &nbsp; if (!pdf) {<br>
65
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf ("ERROR: cannot create pdf
66
+ object.\n");<br>
67
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 1;<br>
68
+ &nbsp; }<br>
69
+ <br>
70
+ &nbsp; if (setjmp(env)) {<br>
71
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HPDF_Free (pdf);<br>
72
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 1;<br>
73
+ &nbsp; }
74
+ </div>
75
+ &nbsp;
76
+ <br>
77
+ </div>
78
+ <h3><a name="Setting_a_document_object_"></a>Setting a document
79
+ object<br>
80
+ </h3>
81
+ <div class="bodytext1">Set attributes of&nbsp; compression, encryption,
82
+ page mode and pages tree if necessary.<br>
83
+ <br>
84
+ <div class="bodycode">&nbsp; /* set compression mode */<br>
85
+ &nbsp; HPDF_SetCompressionMode (pdf, HPDF_COMP_ALL);<br>
86
+ <br>
87
+ &nbsp; /* set page mode to use outlines. */<br>
88
+ &nbsp; HPDF_SetPageMode (pdf, HPDF_PAGE_MODE_USE_OUTLINE);<br>
89
+ <br>
90
+ &nbsp; /* set password */<br>
91
+ &nbsp; HPDF_SetPassword (pdf, "owner", "user");<br>
92
+ <br>
93
+ </div>
94
+ <br>
95
+ </div>
96
+ <h3><a name="Create_a_page_object_"></a>Create a page
97
+ object<br>
98
+ </h3>
99
+ <div class="bodytext1">&nbsp;Call <a
100
+ href="document_handling.html#HPDF_AddPage">HPDF_AddPage()</a> to add a
101
+ page to the
102
+ document. The page-handle which is returned by <a
103
+ href="document_handling.html#HPDF_AddPage">HPDF_AddPage()</a> function
104
+ is used to operate a page.<br>
105
+ &nbsp;<br>
106
+ <div class="bodycode">&nbsp; page_1 = HPDF_AddPage (pdf);
107
+ <br>
108
+ </div>
109
+ </div>
110
+ <br>
111
+ <div class="bodytext1">When you want to insert a new page before an
112
+ existing page, call <a href="document_handling.html#HPDF_InsertPage">HPDF_InsertPage()</a>.
113
+ For example, in the case of
114
+ inserting "page_0" before "page_1", the code is as follows.<br>
115
+ <br>
116
+ <div class="bodycode">&nbsp; page_0 = HPDF_InsertPage (pdf, page_1);
117
+ <br>
118
+ </div>
119
+ <br>
120
+ </div>
121
+ <h3><a name="Setting_a_page_object_"></a>Setting a page object<br>
122
+ </h3>
123
+ <div class="bodytext1">Set attributes of the page object if necessary.<br>
124
+ <br>
125
+ <div class="bodycode">&nbsp; HPDF_Page_SetSize (page_1,
126
+ HPDF_PAGE_SIZE_B5, HPDF_PAGE_LANDSCAPE);
127
+ <br>
128
+ </div>
129
+ <br>
130
+ </div>
131
+ <h3><a name="Page_description_processing_"></a>Page description<br>
132
+ </h3>
133
+ <div class="bodytext1">You can perform drawing processing for a page.
134
+ For details, please refer to a chapter of "<a href="graphics.html">Graphics</a>".<br>
135
+ <br>
136
+ </div>
137
+ <h3><a name="Save_a_document_to_file_"></a>Save a document to file or
138
+ memory stream.<br>
139
+ </h3>
140
+ <div class="bodytext1">Call <a
141
+ href="document_handling.html#HPDF_SaveToFile_">HPDF_SaveToFile()</a>
142
+ to save a document to a
143
+ file.<br>
144
+ <br>
145
+ <div class="bodycode">&nbsp; /* save the document to a file */<br>
146
+ &nbsp; HPDF_SaveToFile (pdf, "test.pdf");<br>
147
+ &nbsp;&nbsp; </div>
148
+ <br>
149
+ If you don't want to save a document to a file, use <a
150
+ href="document_handling.html#HPDF_SaveToStream_">HPDF_SaveToStream()</a>
151
+ instead. <a href="document_handling.html#HPDF_SaveToStream_">HPDF_SaveToStream()</a>
152
+ saves a document to a temporary stream.<br>
153
+ An application can get the data saved by <a
154
+ href="document_handling.html#HPDF_SaveToStream_">HPDF_SaveToStream()</a>
155
+ by invoking <a href="document_handling.html#HPDF_ReadFromStream_">HPDF_ReadFromStream()</a>.<br>
156
+ The following codes are examples of outputting the document directly to
157
+ stdout.<br>
158
+ <br>
159
+ <div class="bodycode">&nbsp; <br>
160
+ &nbsp; /* save the document to a stream */<br>
161
+ &nbsp; HPDF_SaveToStream (pdf);<br>
162
+ &nbsp; fprintf (stderr, "the size of data is %d\n",
163
+ HPDF_GetStreamSize(pdf));<br>
164
+ <br>
165
+ &nbsp; /* rewind the stream. */<br>
166
+ &nbsp; HPDF_ResetStream (pdf);<br>
167
+ <br>
168
+ &nbsp; /* get the data from the stream and output it to stdout. */<br>
169
+ &nbsp; for (;;) {<br>
170
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HPDF_BYTE buf[4096];<br>
171
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HPDF_UINT32 siz = 4096;<br>
172
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HPDF_STATUS ret = HPDF_ReadFromStream
173
+ (pdf, buf, &amp;siz);<br>
174
+ <br>
175
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (siz == 0)<br>
176
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br>
177
+ <br>
178
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (fwrite (buf, siz, 1, stdout) != 1) {<br>
179
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fprintf (stderr,
180
+ "cannot write to stdout", siz, wsiz);<br>
181
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br>
182
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
183
+ &nbsp; }<br>
184
+ &nbsp; <br>
185
+ </div>
186
+ <br>
187
+ </div>
188
+ <h3><a name="Create_next_document_"></a>Create next document<br>
189
+ </h3>
190
+ <div class="bodytext1">If you want to create next document, call
191
+ <a href="document_handling.html#HPDF_NewDoc_">HPDF_NewDoc()</a>.<br>
192
+ <a href="document_handling.html#HPDF_NewDoc_">HPDF_NewDoc()</a> create
193
+ a new document after revoking a current document.<br>
194
+ &nbsp;<br>
195
+ <div class="bodycode">&nbsp;&nbsp; HPDF_NewDoc (pdf);&nbsp; <br>
196
+ </div>
197
+ <br>
198
+ </div>
199
+ <h3><a name="Finalization_and_cleanup_"></a>Finalization and cleanup<br>
200
+ </h3>
201
+ <div class="bodytext1">After all processes are finished, call
202
+ <a href="document_handling.html#HPDF_Free_">HPDF_Free() </a>to free
203
+ all resources which belong to the document object.<br>
204
+ <br>
205
+ <div class="bodycode">&nbsp;&nbsp; /* cleanup */<br>
206
+ &nbsp;&nbsp; HPDF_Free (pdf);&nbsp; <br>
207
+ </div>
208
+ <br>
209
+ <br>
210
+ </div>
211
+ </div>
212
+ </div>
213
+ <div id="lcol">
214
+ <div class="sidebar"><br>
215
+ <ul>
216
+ <li>
217
+ <h3 style="text-align: left;"><a href="#Overview_">Overview</a> </h3>
218
+ </li>
219
+ <li>
220
+ <h3 style="text-align: left;"><a
221
+ href="#Initializing_a_document_object_">Initializing a document object</a>
222
+ </h3>
223
+ </li>
224
+ <li>
225
+ <h3 style="text-align: left;"><a href="#Setting_a_document_object_">Setting
226
+ a document object</a> </h3>
227
+ </li>
228
+ <li>
229
+ <h3 style="text-align: left;"><a href="#Create_a_page_object_">Create
230
+ a page object</a> </h3>
231
+ </li>
232
+ <li>
233
+ <h3 style="text-align: left;"> <a href="#Setting_a_page_object_">Setting
234
+ a page object</a> </h3>
235
+ </li>
236
+ <li>
237
+ <h3 style="text-align: left;"> <a
238
+ href="#Page_description_processing_">Page description processing</a></h3>
239
+ </li>
240
+ <li>
241
+ <h3><a href="#Save_a_document_to_file_">Save a document to file</a></h3>
242
+ </li>
243
+ <li>
244
+ <h3><a href="#Create_next_document_">Create next document</a></h3>
245
+ </li>
246
+ <li>
247
+ <h3><a href="#Finalization_and_cleanup_">Finalization and cleanup</a></h3>
248
+ </li>
249
+ </ul>
250
+ <br>
251
+ <br>
252
+ <br>
253
+ <br>
254
+ <br>
255
+ <br>
256
+ <br>
257
+ <br>
258
+ <br>
259
+ <br>
260
+ <br>
261
+ <br>
262
+ <br>
263
+ <br>
264
+ <br>
265
+ <br>
266
+ <br>
267
+ <br>
268
+ <br>
269
+ <br>
270
+ <br>
271
+ <br>
272
+ <br>
273
+ <br>
274
+ <br>
275
+ <br>
276
+ <br>
277
+ <br>
278
+ <br>
279
+ <br>
280
+ <br>
281
+ <br>
282
+ <br>
283
+ <br>
284
+ <br>
285
+ <br>
286
+ <br>
287
+ <br>
288
+ <br>
289
+ <br>
290
+ <br>
291
+ <br>
292
+ <br>
293
+ <br>
294
+ <br>
295
+ <br>
296
+ <br>
297
+ <br>
298
+ <br>
299
+ <br>
300
+ <br>
301
+ <br>
302
+ <br>
303
+ <br>
304
+ <br>
305
+ <br>
306
+ <br>
307
+ <br>
308
+ <br>
309
+ <br>
310
+ <br>
311
+ <br>
312
+ <br>
313
+ <br>
314
+ <br>
315
+ <br>
316
+ <br>
317
+ <br>
318
+ <br>
319
+ <br>
320
+ <br>
321
+ <br>
322
+ <br>
323
+ <br>
324
+ <br>
325
+ <br>
326
+ <br>
327
+ <br>
328
+ <br>
329
+ <br>
330
+ <br>
331
+ <br>
332
+ <br>
333
+ <br>
334
+ <br>
335
+ <br>
336
+ <br>
337
+ <br>
338
+ <br>
339
+ <br>
340
+ <br>
341
+ <br>
342
+ <br>
343
+ <br>
344
+ <br>
345
+ <br>
346
+ <br>
347
+ <br>
348
+ <br>
349
+ <br>
350
+ <br>
351
+ <br>
352
+ <br>
353
+ <br>
354
+ <br>
355
+ <br>
356
+ <br>
357
+ </div>
358
+ </div>
359
+ <br>
360
+ <br>
361
+ <br>
362
+ <br>
363
+ <br>
364
+ <br>
365
+ <br>
366
+ <br>
367
+ <br>
368
+ <br>
369
+ </div>
370
+ </body>
371
+ </html>