@vaadin-component-factory/vcf-pdf-viewer 1.1.1 → 1.3.0
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.
- package/package.json +1 -1
- package/pdfjs/dist/display_utils.js +714 -714
- package/pdfjs/dist/fetch_stream.js +293 -293
- package/pdfjs/dist/l10n_utils.js +122 -122
- package/pdfjs/dist/message_handler.js +524 -524
- package/pdfjs/dist/network.js +552 -552
- package/pdfjs/dist/network_utils.js +309 -309
- package/pdfjs/dist/node_stream.js +481 -481
- package/pdfjs/dist/pdf.js +11687 -11687
- package/pdfjs/dist/pdf_link_service.js +534 -534
- package/pdfjs/dist/pdf_rendering_queue.js +154 -154
- package/pdfjs/dist/pdf_thumbnail_viewer.js +738 -738
- package/pdfjs/dist/pdf_viewer.js +3207 -3207
- package/pdfjs/dist/ui_utils.js +881 -881
- package/pdfjs/dist/util.js +991 -991
- package/pdfjs/dist/worker.js +60846 -60846
- package/src/vcf-pdf-viewer.js +46 -5
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { parseQueryString } from './ui_utils.js';
|
|
2
|
-
|
|
1
|
+
import { parseQueryString } from './ui_utils.js';
|
|
2
|
+
|
|
3
3
|
/* Copyright 2015 Mozilla Foundation
|
|
4
4
|
*
|
|
5
5
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -13,7 +13,7 @@ import { parseQueryString } from './ui_utils.js';
|
|
|
13
13
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
14
|
* See the License for the specific language governing permissions and
|
|
15
15
|
* limitations under the License.
|
|
16
|
-
*/
|
|
16
|
+
*/
|
|
17
17
|
/**
|
|
18
18
|
* @typedef {Object} PDFLinkServiceOptions
|
|
19
19
|
* @property {EventBus} eventBus - The application event bus.
|
|
@@ -25,614 +25,614 @@ import { parseQueryString } from './ui_utils.js';
|
|
|
25
25
|
* @property {boolean} [ignoreDestinationZoom] - Ignores the zoom argument,
|
|
26
26
|
* thus preserving the current zoom level in the viewer, when navigating
|
|
27
27
|
* to internal destinations. The default value is `false`.
|
|
28
|
-
*/
|
|
29
|
-
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
30
|
/**
|
|
31
31
|
* Performs navigation functions inside PDF, such as opening specified page,
|
|
32
32
|
* or destination.
|
|
33
33
|
* @implements {IPDFLinkService}
|
|
34
|
-
*/
|
|
35
|
-
|
|
36
|
-
class PDFLinkService {
|
|
34
|
+
*/
|
|
35
|
+
|
|
36
|
+
class PDFLinkService {
|
|
37
37
|
/**
|
|
38
38
|
* @param {PDFLinkServiceOptions} options
|
|
39
|
-
*/
|
|
40
|
-
constructor({
|
|
41
|
-
eventBus,
|
|
42
|
-
externalLinkTarget = null,
|
|
43
|
-
externalLinkRel = null,
|
|
44
|
-
ignoreDestinationZoom = false
|
|
45
|
-
} = {}) {
|
|
46
|
-
this.eventBus = eventBus;
|
|
47
|
-
this.externalLinkTarget = externalLinkTarget;
|
|
48
|
-
this.externalLinkRel = externalLinkRel;
|
|
49
|
-
this.externalLinkEnabled = true;
|
|
50
|
-
this._ignoreDestinationZoom = ignoreDestinationZoom;
|
|
51
|
-
this.baseUrl = null;
|
|
52
|
-
this.pdfDocument = null;
|
|
53
|
-
this.pdfViewer = null;
|
|
54
|
-
this.pdfHistory = null;
|
|
55
|
-
this._pagesRefCache = null;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
setDocument(pdfDocument, baseUrl = null) {
|
|
59
|
-
this.baseUrl = baseUrl;
|
|
60
|
-
this.pdfDocument = pdfDocument;
|
|
61
|
-
this._pagesRefCache = Object.create(null);
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
setViewer(pdfViewer) {
|
|
65
|
-
this.pdfViewer = pdfViewer;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
setHistory(pdfHistory) {
|
|
69
|
-
this.pdfHistory = pdfHistory;
|
|
70
|
-
}
|
|
39
|
+
*/
|
|
40
|
+
constructor({
|
|
41
|
+
eventBus,
|
|
42
|
+
externalLinkTarget = null,
|
|
43
|
+
externalLinkRel = null,
|
|
44
|
+
ignoreDestinationZoom = false
|
|
45
|
+
} = {}) {
|
|
46
|
+
this.eventBus = eventBus;
|
|
47
|
+
this.externalLinkTarget = externalLinkTarget;
|
|
48
|
+
this.externalLinkRel = externalLinkRel;
|
|
49
|
+
this.externalLinkEnabled = true;
|
|
50
|
+
this._ignoreDestinationZoom = ignoreDestinationZoom;
|
|
51
|
+
this.baseUrl = null;
|
|
52
|
+
this.pdfDocument = null;
|
|
53
|
+
this.pdfViewer = null;
|
|
54
|
+
this.pdfHistory = null;
|
|
55
|
+
this._pagesRefCache = null;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
setDocument(pdfDocument, baseUrl = null) {
|
|
59
|
+
this.baseUrl = baseUrl;
|
|
60
|
+
this.pdfDocument = pdfDocument;
|
|
61
|
+
this._pagesRefCache = Object.create(null);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
setViewer(pdfViewer) {
|
|
65
|
+
this.pdfViewer = pdfViewer;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
setHistory(pdfHistory) {
|
|
69
|
+
this.pdfHistory = pdfHistory;
|
|
70
|
+
}
|
|
71
71
|
/**
|
|
72
72
|
* @type {number}
|
|
73
|
-
*/
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
get pagesCount() {
|
|
77
|
-
return this.pdfDocument ? this.pdfDocument.numPages : 0;
|
|
78
|
-
}
|
|
73
|
+
*/
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
get pagesCount() {
|
|
77
|
+
return this.pdfDocument ? this.pdfDocument.numPages : 0;
|
|
78
|
+
}
|
|
79
79
|
/**
|
|
80
80
|
* @type {number}
|
|
81
|
-
*/
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
get page() {
|
|
85
|
-
return this.pdfViewer.currentPageNumber;
|
|
86
|
-
}
|
|
81
|
+
*/
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
get page() {
|
|
85
|
+
return this.pdfViewer.currentPageNumber;
|
|
86
|
+
}
|
|
87
87
|
/**
|
|
88
88
|
* @param {number} value
|
|
89
|
-
*/
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
set page(value) {
|
|
93
|
-
this.pdfViewer.currentPageNumber = value;
|
|
94
|
-
}
|
|
89
|
+
*/
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
set page(value) {
|
|
93
|
+
this.pdfViewer.currentPageNumber = value;
|
|
94
|
+
}
|
|
95
95
|
/**
|
|
96
96
|
* @type {number}
|
|
97
|
-
*/
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
get rotation() {
|
|
101
|
-
return this.pdfViewer.pagesRotation;
|
|
102
|
-
}
|
|
97
|
+
*/
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
get rotation() {
|
|
101
|
+
return this.pdfViewer.pagesRotation;
|
|
102
|
+
}
|
|
103
103
|
/**
|
|
104
104
|
* @param {number} value
|
|
105
|
-
*/
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
set rotation(value) {
|
|
109
|
-
this.pdfViewer.pagesRotation = value;
|
|
110
|
-
}
|
|
105
|
+
*/
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
set rotation(value) {
|
|
109
|
+
this.pdfViewer.pagesRotation = value;
|
|
110
|
+
}
|
|
111
111
|
/**
|
|
112
112
|
* @private
|
|
113
|
-
*/
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
_goToDestinationHelper(rawDest, namedDest = null, explicitDest) {
|
|
117
|
-
// Dest array looks like that: <page-ref> </XYZ|/FitXXX> <args..>
|
|
118
|
-
const destRef = explicitDest[0];
|
|
119
|
-
let pageNumber;
|
|
120
|
-
|
|
121
|
-
if (typeof destRef === "object" && destRef !== null) {
|
|
122
|
-
pageNumber = this._cachedPageNumber(destRef);
|
|
123
|
-
|
|
124
|
-
if (pageNumber === null) {
|
|
125
|
-
// Fetch the page reference if it's not yet available. This could
|
|
126
|
-
// only occur during loading, before all pages have been resolved.
|
|
127
|
-
this.pdfDocument.getPageIndex(destRef).then(pageIndex => {
|
|
128
|
-
this.cachePageRef(pageIndex + 1, destRef);
|
|
129
|
-
|
|
130
|
-
this._goToDestinationHelper(rawDest, namedDest, explicitDest);
|
|
131
|
-
}).catch(() => {
|
|
132
|
-
console.error(`PDFLinkService._goToDestinationHelper: "${destRef}" is not ` + `a valid page reference, for dest="${rawDest}".`);
|
|
133
|
-
});
|
|
134
|
-
return;
|
|
135
|
-
}
|
|
136
|
-
} else if (Number.isInteger(destRef)) {
|
|
137
|
-
pageNumber = destRef + 1;
|
|
138
|
-
} else {
|
|
139
|
-
console.error(`PDFLinkService._goToDestinationHelper: "${destRef}" is not ` + `a valid destination reference, for dest="${rawDest}".`);
|
|
140
|
-
return;
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
if (!pageNumber || pageNumber < 1 || pageNumber > this.pagesCount) {
|
|
144
|
-
console.error(`PDFLinkService._goToDestinationHelper: "${pageNumber}" is not ` + `a valid page number, for dest="${rawDest}".`);
|
|
145
|
-
return;
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
if (this.pdfHistory) {
|
|
149
|
-
// Update the browser history before scrolling the new destination into
|
|
150
|
-
// view, to be able to accurately capture the current document position.
|
|
151
|
-
this.pdfHistory.pushCurrentPosition();
|
|
152
|
-
this.pdfHistory.push({
|
|
153
|
-
namedDest,
|
|
154
|
-
explicitDest,
|
|
155
|
-
pageNumber
|
|
156
|
-
});
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
this.pdfViewer.scrollPageIntoView({
|
|
160
|
-
pageNumber,
|
|
161
|
-
destArray: explicitDest,
|
|
162
|
-
ignoreDestinationZoom: this._ignoreDestinationZoom
|
|
163
|
-
});
|
|
164
|
-
}
|
|
113
|
+
*/
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
_goToDestinationHelper(rawDest, namedDest = null, explicitDest) {
|
|
117
|
+
// Dest array looks like that: <page-ref> </XYZ|/FitXXX> <args..>
|
|
118
|
+
const destRef = explicitDest[0];
|
|
119
|
+
let pageNumber;
|
|
120
|
+
|
|
121
|
+
if (typeof destRef === "object" && destRef !== null) {
|
|
122
|
+
pageNumber = this._cachedPageNumber(destRef);
|
|
123
|
+
|
|
124
|
+
if (pageNumber === null) {
|
|
125
|
+
// Fetch the page reference if it's not yet available. This could
|
|
126
|
+
// only occur during loading, before all pages have been resolved.
|
|
127
|
+
this.pdfDocument.getPageIndex(destRef).then(pageIndex => {
|
|
128
|
+
this.cachePageRef(pageIndex + 1, destRef);
|
|
129
|
+
|
|
130
|
+
this._goToDestinationHelper(rawDest, namedDest, explicitDest);
|
|
131
|
+
}).catch(() => {
|
|
132
|
+
console.error(`PDFLinkService._goToDestinationHelper: "${destRef}" is not ` + `a valid page reference, for dest="${rawDest}".`);
|
|
133
|
+
});
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
} else if (Number.isInteger(destRef)) {
|
|
137
|
+
pageNumber = destRef + 1;
|
|
138
|
+
} else {
|
|
139
|
+
console.error(`PDFLinkService._goToDestinationHelper: "${destRef}" is not ` + `a valid destination reference, for dest="${rawDest}".`);
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
if (!pageNumber || pageNumber < 1 || pageNumber > this.pagesCount) {
|
|
144
|
+
console.error(`PDFLinkService._goToDestinationHelper: "${pageNumber}" is not ` + `a valid page number, for dest="${rawDest}".`);
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
if (this.pdfHistory) {
|
|
149
|
+
// Update the browser history before scrolling the new destination into
|
|
150
|
+
// view, to be able to accurately capture the current document position.
|
|
151
|
+
this.pdfHistory.pushCurrentPosition();
|
|
152
|
+
this.pdfHistory.push({
|
|
153
|
+
namedDest,
|
|
154
|
+
explicitDest,
|
|
155
|
+
pageNumber
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
this.pdfViewer.scrollPageIntoView({
|
|
160
|
+
pageNumber,
|
|
161
|
+
destArray: explicitDest,
|
|
162
|
+
ignoreDestinationZoom: this._ignoreDestinationZoom
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
165
|
/**
|
|
166
166
|
* This method will, when available, also update the browser history.
|
|
167
167
|
*
|
|
168
168
|
* @param {string|Array} dest - The named, or explicit, PDF destination.
|
|
169
|
-
*/
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
async goToDestination(dest) {
|
|
173
|
-
if (!this.pdfDocument) {
|
|
174
|
-
return;
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
let namedDest, explicitDest;
|
|
178
|
-
|
|
179
|
-
if (typeof dest === "string") {
|
|
180
|
-
namedDest = dest;
|
|
181
|
-
explicitDest = await this.pdfDocument.getDestination(dest);
|
|
182
|
-
} else {
|
|
183
|
-
namedDest = null;
|
|
184
|
-
explicitDest = await dest;
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
if (!Array.isArray(explicitDest)) {
|
|
188
|
-
console.error(`PDFLinkService.goToDestination: "${explicitDest}" is not ` + `a valid destination array, for dest="${dest}".`);
|
|
189
|
-
return;
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
this._goToDestinationHelper(dest, namedDest, explicitDest);
|
|
193
|
-
}
|
|
169
|
+
*/
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
async goToDestination(dest) {
|
|
173
|
+
if (!this.pdfDocument) {
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
let namedDest, explicitDest;
|
|
178
|
+
|
|
179
|
+
if (typeof dest === "string") {
|
|
180
|
+
namedDest = dest;
|
|
181
|
+
explicitDest = await this.pdfDocument.getDestination(dest);
|
|
182
|
+
} else {
|
|
183
|
+
namedDest = null;
|
|
184
|
+
explicitDest = await dest;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
if (!Array.isArray(explicitDest)) {
|
|
188
|
+
console.error(`PDFLinkService.goToDestination: "${explicitDest}" is not ` + `a valid destination array, for dest="${dest}".`);
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
this._goToDestinationHelper(dest, namedDest, explicitDest);
|
|
193
|
+
}
|
|
194
194
|
/**
|
|
195
195
|
* This method will, when available, also update the browser history.
|
|
196
196
|
*
|
|
197
197
|
* @param {number|string} val - The page number, or page label.
|
|
198
|
-
*/
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
goToPage(val) {
|
|
202
|
-
if (!this.pdfDocument) {
|
|
203
|
-
return;
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
const pageNumber = typeof val === "string" && this.pdfViewer.pageLabelToPageNumber(val) || val | 0;
|
|
207
|
-
|
|
208
|
-
if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.pagesCount)) {
|
|
209
|
-
console.error(`PDFLinkService.goToPage: "${val}" is not a valid page.`);
|
|
210
|
-
return;
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
if (this.pdfHistory) {
|
|
214
|
-
// Update the browser history before scrolling the new page into view,
|
|
215
|
-
// to be able to accurately capture the current document position.
|
|
216
|
-
this.pdfHistory.pushCurrentPosition();
|
|
217
|
-
this.pdfHistory.pushPage(pageNumber);
|
|
218
|
-
}
|
|
219
|
-
|
|
220
|
-
this.pdfViewer.scrollPageIntoView({
|
|
221
|
-
pageNumber
|
|
222
|
-
});
|
|
223
|
-
}
|
|
198
|
+
*/
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
goToPage(val) {
|
|
202
|
+
if (!this.pdfDocument) {
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
const pageNumber = typeof val === "string" && this.pdfViewer.pageLabelToPageNumber(val) || val | 0;
|
|
207
|
+
|
|
208
|
+
if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.pagesCount)) {
|
|
209
|
+
console.error(`PDFLinkService.goToPage: "${val}" is not a valid page.`);
|
|
210
|
+
return;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
if (this.pdfHistory) {
|
|
214
|
+
// Update the browser history before scrolling the new page into view,
|
|
215
|
+
// to be able to accurately capture the current document position.
|
|
216
|
+
this.pdfHistory.pushCurrentPosition();
|
|
217
|
+
this.pdfHistory.pushPage(pageNumber);
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
this.pdfViewer.scrollPageIntoView({
|
|
221
|
+
pageNumber
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
224
|
/**
|
|
225
225
|
* @param {string|Array} dest - The PDF destination object.
|
|
226
226
|
* @returns {string} The hyperlink to the PDF object.
|
|
227
|
-
*/
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
getDestinationHash(dest) {
|
|
231
|
-
if (typeof dest === "string") {
|
|
232
|
-
if (dest.length > 0) {
|
|
233
|
-
return this.getAnchorUrl("#" + escape(dest));
|
|
234
|
-
}
|
|
235
|
-
} else if (Array.isArray(dest)) {
|
|
236
|
-
const str = JSON.stringify(dest);
|
|
237
|
-
|
|
238
|
-
if (str.length > 0) {
|
|
239
|
-
return this.getAnchorUrl("#" + escape(str));
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
return this.getAnchorUrl("");
|
|
244
|
-
}
|
|
227
|
+
*/
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
getDestinationHash(dest) {
|
|
231
|
+
if (typeof dest === "string") {
|
|
232
|
+
if (dest.length > 0) {
|
|
233
|
+
return this.getAnchorUrl("#" + escape(dest));
|
|
234
|
+
}
|
|
235
|
+
} else if (Array.isArray(dest)) {
|
|
236
|
+
const str = JSON.stringify(dest);
|
|
237
|
+
|
|
238
|
+
if (str.length > 0) {
|
|
239
|
+
return this.getAnchorUrl("#" + escape(str));
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
return this.getAnchorUrl("");
|
|
244
|
+
}
|
|
245
245
|
/**
|
|
246
246
|
* Prefix the full url on anchor links to make sure that links are resolved
|
|
247
247
|
* relative to the current URL instead of the one defined in <base href>.
|
|
248
248
|
* @param {string} anchor - The anchor hash, including the #.
|
|
249
249
|
* @returns {string} The hyperlink to the PDF object.
|
|
250
|
-
*/
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
getAnchorUrl(anchor) {
|
|
254
|
-
return (this.baseUrl || "") + anchor;
|
|
255
|
-
}
|
|
250
|
+
*/
|
|
251
|
+
|
|
252
|
+
|
|
253
|
+
getAnchorUrl(anchor) {
|
|
254
|
+
return (this.baseUrl || "") + anchor;
|
|
255
|
+
}
|
|
256
256
|
/**
|
|
257
257
|
* @param {string} hash
|
|
258
|
-
*/
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
setHash(hash) {
|
|
262
|
-
if (!this.pdfDocument) {
|
|
263
|
-
return;
|
|
264
|
-
}
|
|
265
|
-
|
|
266
|
-
let pageNumber, dest;
|
|
267
|
-
|
|
268
|
-
if (hash.includes("=")) {
|
|
269
|
-
const params = parseQueryString(hash);
|
|
270
|
-
|
|
271
|
-
if ("search" in params) {
|
|
272
|
-
this.eventBus.dispatch("findfromurlhash", {
|
|
273
|
-
source: this,
|
|
274
|
-
query: params.search.replace(/"/g, ""),
|
|
275
|
-
phraseSearch: params.phrase === "true"
|
|
276
|
-
});
|
|
277
|
-
} // borrowing syntax from "Parameters for Opening PDF Files"
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
if ("page" in params) {
|
|
281
|
-
pageNumber = params.page | 0 || 1;
|
|
282
|
-
}
|
|
283
|
-
|
|
284
|
-
if ("zoom" in params) {
|
|
285
|
-
// Build the destination array.
|
|
286
|
-
const zoomArgs = params.zoom.split(","); // scale,left,top
|
|
287
|
-
|
|
288
|
-
const zoomArg = zoomArgs[0];
|
|
289
|
-
const zoomArgNumber = parseFloat(zoomArg);
|
|
290
|
-
|
|
291
|
-
if (!zoomArg.includes("Fit")) {
|
|
292
|
-
// If the zoomArg is a number, it has to get divided by 100. If it's
|
|
293
|
-
// a string, it should stay as it is.
|
|
294
|
-
dest = [null, {
|
|
295
|
-
name: "XYZ"
|
|
296
|
-
}, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null, zoomArgs.length > 2 ? zoomArgs[2] | 0 : null, zoomArgNumber ? zoomArgNumber / 100 : zoomArg];
|
|
297
|
-
} else {
|
|
298
|
-
if (zoomArg === "Fit" || zoomArg === "FitB") {
|
|
299
|
-
dest = [null, {
|
|
300
|
-
name: zoomArg
|
|
301
|
-
}];
|
|
302
|
-
} else if (zoomArg === "FitH" || zoomArg === "FitBH" || zoomArg === "FitV" || zoomArg === "FitBV") {
|
|
303
|
-
dest = [null, {
|
|
304
|
-
name: zoomArg
|
|
305
|
-
}, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null];
|
|
306
|
-
} else if (zoomArg === "FitR") {
|
|
307
|
-
if (zoomArgs.length !== 5) {
|
|
308
|
-
console.error('PDFLinkService.setHash: Not enough parameters for "FitR".');
|
|
309
|
-
} else {
|
|
310
|
-
dest = [null, {
|
|
311
|
-
name: zoomArg
|
|
312
|
-
}, zoomArgs[1] | 0, zoomArgs[2] | 0, zoomArgs[3] | 0, zoomArgs[4] | 0];
|
|
313
|
-
}
|
|
314
|
-
} else {
|
|
315
|
-
console.error(`PDFLinkService.setHash: "${zoomArg}" is not ` + "a valid zoom value.");
|
|
316
|
-
}
|
|
317
|
-
}
|
|
318
|
-
}
|
|
319
|
-
|
|
320
|
-
if (dest) {
|
|
321
|
-
this.pdfViewer.scrollPageIntoView({
|
|
322
|
-
pageNumber: pageNumber || this.page,
|
|
323
|
-
destArray: dest,
|
|
324
|
-
allowNegativeOffset: true
|
|
325
|
-
});
|
|
326
|
-
} else if (pageNumber) {
|
|
327
|
-
this.page = pageNumber; // simple page
|
|
328
|
-
}
|
|
329
|
-
|
|
330
|
-
if ("pagemode" in params) {
|
|
331
|
-
this.eventBus.dispatch("pagemode", {
|
|
332
|
-
source: this,
|
|
333
|
-
mode: params.pagemode
|
|
334
|
-
});
|
|
335
|
-
} // Ensure that this parameter is *always* handled last, in order to
|
|
336
|
-
// guarantee that it won't be overridden (e.g. by the "page" parameter).
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
if ("nameddest" in params) {
|
|
340
|
-
this.goToDestination(params.nameddest);
|
|
341
|
-
}
|
|
342
|
-
} else {
|
|
343
|
-
// Named (or explicit) destination.
|
|
344
|
-
dest = unescape(hash);
|
|
345
|
-
|
|
346
|
-
try {
|
|
347
|
-
dest = JSON.parse(dest);
|
|
348
|
-
|
|
349
|
-
if (!Array.isArray(dest)) {
|
|
350
|
-
// Avoid incorrectly rejecting a valid named destination, such as
|
|
351
|
-
// e.g. "4.3" or "true", because `JSON.parse` converted its type.
|
|
352
|
-
dest = dest.toString();
|
|
353
|
-
}
|
|
354
|
-
} catch (ex) {}
|
|
355
|
-
|
|
356
|
-
if (typeof dest === "string" || isValidExplicitDestination(dest)) {
|
|
357
|
-
this.goToDestination(dest);
|
|
358
|
-
return;
|
|
359
|
-
}
|
|
360
|
-
|
|
361
|
-
console.error(`PDFLinkService.setHash: "${unescape(hash)}" is not ` + "a valid destination.");
|
|
362
|
-
}
|
|
363
|
-
}
|
|
258
|
+
*/
|
|
259
|
+
|
|
260
|
+
|
|
261
|
+
setHash(hash) {
|
|
262
|
+
if (!this.pdfDocument) {
|
|
263
|
+
return;
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
let pageNumber, dest;
|
|
267
|
+
|
|
268
|
+
if (hash.includes("=")) {
|
|
269
|
+
const params = parseQueryString(hash);
|
|
270
|
+
|
|
271
|
+
if ("search" in params) {
|
|
272
|
+
this.eventBus.dispatch("findfromurlhash", {
|
|
273
|
+
source: this,
|
|
274
|
+
query: params.search.replace(/"/g, ""),
|
|
275
|
+
phraseSearch: params.phrase === "true"
|
|
276
|
+
});
|
|
277
|
+
} // borrowing syntax from "Parameters for Opening PDF Files"
|
|
278
|
+
|
|
279
|
+
|
|
280
|
+
if ("page" in params) {
|
|
281
|
+
pageNumber = params.page | 0 || 1;
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
if ("zoom" in params) {
|
|
285
|
+
// Build the destination array.
|
|
286
|
+
const zoomArgs = params.zoom.split(","); // scale,left,top
|
|
287
|
+
|
|
288
|
+
const zoomArg = zoomArgs[0];
|
|
289
|
+
const zoomArgNumber = parseFloat(zoomArg);
|
|
290
|
+
|
|
291
|
+
if (!zoomArg.includes("Fit")) {
|
|
292
|
+
// If the zoomArg is a number, it has to get divided by 100. If it's
|
|
293
|
+
// a string, it should stay as it is.
|
|
294
|
+
dest = [null, {
|
|
295
|
+
name: "XYZ"
|
|
296
|
+
}, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null, zoomArgs.length > 2 ? zoomArgs[2] | 0 : null, zoomArgNumber ? zoomArgNumber / 100 : zoomArg];
|
|
297
|
+
} else {
|
|
298
|
+
if (zoomArg === "Fit" || zoomArg === "FitB") {
|
|
299
|
+
dest = [null, {
|
|
300
|
+
name: zoomArg
|
|
301
|
+
}];
|
|
302
|
+
} else if (zoomArg === "FitH" || zoomArg === "FitBH" || zoomArg === "FitV" || zoomArg === "FitBV") {
|
|
303
|
+
dest = [null, {
|
|
304
|
+
name: zoomArg
|
|
305
|
+
}, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null];
|
|
306
|
+
} else if (zoomArg === "FitR") {
|
|
307
|
+
if (zoomArgs.length !== 5) {
|
|
308
|
+
console.error('PDFLinkService.setHash: Not enough parameters for "FitR".');
|
|
309
|
+
} else {
|
|
310
|
+
dest = [null, {
|
|
311
|
+
name: zoomArg
|
|
312
|
+
}, zoomArgs[1] | 0, zoomArgs[2] | 0, zoomArgs[3] | 0, zoomArgs[4] | 0];
|
|
313
|
+
}
|
|
314
|
+
} else {
|
|
315
|
+
console.error(`PDFLinkService.setHash: "${zoomArg}" is not ` + "a valid zoom value.");
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
if (dest) {
|
|
321
|
+
this.pdfViewer.scrollPageIntoView({
|
|
322
|
+
pageNumber: pageNumber || this.page,
|
|
323
|
+
destArray: dest,
|
|
324
|
+
allowNegativeOffset: true
|
|
325
|
+
});
|
|
326
|
+
} else if (pageNumber) {
|
|
327
|
+
this.page = pageNumber; // simple page
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
if ("pagemode" in params) {
|
|
331
|
+
this.eventBus.dispatch("pagemode", {
|
|
332
|
+
source: this,
|
|
333
|
+
mode: params.pagemode
|
|
334
|
+
});
|
|
335
|
+
} // Ensure that this parameter is *always* handled last, in order to
|
|
336
|
+
// guarantee that it won't be overridden (e.g. by the "page" parameter).
|
|
337
|
+
|
|
338
|
+
|
|
339
|
+
if ("nameddest" in params) {
|
|
340
|
+
this.goToDestination(params.nameddest);
|
|
341
|
+
}
|
|
342
|
+
} else {
|
|
343
|
+
// Named (or explicit) destination.
|
|
344
|
+
dest = unescape(hash);
|
|
345
|
+
|
|
346
|
+
try {
|
|
347
|
+
dest = JSON.parse(dest);
|
|
348
|
+
|
|
349
|
+
if (!Array.isArray(dest)) {
|
|
350
|
+
// Avoid incorrectly rejecting a valid named destination, such as
|
|
351
|
+
// e.g. "4.3" or "true", because `JSON.parse` converted its type.
|
|
352
|
+
dest = dest.toString();
|
|
353
|
+
}
|
|
354
|
+
} catch (ex) {}
|
|
355
|
+
|
|
356
|
+
if (typeof dest === "string" || isValidExplicitDestination(dest)) {
|
|
357
|
+
this.goToDestination(dest);
|
|
358
|
+
return;
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
console.error(`PDFLinkService.setHash: "${unescape(hash)}" is not ` + "a valid destination.");
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
364
|
/**
|
|
365
365
|
* @param {string} action
|
|
366
|
-
*/
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
executeNamedAction(action) {
|
|
370
|
-
// See PDF reference, table 8.45 - Named action
|
|
371
|
-
switch (action) {
|
|
372
|
-
case "GoBack":
|
|
373
|
-
if (this.pdfHistory) {
|
|
374
|
-
this.pdfHistory.back();
|
|
375
|
-
}
|
|
376
|
-
|
|
377
|
-
break;
|
|
378
|
-
|
|
379
|
-
case "GoForward":
|
|
380
|
-
if (this.pdfHistory) {
|
|
381
|
-
this.pdfHistory.forward();
|
|
382
|
-
}
|
|
383
|
-
|
|
384
|
-
break;
|
|
385
|
-
|
|
386
|
-
case "NextPage":
|
|
387
|
-
this.pdfViewer.nextPage();
|
|
388
|
-
break;
|
|
389
|
-
|
|
390
|
-
case "PrevPage":
|
|
391
|
-
this.pdfViewer.previousPage();
|
|
392
|
-
break;
|
|
393
|
-
|
|
394
|
-
case "LastPage":
|
|
395
|
-
this.page = this.pagesCount;
|
|
396
|
-
break;
|
|
397
|
-
|
|
398
|
-
case "FirstPage":
|
|
399
|
-
this.page = 1;
|
|
400
|
-
break;
|
|
401
|
-
// No action according to spec
|
|
402
|
-
}
|
|
403
|
-
|
|
404
|
-
this.eventBus.dispatch("namedaction", {
|
|
405
|
-
source: this,
|
|
406
|
-
action
|
|
407
|
-
});
|
|
408
|
-
}
|
|
366
|
+
*/
|
|
367
|
+
|
|
368
|
+
|
|
369
|
+
executeNamedAction(action) {
|
|
370
|
+
// See PDF reference, table 8.45 - Named action
|
|
371
|
+
switch (action) {
|
|
372
|
+
case "GoBack":
|
|
373
|
+
if (this.pdfHistory) {
|
|
374
|
+
this.pdfHistory.back();
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
break;
|
|
378
|
+
|
|
379
|
+
case "GoForward":
|
|
380
|
+
if (this.pdfHistory) {
|
|
381
|
+
this.pdfHistory.forward();
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
break;
|
|
385
|
+
|
|
386
|
+
case "NextPage":
|
|
387
|
+
this.pdfViewer.nextPage();
|
|
388
|
+
break;
|
|
389
|
+
|
|
390
|
+
case "PrevPage":
|
|
391
|
+
this.pdfViewer.previousPage();
|
|
392
|
+
break;
|
|
393
|
+
|
|
394
|
+
case "LastPage":
|
|
395
|
+
this.page = this.pagesCount;
|
|
396
|
+
break;
|
|
397
|
+
|
|
398
|
+
case "FirstPage":
|
|
399
|
+
this.page = 1;
|
|
400
|
+
break;
|
|
401
|
+
// No action according to spec
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
this.eventBus.dispatch("namedaction", {
|
|
405
|
+
source: this,
|
|
406
|
+
action
|
|
407
|
+
});
|
|
408
|
+
}
|
|
409
409
|
/**
|
|
410
410
|
* @param {number} pageNum - page number.
|
|
411
411
|
* @param {Object} pageRef - reference to the page.
|
|
412
|
-
*/
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
cachePageRef(pageNum, pageRef) {
|
|
416
|
-
if (!pageRef) {
|
|
417
|
-
return;
|
|
418
|
-
}
|
|
419
|
-
|
|
420
|
-
const refStr = pageRef.gen === 0 ? `${pageRef.num}R` : `${pageRef.num}R${pageRef.gen}`;
|
|
421
|
-
this._pagesRefCache[refStr] = pageNum;
|
|
422
|
-
}
|
|
412
|
+
*/
|
|
413
|
+
|
|
414
|
+
|
|
415
|
+
cachePageRef(pageNum, pageRef) {
|
|
416
|
+
if (!pageRef) {
|
|
417
|
+
return;
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
const refStr = pageRef.gen === 0 ? `${pageRef.num}R` : `${pageRef.num}R${pageRef.gen}`;
|
|
421
|
+
this._pagesRefCache[refStr] = pageNum;
|
|
422
|
+
}
|
|
423
423
|
/**
|
|
424
424
|
* @private
|
|
425
|
-
*/
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
_cachedPageNumber(pageRef) {
|
|
429
|
-
var _this$_pagesRefCache;
|
|
430
|
-
|
|
431
|
-
const refStr = pageRef.gen === 0 ? `${pageRef.num}R` : `${pageRef.num}R${pageRef.gen}`;
|
|
432
|
-
return ((_this$_pagesRefCache = this._pagesRefCache) === null || _this$_pagesRefCache === void 0 ? void 0 : _this$_pagesRefCache[refStr]) || null;
|
|
433
|
-
}
|
|
425
|
+
*/
|
|
426
|
+
|
|
427
|
+
|
|
428
|
+
_cachedPageNumber(pageRef) {
|
|
429
|
+
var _this$_pagesRefCache;
|
|
430
|
+
|
|
431
|
+
const refStr = pageRef.gen === 0 ? `${pageRef.num}R` : `${pageRef.num}R${pageRef.gen}`;
|
|
432
|
+
return ((_this$_pagesRefCache = this._pagesRefCache) === null || _this$_pagesRefCache === void 0 ? void 0 : _this$_pagesRefCache[refStr]) || null;
|
|
433
|
+
}
|
|
434
434
|
/**
|
|
435
435
|
* @param {number} pageNumber
|
|
436
|
-
*/
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
isPageVisible(pageNumber) {
|
|
440
|
-
return this.pdfViewer.isPageVisible(pageNumber);
|
|
441
|
-
}
|
|
436
|
+
*/
|
|
437
|
+
|
|
438
|
+
|
|
439
|
+
isPageVisible(pageNumber) {
|
|
440
|
+
return this.pdfViewer.isPageVisible(pageNumber);
|
|
441
|
+
}
|
|
442
442
|
/**
|
|
443
443
|
* @param {number} pageNumber
|
|
444
|
-
*/
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
isPageCached(pageNumber) {
|
|
448
|
-
return this.pdfViewer.isPageCached(pageNumber);
|
|
449
|
-
}
|
|
450
|
-
|
|
451
|
-
}
|
|
452
|
-
|
|
453
|
-
function isValidExplicitDestination(dest) {
|
|
454
|
-
if (!Array.isArray(dest)) {
|
|
455
|
-
return false;
|
|
456
|
-
}
|
|
457
|
-
|
|
458
|
-
const destLength = dest.length;
|
|
459
|
-
|
|
460
|
-
if (destLength < 2) {
|
|
461
|
-
return false;
|
|
462
|
-
}
|
|
463
|
-
|
|
464
|
-
const page = dest[0];
|
|
465
|
-
|
|
466
|
-
if (!(typeof page === "object" && Number.isInteger(page.num) && Number.isInteger(page.gen)) && !(Number.isInteger(page) && page >= 0)) {
|
|
467
|
-
return false;
|
|
468
|
-
}
|
|
469
|
-
|
|
470
|
-
const zoom = dest[1];
|
|
471
|
-
|
|
472
|
-
if (!(typeof zoom === "object" && typeof zoom.name === "string")) {
|
|
473
|
-
return false;
|
|
474
|
-
}
|
|
475
|
-
|
|
476
|
-
let allowNull = true;
|
|
477
|
-
|
|
478
|
-
switch (zoom.name) {
|
|
479
|
-
case "XYZ":
|
|
480
|
-
if (destLength !== 5) {
|
|
481
|
-
return false;
|
|
482
|
-
}
|
|
483
|
-
|
|
484
|
-
break;
|
|
485
|
-
|
|
486
|
-
case "Fit":
|
|
487
|
-
case "FitB":
|
|
488
|
-
return destLength === 2;
|
|
489
|
-
|
|
490
|
-
case "FitH":
|
|
491
|
-
case "FitBH":
|
|
492
|
-
case "FitV":
|
|
493
|
-
case "FitBV":
|
|
494
|
-
if (destLength !== 3) {
|
|
495
|
-
return false;
|
|
496
|
-
}
|
|
497
|
-
|
|
498
|
-
break;
|
|
499
|
-
|
|
500
|
-
case "FitR":
|
|
501
|
-
if (destLength !== 6) {
|
|
502
|
-
return false;
|
|
503
|
-
}
|
|
504
|
-
|
|
505
|
-
allowNull = false;
|
|
506
|
-
break;
|
|
507
|
-
|
|
508
|
-
default:
|
|
509
|
-
return false;
|
|
510
|
-
}
|
|
511
|
-
|
|
512
|
-
for (let i = 2; i < destLength; i++) {
|
|
513
|
-
const param = dest[i];
|
|
514
|
-
|
|
515
|
-
if (!(typeof param === "number" || allowNull && param === null)) {
|
|
516
|
-
return false;
|
|
517
|
-
}
|
|
518
|
-
}
|
|
519
|
-
|
|
520
|
-
return true;
|
|
521
|
-
}
|
|
444
|
+
*/
|
|
445
|
+
|
|
446
|
+
|
|
447
|
+
isPageCached(pageNumber) {
|
|
448
|
+
return this.pdfViewer.isPageCached(pageNumber);
|
|
449
|
+
}
|
|
450
|
+
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
function isValidExplicitDestination(dest) {
|
|
454
|
+
if (!Array.isArray(dest)) {
|
|
455
|
+
return false;
|
|
456
|
+
}
|
|
457
|
+
|
|
458
|
+
const destLength = dest.length;
|
|
459
|
+
|
|
460
|
+
if (destLength < 2) {
|
|
461
|
+
return false;
|
|
462
|
+
}
|
|
463
|
+
|
|
464
|
+
const page = dest[0];
|
|
465
|
+
|
|
466
|
+
if (!(typeof page === "object" && Number.isInteger(page.num) && Number.isInteger(page.gen)) && !(Number.isInteger(page) && page >= 0)) {
|
|
467
|
+
return false;
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
const zoom = dest[1];
|
|
471
|
+
|
|
472
|
+
if (!(typeof zoom === "object" && typeof zoom.name === "string")) {
|
|
473
|
+
return false;
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
let allowNull = true;
|
|
477
|
+
|
|
478
|
+
switch (zoom.name) {
|
|
479
|
+
case "XYZ":
|
|
480
|
+
if (destLength !== 5) {
|
|
481
|
+
return false;
|
|
482
|
+
}
|
|
483
|
+
|
|
484
|
+
break;
|
|
485
|
+
|
|
486
|
+
case "Fit":
|
|
487
|
+
case "FitB":
|
|
488
|
+
return destLength === 2;
|
|
489
|
+
|
|
490
|
+
case "FitH":
|
|
491
|
+
case "FitBH":
|
|
492
|
+
case "FitV":
|
|
493
|
+
case "FitBV":
|
|
494
|
+
if (destLength !== 3) {
|
|
495
|
+
return false;
|
|
496
|
+
}
|
|
497
|
+
|
|
498
|
+
break;
|
|
499
|
+
|
|
500
|
+
case "FitR":
|
|
501
|
+
if (destLength !== 6) {
|
|
502
|
+
return false;
|
|
503
|
+
}
|
|
504
|
+
|
|
505
|
+
allowNull = false;
|
|
506
|
+
break;
|
|
507
|
+
|
|
508
|
+
default:
|
|
509
|
+
return false;
|
|
510
|
+
}
|
|
511
|
+
|
|
512
|
+
for (let i = 2; i < destLength; i++) {
|
|
513
|
+
const param = dest[i];
|
|
514
|
+
|
|
515
|
+
if (!(typeof param === "number" || allowNull && param === null)) {
|
|
516
|
+
return false;
|
|
517
|
+
}
|
|
518
|
+
}
|
|
519
|
+
|
|
520
|
+
return true;
|
|
521
|
+
}
|
|
522
522
|
/**
|
|
523
523
|
* @implements {IPDFLinkService}
|
|
524
|
-
*/
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
class SimpleLinkService {
|
|
528
|
-
constructor() {
|
|
529
|
-
this.externalLinkTarget = null;
|
|
530
|
-
this.externalLinkRel = null;
|
|
531
|
-
this.externalLinkEnabled = true;
|
|
532
|
-
this._ignoreDestinationZoom = false;
|
|
533
|
-
}
|
|
524
|
+
*/
|
|
525
|
+
|
|
526
|
+
|
|
527
|
+
class SimpleLinkService {
|
|
528
|
+
constructor() {
|
|
529
|
+
this.externalLinkTarget = null;
|
|
530
|
+
this.externalLinkRel = null;
|
|
531
|
+
this.externalLinkEnabled = true;
|
|
532
|
+
this._ignoreDestinationZoom = false;
|
|
533
|
+
}
|
|
534
534
|
/**
|
|
535
535
|
* @type {number}
|
|
536
|
-
*/
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
get pagesCount() {
|
|
540
|
-
return 0;
|
|
541
|
-
}
|
|
536
|
+
*/
|
|
537
|
+
|
|
538
|
+
|
|
539
|
+
get pagesCount() {
|
|
540
|
+
return 0;
|
|
541
|
+
}
|
|
542
542
|
/**
|
|
543
543
|
* @type {number}
|
|
544
|
-
*/
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
get page() {
|
|
548
|
-
return 0;
|
|
549
|
-
}
|
|
544
|
+
*/
|
|
545
|
+
|
|
546
|
+
|
|
547
|
+
get page() {
|
|
548
|
+
return 0;
|
|
549
|
+
}
|
|
550
550
|
/**
|
|
551
551
|
* @param {number} value
|
|
552
|
-
*/
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
set page(value) {}
|
|
552
|
+
*/
|
|
553
|
+
|
|
554
|
+
|
|
555
|
+
set page(value) {}
|
|
556
556
|
/**
|
|
557
557
|
* @type {number}
|
|
558
|
-
*/
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
get rotation() {
|
|
562
|
-
return 0;
|
|
563
|
-
}
|
|
558
|
+
*/
|
|
559
|
+
|
|
560
|
+
|
|
561
|
+
get rotation() {
|
|
562
|
+
return 0;
|
|
563
|
+
}
|
|
564
564
|
/**
|
|
565
565
|
* @param {number} value
|
|
566
|
-
*/
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
set rotation(value) {}
|
|
566
|
+
*/
|
|
567
|
+
|
|
568
|
+
|
|
569
|
+
set rotation(value) {}
|
|
570
570
|
/**
|
|
571
571
|
* @param {string|Array} dest - The named, or explicit, PDF destination.
|
|
572
|
-
*/
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
async goToDestination(dest) {}
|
|
572
|
+
*/
|
|
573
|
+
|
|
574
|
+
|
|
575
|
+
async goToDestination(dest) {}
|
|
576
576
|
/**
|
|
577
577
|
* @param {number|string} val - The page number, or page label.
|
|
578
|
-
*/
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
goToPage(val) {}
|
|
578
|
+
*/
|
|
579
|
+
|
|
580
|
+
|
|
581
|
+
goToPage(val) {}
|
|
582
582
|
/**
|
|
583
583
|
* @param dest - The PDF destination object.
|
|
584
584
|
* @returns {string} The hyperlink to the PDF object.
|
|
585
|
-
*/
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
getDestinationHash(dest) {
|
|
589
|
-
return "#";
|
|
590
|
-
}
|
|
585
|
+
*/
|
|
586
|
+
|
|
587
|
+
|
|
588
|
+
getDestinationHash(dest) {
|
|
589
|
+
return "#";
|
|
590
|
+
}
|
|
591
591
|
/**
|
|
592
592
|
* @param hash - The PDF parameters/hash.
|
|
593
593
|
* @returns {string} The hyperlink to the PDF object.
|
|
594
|
-
*/
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
getAnchorUrl(hash) {
|
|
598
|
-
return "#";
|
|
599
|
-
}
|
|
594
|
+
*/
|
|
595
|
+
|
|
596
|
+
|
|
597
|
+
getAnchorUrl(hash) {
|
|
598
|
+
return "#";
|
|
599
|
+
}
|
|
600
600
|
/**
|
|
601
601
|
* @param {string} hash
|
|
602
|
-
*/
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
setHash(hash) {}
|
|
602
|
+
*/
|
|
603
|
+
|
|
604
|
+
|
|
605
|
+
setHash(hash) {}
|
|
606
606
|
/**
|
|
607
607
|
* @param {string} action
|
|
608
|
-
*/
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
executeNamedAction(action) {}
|
|
608
|
+
*/
|
|
609
|
+
|
|
610
|
+
|
|
611
|
+
executeNamedAction(action) {}
|
|
612
612
|
/**
|
|
613
613
|
* @param {number} pageNum - page number.
|
|
614
614
|
* @param {Object} pageRef - reference to the page.
|
|
615
|
-
*/
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
cachePageRef(pageNum, pageRef) {}
|
|
615
|
+
*/
|
|
616
|
+
|
|
617
|
+
|
|
618
|
+
cachePageRef(pageNum, pageRef) {}
|
|
619
619
|
/**
|
|
620
620
|
* @param {number} pageNumber
|
|
621
|
-
*/
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
isPageVisible(pageNumber) {
|
|
625
|
-
return true;
|
|
626
|
-
}
|
|
621
|
+
*/
|
|
622
|
+
|
|
623
|
+
|
|
624
|
+
isPageVisible(pageNumber) {
|
|
625
|
+
return true;
|
|
626
|
+
}
|
|
627
627
|
/**
|
|
628
628
|
* @param {number} pageNumber
|
|
629
|
-
*/
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
isPageCached(pageNumber) {
|
|
633
|
-
return true;
|
|
634
|
-
}
|
|
635
|
-
|
|
636
|
-
}
|
|
637
|
-
|
|
638
|
-
export { PDFLinkService, SimpleLinkService };
|
|
629
|
+
*/
|
|
630
|
+
|
|
631
|
+
|
|
632
|
+
isPageCached(pageNumber) {
|
|
633
|
+
return true;
|
|
634
|
+
}
|
|
635
|
+
|
|
636
|
+
}
|
|
637
|
+
|
|
638
|
+
export { PDFLinkService, SimpleLinkService };
|