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
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>