@syncfusion/ej2-pdf-export 23.2.4 → 24.1.41

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 (165) hide show
  1. package/CHANGELOG.md +0 -18
  2. package/dist/ej2-pdf-export.min.js +2 -2
  3. package/dist/ej2-pdf-export.umd.min.js +2 -2
  4. package/dist/ej2-pdf-export.umd.min.js.map +1 -1
  5. package/dist/es6/ej2-pdf-export.es2015.js +6 -1
  6. package/dist/es6/ej2-pdf-export.es2015.js.map +1 -1
  7. package/dist/es6/ej2-pdf-export.es5.js +6 -1
  8. package/dist/es6/ej2-pdf-export.es5.js.map +1 -1
  9. package/dist/global/ej2-pdf-export.min.js +2 -2
  10. package/dist/global/ej2-pdf-export.min.js.map +1 -1
  11. package/dist/global/index.d.ts +1 -1
  12. package/dist/ts/implementation/actions/action.ts +76 -0
  13. package/dist/ts/implementation/actions/uri-action.ts +52 -0
  14. package/dist/ts/implementation/annotations/action-link-annotation.ts +43 -0
  15. package/dist/ts/implementation/annotations/annotation-collection.ts +159 -0
  16. package/dist/ts/implementation/annotations/annotation.ts +241 -0
  17. package/dist/ts/implementation/annotations/document-link-annotation.ts +118 -0
  18. package/dist/ts/implementation/annotations/link-annotation.ts +32 -0
  19. package/dist/ts/implementation/annotations/pdf-text-web-link.ts +265 -0
  20. package/dist/ts/implementation/annotations/uri-annotation.ts +86 -0
  21. package/dist/ts/implementation/collections/dictionary.ts +150 -0
  22. package/dist/ts/implementation/collections/object-object-pair/dictionary.ts +125 -0
  23. package/dist/ts/implementation/collections/utils.ts +38 -0
  24. package/dist/ts/implementation/document/automatic-fields/automatic-field-info-collection.ts +39 -0
  25. package/dist/ts/implementation/document/automatic-fields/automatic-field-info.ts +108 -0
  26. package/dist/ts/implementation/document/automatic-fields/automatic-field.ts +127 -0
  27. package/dist/ts/implementation/document/automatic-fields/composite-field.ts +76 -0
  28. package/dist/ts/implementation/document/automatic-fields/multiple-value-field.ts +37 -0
  29. package/dist/ts/implementation/document/automatic-fields/page-count-field.ts +75 -0
  30. package/dist/ts/implementation/document/automatic-fields/pdf-numbers-convertor.ts +157 -0
  31. package/dist/ts/implementation/document/automatic-fields/pdf-page-number-field.ts +82 -0
  32. package/dist/ts/implementation/document/automatic-fields/pdf-template-value-pair.ts +60 -0
  33. package/dist/ts/implementation/document/automatic-fields/single-value-field.ts +48 -0
  34. package/dist/ts/implementation/document/pdf-catalog.ts +65 -0
  35. package/dist/ts/implementation/document/pdf-document-base.ts +180 -0
  36. package/dist/ts/implementation/document/pdf-document-template.ts +310 -0
  37. package/dist/ts/implementation/document/pdf-document.ts +342 -0
  38. package/dist/ts/implementation/document/pdf-viewer-preferences.ts +578 -0
  39. package/dist/ts/implementation/drawing/pdf-drawing.ts +218 -0
  40. package/dist/ts/implementation/general/enum.ts +21 -0
  41. package/dist/ts/implementation/general/functions/pdf-function.ts +66 -0
  42. package/dist/ts/implementation/general/functions/pdf-sampled-function.ts +63 -0
  43. package/dist/ts/implementation/general/pdf-cache-collection.ts +97 -0
  44. package/dist/ts/implementation/general/pdf-collection.ts +41 -0
  45. package/dist/ts/implementation/general/pdf-destination.ts +170 -0
  46. package/dist/ts/implementation/graphics/brushes/enum.ts +237 -0
  47. package/dist/ts/implementation/graphics/brushes/pdf-blend.ts +294 -0
  48. package/dist/ts/implementation/graphics/brushes/pdf-brush.ts +68 -0
  49. package/dist/ts/implementation/graphics/brushes/pdf-brushes.ts +2438 -0
  50. package/dist/ts/implementation/graphics/brushes/pdf-color-blend.ts +295 -0
  51. package/dist/ts/implementation/graphics/brushes/pdf-gradient-brush.ts +311 -0
  52. package/dist/ts/implementation/graphics/brushes/pdf-linear-gradient-brush.ts +406 -0
  53. package/dist/ts/implementation/graphics/brushes/pdf-radial-gradient-brush.ts +290 -0
  54. package/dist/ts/implementation/graphics/brushes/pdf-solid-brush.ts +107 -0
  55. package/dist/ts/implementation/graphics/brushes/pdf-tiling-brush.ts +304 -0
  56. package/dist/ts/implementation/graphics/constants.ts +31 -0
  57. package/dist/ts/implementation/graphics/enum.ts +413 -0
  58. package/dist/ts/implementation/graphics/figures/arc.ts +133 -0
  59. package/dist/ts/implementation/graphics/figures/base/draw-element.ts +59 -0
  60. package/dist/ts/implementation/graphics/figures/base/element-layouter.ts +260 -0
  61. package/dist/ts/implementation/graphics/figures/base/fill-element.ts +72 -0
  62. package/dist/ts/implementation/graphics/figures/base/graphics-element.ts +34 -0
  63. package/dist/ts/implementation/graphics/figures/base/pdf-shape-element.ts +69 -0
  64. package/dist/ts/implementation/graphics/figures/base/shape-layouter.ts +276 -0
  65. package/dist/ts/implementation/graphics/figures/base/text-layouter.ts +205 -0
  66. package/dist/ts/implementation/graphics/figures/ellipse-part.ts +76 -0
  67. package/dist/ts/implementation/graphics/figures/enum.ts +80 -0
  68. package/dist/ts/implementation/graphics/figures/layout-element.ts +132 -0
  69. package/dist/ts/implementation/graphics/figures/path.ts +646 -0
  70. package/dist/ts/implementation/graphics/figures/pdf-template.ts +205 -0
  71. package/dist/ts/implementation/graphics/figures/rectangle-area.ts +108 -0
  72. package/dist/ts/implementation/graphics/figures/text-element.ts +445 -0
  73. package/dist/ts/implementation/graphics/fonts/enum.ts +385 -0
  74. package/dist/ts/implementation/graphics/fonts/pdf-font-metrics.ts +248 -0
  75. package/dist/ts/implementation/graphics/fonts/pdf-font.ts +316 -0
  76. package/dist/ts/implementation/graphics/fonts/pdf-standard-font-metrics-factory.ts +606 -0
  77. package/dist/ts/implementation/graphics/fonts/pdf-standard-font.ts +243 -0
  78. package/dist/ts/implementation/graphics/fonts/pdf-string-format.ts +474 -0
  79. package/dist/ts/implementation/graphics/fonts/pdf-true-type-font.ts +165 -0
  80. package/dist/ts/implementation/graphics/fonts/rtl/rtl-bidirectional.ts +958 -0
  81. package/dist/ts/implementation/graphics/fonts/rtl/rtl-text-shape.ts +374 -0
  82. package/dist/ts/implementation/graphics/fonts/rtl-renderer.ts +255 -0
  83. package/dist/ts/implementation/graphics/fonts/string-layouter.ts +617 -0
  84. package/dist/ts/implementation/graphics/fonts/string-tokenizer.ts +275 -0
  85. package/dist/ts/implementation/graphics/fonts/ttf-OS2-Table.ts +206 -0
  86. package/dist/ts/implementation/graphics/fonts/ttf-apple-cmap-sub-table.ts +18 -0
  87. package/dist/ts/implementation/graphics/fonts/ttf-cmap-sub-table.ts +18 -0
  88. package/dist/ts/implementation/graphics/fonts/ttf-cmap-table.ts +14 -0
  89. package/dist/ts/implementation/graphics/fonts/ttf-glyph-header.ts +26 -0
  90. package/dist/ts/implementation/graphics/fonts/ttf-glyph-info.ts +35 -0
  91. package/dist/ts/implementation/graphics/fonts/ttf-head-table.ts +94 -0
  92. package/dist/ts/implementation/graphics/fonts/ttf-horizontal-header-table.ts +56 -0
  93. package/dist/ts/implementation/graphics/fonts/ttf-loca-table.ts +10 -0
  94. package/dist/ts/implementation/graphics/fonts/ttf-long-hor-metric.ts +14 -0
  95. package/dist/ts/implementation/graphics/fonts/ttf-metrics.ts +106 -0
  96. package/dist/ts/implementation/graphics/fonts/ttf-microsoft-cmap-sub-table.ts +58 -0
  97. package/dist/ts/implementation/graphics/fonts/ttf-name-record.ts +33 -0
  98. package/dist/ts/implementation/graphics/fonts/ttf-name-table.ts +22 -0
  99. package/dist/ts/implementation/graphics/fonts/ttf-post-table.ts +42 -0
  100. package/dist/ts/implementation/graphics/fonts/ttf-reader.ts +1254 -0
  101. package/dist/ts/implementation/graphics/fonts/ttf-table-info.ts +26 -0
  102. package/dist/ts/implementation/graphics/fonts/ttf-trimmed-cmap-sub-table.ts +26 -0
  103. package/dist/ts/implementation/graphics/fonts/unicode-true-type-font.ts +577 -0
  104. package/dist/ts/implementation/graphics/images/byte-array.ts +137 -0
  105. package/dist/ts/implementation/graphics/images/image-decoder.ts +439 -0
  106. package/dist/ts/implementation/graphics/images/pdf-bitmap.ts +110 -0
  107. package/dist/ts/implementation/graphics/images/pdf-image.ts +132 -0
  108. package/dist/ts/implementation/graphics/pdf-color.ts +478 -0
  109. package/dist/ts/implementation/graphics/pdf-graphics.ts +2429 -0
  110. package/dist/ts/implementation/graphics/pdf-margins.ts +124 -0
  111. package/dist/ts/implementation/graphics/pdf-pen.ts +370 -0
  112. package/dist/ts/implementation/graphics/pdf-resources.ts +300 -0
  113. package/dist/ts/implementation/graphics/pdf-transformation-matrix.ts +246 -0
  114. package/dist/ts/implementation/graphics/pdf-transparency.ts +93 -0
  115. package/dist/ts/implementation/graphics/unit-convertor.ts +96 -0
  116. package/dist/ts/implementation/input-output/big-endian-writer.ts +121 -0
  117. package/dist/ts/implementation/input-output/cross-table.ts +21 -0
  118. package/dist/ts/implementation/input-output/enum.ts +16 -0
  119. package/dist/ts/implementation/input-output/pdf-cross-table.ts +524 -0
  120. package/dist/ts/implementation/input-output/pdf-dictionary-properties.ts +571 -0
  121. package/dist/ts/implementation/input-output/pdf-main-object-collection.ts +194 -0
  122. package/dist/ts/implementation/input-output/pdf-operators.ts +363 -0
  123. package/dist/ts/implementation/input-output/pdf-stream-writer.ts +681 -0
  124. package/dist/ts/implementation/input-output/pdf-writer.ts +88 -0
  125. package/dist/ts/implementation/pages/enum.ts +201 -0
  126. package/dist/ts/implementation/pages/page-added-event-arguments.ts +39 -0
  127. package/dist/ts/implementation/pages/pdf-document-page-collection.ts +180 -0
  128. package/dist/ts/implementation/pages/pdf-page-base.ts +181 -0
  129. package/dist/ts/implementation/pages/pdf-page-layer-collection.ts +348 -0
  130. package/dist/ts/implementation/pages/pdf-page-layer.ts +271 -0
  131. package/dist/ts/implementation/pages/pdf-page-settings.ts +192 -0
  132. package/dist/ts/implementation/pages/pdf-page-size.ts +162 -0
  133. package/dist/ts/implementation/pages/pdf-page-template-element.ts +663 -0
  134. package/dist/ts/implementation/pages/pdf-page.ts +235 -0
  135. package/dist/ts/implementation/pages/pdf-section-collection.ts +187 -0
  136. package/dist/ts/implementation/pages/pdf-section-page-collection.ts +61 -0
  137. package/dist/ts/implementation/pages/pdf-section-templates.ts +96 -0
  138. package/dist/ts/implementation/pages/pdf-section.ts +644 -0
  139. package/dist/ts/implementation/primitives/pdf-array.ts +386 -0
  140. package/dist/ts/implementation/primitives/pdf-boolean.ts +119 -0
  141. package/dist/ts/implementation/primitives/pdf-dictionary.ts +513 -0
  142. package/dist/ts/implementation/primitives/pdf-name.ts +218 -0
  143. package/dist/ts/implementation/primitives/pdf-number.ts +165 -0
  144. package/dist/ts/implementation/primitives/pdf-reference.ts +430 -0
  145. package/dist/ts/implementation/primitives/pdf-stream.ts +306 -0
  146. package/dist/ts/implementation/primitives/pdf-string.ts +397 -0
  147. package/dist/ts/implementation/structured-elements/grid/layout/grid-layouter.ts +2027 -0
  148. package/dist/ts/implementation/structured-elements/grid/pdf-grid-cell.ts +1193 -0
  149. package/dist/ts/implementation/structured-elements/grid/pdf-grid-column.ts +206 -0
  150. package/dist/ts/implementation/structured-elements/grid/pdf-grid-row.ts +470 -0
  151. package/dist/ts/implementation/structured-elements/grid/pdf-grid.ts +853 -0
  152. package/dist/ts/implementation/structured-elements/grid/styles/pdf-borders.ts +240 -0
  153. package/dist/ts/implementation/structured-elements/grid/styles/style.ts +424 -0
  154. package/dist/ts/implementation/structured-elements/tables/light-tables/enum.ts +16 -0
  155. package/dist/ts/interfaces/i-pdf-cache.ts +23 -0
  156. package/dist/ts/interfaces/i-pdf-changable.ts +17 -0
  157. package/dist/ts/interfaces/i-pdf-clonable.ts +12 -0
  158. package/dist/ts/interfaces/i-pdf-primitives.ts +45 -0
  159. package/dist/ts/interfaces/i-pdf-true-type-font.ts +48 -0
  160. package/dist/ts/interfaces/i-pdf-wrapper.ts +13 -0
  161. package/dist/ts/interfaces/i-pdf-writer.ts +29 -0
  162. package/package.json +7 -7
  163. package/src/implementation/document/pdf-document-base.js +1 -2
  164. package/src/implementation/graphics/pdf-graphics.js +7 -2
  165. package/src/implementation/graphics/pdf-transformation-matrix.d.ts +1 -1
@@ -0,0 +1,578 @@
1
+ import { DictionaryProperties } from './../input-output/pdf-dictionary-properties';
2
+ import { PdfCatalog } from './pdf-catalog';
3
+ import { PdfDictionary } from './../primitives/pdf-dictionary';
4
+ import { PdfBoolean } from './../primitives/pdf-boolean';
5
+ import { PdfName } from './../primitives/pdf-name';
6
+ import { IPdfPrimitive } from './../../interfaces/i-pdf-primitives';
7
+ import { IPdfWrapper } from './../../interfaces/i-pdf-wrapper';
8
+ /**
9
+ * Defines the way the document is to be presented on the screen or in print.
10
+ * ```typescript
11
+ * // Create a new PDF document
12
+ * let document : PdfDocument = new PdfDocument();
13
+ * // Gets viewer preferences
14
+ * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;
15
+ * // Destroy the document
16
+ * document.destroy();
17
+ * ```
18
+ */
19
+ export class PdfViewerPreferences implements IPdfWrapper {
20
+ /**
21
+ * Initialize a new instance of `PdfViewerPreferences` class.
22
+ *
23
+ * @private
24
+ * ```
25
+ */
26
+ constructor(catalog: PdfCatalog) {
27
+ this._catalog = catalog;
28
+ }
29
+ _dictionaryProperties : DictionaryProperties = new DictionaryProperties();
30
+ _catalog: PdfCatalog;
31
+ _centerWindow: boolean = false;
32
+ _fitWindow: boolean = false;
33
+ _displayTitle: boolean = false;
34
+ _splitWindow: boolean = false;
35
+ _hideMenuBar: boolean = false;
36
+ _hideToolBar: boolean = false;
37
+ _hideWindowUI: boolean = false;
38
+ _pageMode: PdfPageMode = PdfPageMode.UseNone;
39
+ _pageLayout: PdfPageLayout = PdfPageLayout.SinglePage;
40
+ _dictionary: PdfDictionary = new PdfDictionary();
41
+ _pageScaling: PageScalingMode;
42
+ _duplex: DuplexMode = DuplexMode.None;
43
+ /**
44
+ * A flag specifying whether to position the document’s window in the center of the screen.
45
+ * ```typescript
46
+ * // Create a new PDF document
47
+ * let document : PdfDocument = new PdfDocument();
48
+ * // Gets the viewer preferences of the document
49
+ * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;
50
+ * // Gets the center window
51
+ * let centerWindow : boolean = viewerPreferences.centerWindow;
52
+ * // Destroy the document
53
+ * document.destroy();
54
+ * ```
55
+ */
56
+ get centerWindow(): boolean {
57
+ return this._centerWindow;
58
+ }
59
+ /**
60
+ * A flag specifying whether to position the document’s window in the center of the screen.
61
+ * ```typescript
62
+ * // Create a new PDF document
63
+ * let document : PdfDocument = new PdfDocument();
64
+ * // Gets the viewer preferences of the document
65
+ * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;
66
+ * // Sets the center window
67
+ * viewerPreferences.centerWindow = true;
68
+ * // Destroy the document
69
+ * document.destroy();
70
+ * ```
71
+ */
72
+ set centerWindow(value: boolean) {
73
+ this._centerWindow = value;
74
+ this._dictionary.items.setValue(this._dictionaryProperties.centerWindow, new PdfBoolean(this._centerWindow));
75
+ }
76
+ /**
77
+ * A flag specifying whether the window’s title bar should display the document title taken
78
+ * from the Title entry of the document information dictionary. If false, the title bar
79
+ * should instead display the name of the PDF file containing the document.
80
+ * ```typescript
81
+ * // Create a new PDF document
82
+ * let document : PdfDocument = new PdfDocument();
83
+ * // Gets the viewer preferences of the document
84
+ * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;
85
+ * // Gets the display title
86
+ * let displayTitle : boolean = viewerPreferences.displayTitle;
87
+ * // Destroy the document
88
+ * document.destroy();
89
+ * ```
90
+ */
91
+ get displayTitle(): boolean {
92
+ return this._displayTitle;
93
+ }
94
+ /**
95
+ * A flag specifying whether the window’s title bar should display the document title taken
96
+ * from the Title entry of the document information dictionary. If false, the title bar
97
+ * should instead display the name of the PDF file containing the document.
98
+ * ```typescript
99
+ * // Create a new PDF document
100
+ * let document : PdfDocument = new PdfDocument();
101
+ * // Gets the viewer preferences of the document
102
+ * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;
103
+ * // Sets the display title
104
+ * viewerPreferences.displayTitle = true;
105
+ * // Destroy the document
106
+ * document.destroy();
107
+ * ```
108
+ */
109
+ set displayTitle(value: boolean) {
110
+ this._displayTitle = value;
111
+ this._dictionary.items.setValue(this._dictionaryProperties.displayTitle, new PdfBoolean(this._displayTitle));
112
+ }
113
+ /**
114
+ * A flag specifying whether to resize the document’s window to fit the size of the first
115
+ * displayed page.
116
+ * ```typescript
117
+ * // Create a new PDF document
118
+ * let document : PdfDocument = new PdfDocument();
119
+ * // Gets the viewer preferences of the document
120
+ * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;
121
+ * // Gets the fit window
122
+ * let fitWindow : boolean = viewerPreferences.fitWindow;
123
+ * // Destroy the document
124
+ * document.destroy();
125
+ * ```
126
+ */
127
+ get fitWindow(): boolean {
128
+ return this._fitWindow;
129
+ }
130
+ /**
131
+ * A flag specifying whether to resize the document’s window to fit the size of the first
132
+ * displayed page.
133
+ * ```typescript
134
+ * // Create a new PDF document
135
+ * let document : PdfDocument = new PdfDocument();
136
+ * // Gets the viewer preferences of the document
137
+ * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;
138
+ * // Sets the fit window
139
+ * viewerPreferences.fitWindow = true;
140
+ * // Destroy the document
141
+ * document.destroy();
142
+ * ```
143
+ */
144
+ set fitWindow(value: boolean) {
145
+ this._fitWindow = value;
146
+ this._dictionary.items.setValue(this._dictionaryProperties.fitWindow, new PdfBoolean(this._fitWindow));
147
+ }
148
+ /**
149
+ * A flag specifying whether to hide the viewer application’s menu bar when the
150
+ * document is active.
151
+ * ```typescript
152
+ * // Create a new PDF document
153
+ * let document : PdfDocument = new PdfDocument();
154
+ * // Gets the viewer preferences of the document
155
+ * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;
156
+ * // Gets the hide menu bar
157
+ * let hideMenuBar: boolean = viewerPreferences.hideMenuBar;
158
+ * // Destroy the document
159
+ * document.destroy();
160
+ * ```
161
+ */
162
+ get hideMenuBar(): boolean {
163
+ return this._hideMenuBar;
164
+ }
165
+ /**
166
+ * A flag specifying whether to hide the viewer application’s menu bar when the
167
+ * document is active.
168
+ * ```typescript
169
+ * // Create a new PDF document
170
+ * let document : PdfDocument = new PdfDocument();
171
+ * // Gets the viewer preferences of the document
172
+ * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;
173
+ * // Sets the hide menu bar
174
+ * viewerPreferences.hideMenuBar = true;
175
+ * // Destroy the document
176
+ * document.destroy();
177
+ * ```
178
+ */
179
+ set hideMenuBar(value: boolean) {
180
+ this._hideMenuBar = value;
181
+ this._dictionary.items.setValue(this._dictionaryProperties.hideMenuBar, new PdfBoolean(this._hideMenuBar));
182
+ }
183
+ /**
184
+ * A flag specifying whether to hide the viewer application’s tool bar when the
185
+ * document is active.
186
+ * ```typescript
187
+ * // Create a new PDF document
188
+ * let document : PdfDocument = new PdfDocument();
189
+ * // Gets the viewer preferences of the document
190
+ * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;
191
+ * // Gets the hide tool bar
192
+ * let hideToolBar: boolean = viewerPreferences.hideToolBar;
193
+ * // Destroy the document
194
+ * document.destroy();
195
+ * ```
196
+ */
197
+ get hideToolBar(): boolean {
198
+ return this._hideToolBar;
199
+ }
200
+ /**
201
+ * A flag specifying whether to hide the viewer application’s tool bar when the
202
+ * document is active.
203
+ * ```typescript
204
+ * // Create a new PDF document
205
+ * let document : PdfDocument = new PdfDocument();
206
+ * // Gets the viewer preferences of the document
207
+ * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;
208
+ * // Sets the hide tool bar
209
+ * viewerPreferences.hideToolbar = true;
210
+ * // Destroy the document
211
+ * document.destroy();
212
+ * ```
213
+ */
214
+ set hideToolBar(value: boolean) {
215
+ this._hideToolBar = value;
216
+ this._dictionary.items.setValue(this._dictionaryProperties.hideToolBar, new PdfBoolean(this._hideToolBar));
217
+ }
218
+ /**
219
+ * A flag specifying whether to hide user interface elements in the document’s window
220
+ * (such as scroll bars and navigation controls), leaving only the document’s contents displayed.
221
+ * ```typescript
222
+ * // Create a new PDF document
223
+ * let document : PdfDocument = new PdfDocument();
224
+ * // Gets the viewer preferences of the document
225
+ * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;
226
+ * // Gets the hide window UI
227
+ * let hideWindowUI: boolean = viewerPreferences.hideWindowUI;
228
+ * // Destroy the document
229
+ * document.destroy();
230
+ * ```
231
+ */
232
+ get hideWindowUI(): boolean {
233
+ return this._hideWindowUI;
234
+ }
235
+ /**
236
+ * A flag specifying whether to hide user interface elements in the document’s window
237
+ * (such as scroll bars and navigation controls), leaving only the document’s contents displayed.
238
+ * ```typescript
239
+ * // Create a new PDF document
240
+ * let document : PdfDocument = new PdfDocument();
241
+ * // Gets the viewer preferences of the document
242
+ * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;
243
+ * // Sets the hide window UI
244
+ * viewerPreferences.hideWindowUI = true;
245
+ * // Destroy the document
246
+ * document.destroy();
247
+ * ```
248
+ */
249
+ set hideWindowUI(value: boolean) {
250
+ this._hideWindowUI = value;
251
+ this._dictionary.items.setValue(this._dictionaryProperties.hideWindowUI, new PdfBoolean(this._hideWindowUI));
252
+ }
253
+ /**
254
+ * A name object specifying how the document should be displayed when opened.
255
+ * ```typescript
256
+ * // Create a new PDF document
257
+ * let document : PdfDocument = new PdfDocument();
258
+ * // Gets the viewer preferences of the document
259
+ * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;
260
+ * // Gets the page mode
261
+ * let pageMode: PdfPageMode = viewerPreferences.pageMode;
262
+ * // Destroy the document
263
+ * document.destroy();
264
+ * ```
265
+ */
266
+ get pageMode(): PdfPageMode {
267
+ return this._pageMode;
268
+ }
269
+ /**
270
+ * A name object specifying how the document should be displayed when opened.
271
+ * ```typescript
272
+ * // Create a new PDF document
273
+ * let document : PdfDocument = new PdfDocument();
274
+ * // Gets the viewer preferences of the document
275
+ * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;
276
+ * // Sets the page mode
277
+ * viewerPreferences.pageMode = PdfPageMode.UseOutlines;
278
+ * // Destroy the document
279
+ * document.destroy();
280
+ * ```
281
+ */
282
+ set pageMode(value: PdfPageMode) {
283
+ this._pageMode = value;
284
+ this._catalog.items.setValue(this._dictionaryProperties.pageMode, new PdfName(this._mapPageMode(this._pageMode)));
285
+ }
286
+ /**
287
+ * Gets print duplex mode handling option to use when printing the file from the print dialog.
288
+ * ```typescript
289
+ * // Create a new PDF document
290
+ * let document : PdfDocument = new PdfDocument();
291
+ * // Gets the viewer preferences of the document
292
+ * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;
293
+ * // Gets the duplex
294
+ * let duplex : DuplexMode = viewerPreferences.duplex;
295
+ * // Destroy the document
296
+ * document.destroy();
297
+ * ```
298
+ */
299
+ get duplex(): DuplexMode {
300
+ return this._duplex;
301
+ }
302
+ /**
303
+ * Sets print duplex mode handling option to use when printing the file from the print dialog.
304
+ * ```typescript
305
+ * // Create a new PDF document
306
+ * let document : PdfDocument = new PdfDocument();
307
+ * // Gets the viewer preferences of the document
308
+ * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;
309
+ * // Sets the duplex
310
+ * viewerPreferences.duplex = DuplexMode.DuplexFlipLongEdge;
311
+ * // Destroy the document
312
+ * document.destroy();
313
+ * ```
314
+ */
315
+ set duplex(value: DuplexMode) {
316
+ this._duplex = value;
317
+ this._catalog.items.setValue(this._dictionaryProperties.duplex, new PdfName(this._mapDuplexMode(this._duplex)));
318
+ }
319
+ /**
320
+ * A name object specifying the page layout to be used when the document is opened.
321
+ * ```typescript
322
+ * // Create a new PDF document
323
+ * let document : PdfDocument = new PdfDocument();
324
+ * // Gets the viewer preferences of the document
325
+ * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;
326
+ * // Gets the page layout
327
+ * let pageLayout : PdfPageLayout = viewerPreferences.pageLayout;
328
+ * // Destroy the document
329
+ * document.destroy();
330
+ * ```
331
+ */
332
+ get pageLayout(): PdfPageLayout {
333
+ return this._pageLayout;
334
+ }
335
+ /**
336
+ * A name object specifying the page layout to be used when the document is opened.
337
+ * ```typescript
338
+ * // Create a new PDF document
339
+ * let document : PdfDocument = new PdfDocument();
340
+ * // Gets the viewer preferences of the document
341
+ * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;
342
+ * // Sets the page layout
343
+ * viewerPreferences.pageLayout = PdfPageLayout.TwoColumnLeft;
344
+ * // Destroy the document
345
+ * document.destroy();
346
+ * ```
347
+ */
348
+ set pageLayout(value: PdfPageLayout) {
349
+ this._pageLayout = value;
350
+ this._catalog.items.setValue(this._dictionaryProperties.pageLayout, new PdfName(this._mapPageLayout(this._pageLayout)));
351
+ }
352
+ /**
353
+ * Gets the page scaling option to be selected
354
+ * when a print dialog is displayed for this document.
355
+ * ```typescript
356
+ * // Create a new PDF document
357
+ * let document : PdfDocument = new PdfDocument();
358
+ * // Gets the viewer preferences of the document
359
+ * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;
360
+ * // Gets the page scaling
361
+ * let pageScaling : PageScalingMode = viewerPreferences.pageScaling;
362
+ * // Destroy the document
363
+ * document.destroy();
364
+ * ```
365
+ */
366
+ get pageScaling(): PageScalingMode {
367
+ return this._pageScaling;
368
+ }
369
+ /**
370
+ * Sets the page scaling option to be selected
371
+ * when a print dialog is displayed for this document.
372
+ * ```typescript
373
+ * // Create a new PDF document
374
+ * let document : PdfDocument = new PdfDocument();
375
+ * // Gets the viewer preferences of the document
376
+ * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;
377
+ * // Sets the page scaling
378
+ * viewerPreferences.pageScaling = PageScalingMode.None;
379
+ * // Destroy the document
380
+ * document.destroy();
381
+ * ```
382
+ */
383
+ set pageScaling(value: PageScalingMode) {
384
+ this._pageScaling = value;
385
+ if (this._pageScaling === PageScalingMode.AppDefault && this._dictionary.items.containsKey(this._dictionaryProperties.printScaling)) {
386
+ this._dictionary.items.remove(this._dictionaryProperties.printScaling);
387
+ } else if (this._pageScaling === PageScalingMode.None) {
388
+ this._dictionary.items.setValue(this._dictionaryProperties.printScaling, new PdfName('None'));
389
+ }
390
+ }
391
+ /**
392
+ * Primivie element
393
+ *
394
+ * @private
395
+ */
396
+ get element(): IPdfPrimitive {
397
+ return this._dictionary;
398
+ }
399
+ _mapDuplexMode(mode: DuplexMode): string {
400
+ switch (mode) {
401
+ case DuplexMode.Simplex:
402
+ return 'Simplex';
403
+ case DuplexMode.DuplexFlipShortEdge:
404
+ return 'DuplexFlipShortEdge';
405
+ case DuplexMode.DuplexFlipLongEdge:
406
+ return 'DuplexFlipLongEdge';
407
+ case DuplexMode.None:
408
+ return 'None';
409
+ }
410
+ }
411
+ _mapPageMode(mode: PdfPageMode): string {
412
+ switch (mode) {
413
+ case PdfPageMode.UseNone:
414
+ return 'UseNone';
415
+ case PdfPageMode.UseOutlines:
416
+ return 'UseOutlines';
417
+ case PdfPageMode.UseThumbs:
418
+ return 'UseThumbs';
419
+ case PdfPageMode.FullScreen:
420
+ return 'FullScreen';
421
+ case PdfPageMode.UseOC:
422
+ return 'UseOC';
423
+ case PdfPageMode.UseAttachments:
424
+ return 'UseAttachments';
425
+ }
426
+ }
427
+ _mapPageLayout(layout: PdfPageLayout): string {
428
+ switch (layout) {
429
+ case PdfPageLayout.SinglePage:
430
+ return 'SinglePage';
431
+ case PdfPageLayout.OneColumn:
432
+ return 'OneColumn';
433
+ case PdfPageLayout.TwoColumnLeft:
434
+ return 'TwoColumnLeft';
435
+ case PdfPageLayout.TwoColumnRight:
436
+ return 'TwoColumnRight';
437
+ case PdfPageLayout.TwoPageLeft:
438
+ return 'TwoPageLeft';
439
+ case PdfPageLayout.TwoPageRight:
440
+ return 'TwoPageRight';
441
+ }
442
+ }
443
+ }
444
+ /**
445
+ * Represents mode of document displaying.
446
+ * ```typescript
447
+ * // Create a new PDF document
448
+ * let document : PdfDocument = new PdfDocument();
449
+ * // Gets the viewer preferences of the document
450
+ * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;
451
+ * // Sets the page mode
452
+ * viewerPreferences.pageMode = PdfPageMode.UseOutlines;
453
+ * // Destroy the document
454
+ * document.destroy();
455
+ * ```
456
+ */
457
+ export enum PdfPageMode {
458
+ /**
459
+ * Default value. Neither document outline nor thumbnail images visible.
460
+ */
461
+ UseNone,
462
+ /**
463
+ * Document outline visible.
464
+ */
465
+ UseOutlines,
466
+ /**
467
+ * Thumbnail images visible.
468
+ */
469
+ UseThumbs,
470
+ /**
471
+ * Full-screen mode, with no menu bar, window controls, or any other window visible.
472
+ */
473
+ FullScreen,
474
+ /**
475
+ * Optional content group panel visible.
476
+ */
477
+ UseOC,
478
+ /**
479
+ * Attachments are visible.
480
+ */
481
+ UseAttachments
482
+ }
483
+ /**
484
+ * A name object specifying the page layout to be used when the document is opened.
485
+ * ```typescript
486
+ * // Create a new PDF document
487
+ * let document : PdfDocument = new PdfDocument();
488
+ * // Gets the viewer preferences of the document
489
+ * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;
490
+ * // Sets the page layout
491
+ * viewerPreferences.pageLayout = PdfPageLayout.TwoColumnLeft;
492
+ * // Destroy the document
493
+ * document.destroy();
494
+ * ```
495
+ */
496
+ export enum PdfPageLayout {
497
+ /**
498
+ * Default Value. Display one page at a time.
499
+ */
500
+ SinglePage,
501
+ /**
502
+ * Display the pages in one column.
503
+ */
504
+ OneColumn,
505
+ /**
506
+ * Display the pages in two columns, with odd numbered
507
+ * pages on the left.
508
+ */
509
+ TwoColumnLeft,
510
+ /**
511
+ * Display the pages in two columns, with odd numbered
512
+ * pages on the right.
513
+ */
514
+ TwoColumnRight,
515
+ /**
516
+ * Display the pages two at a time, with odd-numbered pages on the left.
517
+ */
518
+ TwoPageLeft,
519
+ /**
520
+ * Display the pages two at a time, with odd-numbered pages on the right.
521
+ */
522
+ TwoPageRight
523
+ }
524
+ /**
525
+ * The paper handling option to use when printing the file from the print dialog.
526
+ * ```typescript
527
+ * // Create a new PDF document
528
+ * let document : PdfDocument = new PdfDocument();
529
+ * // Gets the viewer preferences of the document
530
+ * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;
531
+ * // Sets the duplex
532
+ * viewerPreferences.duplex = DuplexMode.DuplexFlipLongEdge;
533
+ * // Destroy the document
534
+ * document.destroy();
535
+ * ```
536
+ */
537
+ export enum DuplexMode {
538
+ /**
539
+ * Print single-sided.
540
+ */
541
+ Simplex,
542
+ /**
543
+ * Duplex and flip on the short edge of the sheet.
544
+ */
545
+ DuplexFlipShortEdge,
546
+ /**
547
+ * Duplex and flip on the long edge of the sheet.
548
+ */
549
+ DuplexFlipLongEdge,
550
+ /**
551
+ * Default value.
552
+ */
553
+ None
554
+ }
555
+ /**
556
+ * Specifies the different page scaling option that shall be selected
557
+ * when a print dialog is displayed for this document.
558
+ * ```typescript
559
+ * // Create a new PDF document
560
+ * let document : PdfDocument = new PdfDocument();
561
+ * // Gets the viewer preferences of the document
562
+ * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;
563
+ * // Sets the page scaling
564
+ * viewerPreferences.pageScaling = PageScalingMode.None;
565
+ * // Destroy the document
566
+ * document.destroy();
567
+ * ```
568
+ */
569
+ export enum PageScalingMode {
570
+ /**
571
+ * Indicates the conforming reader’s default print scaling.
572
+ */
573
+ AppDefault,
574
+ /**
575
+ * Indicates no page scaling.
576
+ */
577
+ None
578
+ }