better-pdfjs-rails 1.6.380.5 → 1.6.422.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.
- checksums.yaml +4 -4
- data/lib/better/pdfjs/rails/version.rb +1 -1
- data/vendor/assets/javascripts/generic/build/pdf.js +68 -17
- data/vendor/assets/javascripts/generic/build/pdf.worker.js +139 -74
- data/vendor/assets/javascripts/generic/web/compatibility.js +3 -1
- data/vendor/assets/javascripts/generic/web/locale/ast/viewer.properties +2 -0
- data/vendor/assets/javascripts/generic/web/locale/az/viewer.properties +7 -0
- data/vendor/assets/javascripts/generic/web/locale/bn-BD/viewer.properties +5 -0
- data/vendor/assets/javascripts/generic/web/locale/el/viewer.properties +6 -1
- data/vendor/assets/javascripts/generic/web/locale/eo/viewer.properties +8 -0
- data/vendor/assets/javascripts/generic/web/locale/es-MX/viewer.properties +5 -0
- data/vendor/assets/javascripts/generic/web/locale/ff/viewer.properties +8 -0
- data/vendor/assets/javascripts/generic/web/locale/ga-IE/viewer.properties +8 -0
- data/vendor/assets/javascripts/generic/web/locale/hi-IN/viewer.properties +1 -0
- data/vendor/assets/javascripts/generic/web/locale/km/viewer.properties +9 -1
- data/vendor/assets/javascripts/generic/web/locale/mr/viewer.properties +5 -0
- data/vendor/assets/javascripts/generic/web/locale/nb-NO/viewer.properties +7 -0
- data/vendor/assets/javascripts/generic/web/locale/ro/viewer.properties +7 -0
- data/vendor/assets/javascripts/generic/web/locale/sl/viewer.properties +8 -0
- data/vendor/assets/javascripts/generic/web/locale/xh/viewer.properties +8 -0
- data/vendor/assets/javascripts/generic/web/locale/zh-CN/viewer.properties +1 -1
- data/vendor/assets/javascripts/generic/web/viewer.css +17 -3
- data/vendor/assets/javascripts/generic/web/viewer.js +258 -247
- data/vendor/assets/javascripts/pdf.js +68 -17
- data/vendor/assets/javascripts/pdf.worker.js +139 -74
- data/vendor/assets/javascripts/version.json +3 -3
- data/vendor/assets/javascripts/viewer.js +258 -247
- metadata +2 -2
@@ -19,11 +19,14 @@ next.title=Iphepha elilandelayo
|
|
19
19
|
next_label=Okulandelayo
|
20
20
|
|
21
21
|
# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
|
22
|
+
page.title=Iphepha
|
22
23
|
# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
|
23
24
|
# representing the total number of pages in the document.
|
25
|
+
of_pages=kwali- {{pagesCount}}
|
24
26
|
# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
|
25
27
|
# will be replaced by a number representing the currently visible page,
|
26
28
|
# respectively a number representing the total number of pages in the document.
|
29
|
+
page_of_pages=({{pageNumber}} kwali {{pagesCount}})
|
27
30
|
|
28
31
|
zoom_out.title=Bhekelisela Kudana
|
29
32
|
zoom_out_label=Bhekelisela Kudana
|
@@ -88,14 +91,18 @@ document_properties_version=Uhlelo lwe-PDF:
|
|
88
91
|
document_properties_page_count=Inani lamaphepha:
|
89
92
|
document_properties_close=Vala
|
90
93
|
|
94
|
+
print_progress_message=Ilungisa uxwebhu ukuze iprinte…
|
91
95
|
# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
|
92
96
|
# a numerical per cent value.
|
97
|
+
print_progress_percent={{inkqubela}}%
|
98
|
+
print_progress_close=Rhoxisa
|
93
99
|
|
94
100
|
# Tooltips and alt text for side panel toolbar buttons
|
95
101
|
# (the _label strings are alt text for the buttons, the .title strings are
|
96
102
|
# tooltips)
|
97
103
|
toggle_sidebar.title=Togola ngebha eseCaleni
|
98
104
|
toggle_sidebar_label=Togola ngebha eseCaleni
|
105
|
+
document_outline.title=Bonisa uLwandlalo loXwebhu (cofa kabini ukuze wandise/diliza zonke izinto)
|
99
106
|
document_outline_label=Isishwankathelo soxwebhu
|
100
107
|
attachments.title=Bonisa iziqhotyoshelwa
|
101
108
|
attachments_label=Iziqhoboshelo
|
@@ -167,6 +174,7 @@ text_annotation_type.alt=[{{type}} Ubhalo-nqaku]
|
|
167
174
|
password_label=Faka ipasiwedi ukuze uvule le fayile yePDF.
|
168
175
|
password_invalid=Ipasiwedi ayisebenzi. Nceda uzame kwakhona.
|
169
176
|
password_ok=KULUNGILE
|
177
|
+
password_cancel=Rhoxisa
|
170
178
|
|
171
179
|
printing_not_supported=Isilumkiso: Ukuprinta akuxhaswa ngokupheleleyo yile bhrawuza.
|
172
180
|
printing_not_ready=Isilumkiso: IPDF ayihlohlwanga ngokupheleleyo ukwenzela ukuprinta.
|
@@ -112,7 +112,9 @@
|
|
112
112
|
|
113
113
|
.annotationLayer .textWidgetAnnotation input,
|
114
114
|
.annotationLayer .textWidgetAnnotation textarea,
|
115
|
-
.annotationLayer .choiceWidgetAnnotation select
|
115
|
+
.annotationLayer .choiceWidgetAnnotation select,
|
116
|
+
.annotationLayer .buttonWidgetAnnotation.checkBox input,
|
117
|
+
.annotationLayer .buttonWidgetAnnotation.radioButton input {
|
116
118
|
background-color: rgba(0, 54, 255, 0.13);
|
117
119
|
border: 1px solid transparent;
|
118
120
|
box-sizing: border-box;
|
@@ -131,7 +133,9 @@
|
|
131
133
|
|
132
134
|
.annotationLayer .textWidgetAnnotation input[disabled],
|
133
135
|
.annotationLayer .textWidgetAnnotation textarea[disabled],
|
134
|
-
.annotationLayer .choiceWidgetAnnotation select[disabled]
|
136
|
+
.annotationLayer .choiceWidgetAnnotation select[disabled],
|
137
|
+
.annotationLayer .buttonWidgetAnnotation.checkBox input[disabled],
|
138
|
+
.annotationLayer .buttonWidgetAnnotation.radioButton input[disabled] {
|
135
139
|
background: none;
|
136
140
|
border: 1px solid transparent;
|
137
141
|
cursor: not-allowed;
|
@@ -139,7 +143,9 @@
|
|
139
143
|
|
140
144
|
.annotationLayer .textWidgetAnnotation input:hover,
|
141
145
|
.annotationLayer .textWidgetAnnotation textarea:hover,
|
142
|
-
.annotationLayer .choiceWidgetAnnotation select:hover
|
146
|
+
.annotationLayer .choiceWidgetAnnotation select:hover,
|
147
|
+
.annotationLayer .buttonWidgetAnnotation.checkBox input:hover,
|
148
|
+
.annotationLayer .buttonWidgetAnnotation.radioButton input:hover {
|
143
149
|
border: 1px solid #000;
|
144
150
|
}
|
145
151
|
|
@@ -166,6 +172,14 @@
|
|
166
172
|
width: 115%;
|
167
173
|
}
|
168
174
|
|
175
|
+
.annotationLayer .buttonWidgetAnnotation.checkBox input,
|
176
|
+
.annotationLayer .buttonWidgetAnnotation.radioButton input {
|
177
|
+
-webkit-appearance: none;
|
178
|
+
-moz-appearance: none;
|
179
|
+
-ms-appearance: none;
|
180
|
+
appearance: none;
|
181
|
+
}
|
182
|
+
|
169
183
|
.annotationLayer .popupWrapper {
|
170
184
|
position: absolute;
|
171
185
|
width: 20em;
|
@@ -625,66 +625,6 @@ var pdfjsWebLibs;
|
|
625
625
|
};
|
626
626
|
exports.DownloadManager = DownloadManager;
|
627
627
|
}));
|
628
|
-
(function (root, factory) {
|
629
|
-
factory(root.pdfjsWebHandTool = {}, root.pdfjsWebGrabToPan, root.pdfjsWebPreferences);
|
630
|
-
}(this, function (exports, grabToPan, preferences) {
|
631
|
-
var GrabToPan = grabToPan.GrabToPan;
|
632
|
-
var Preferences = preferences.Preferences;
|
633
|
-
var HandTool = function HandToolClosure() {
|
634
|
-
function HandTool(options) {
|
635
|
-
this.container = options.container;
|
636
|
-
this.eventBus = options.eventBus;
|
637
|
-
this.wasActive = false;
|
638
|
-
this.handTool = new GrabToPan({
|
639
|
-
element: this.container,
|
640
|
-
onActiveChanged: function (isActive) {
|
641
|
-
this.eventBus.dispatch('handtoolchanged', { isActive: isActive });
|
642
|
-
}.bind(this)
|
643
|
-
});
|
644
|
-
this.eventBus.on('togglehandtool', this.toggle.bind(this));
|
645
|
-
this.eventBus.on('localized', function (e) {
|
646
|
-
Preferences.get('enableHandToolOnLoad').then(function resolved(value) {
|
647
|
-
if (value) {
|
648
|
-
this.handTool.activate();
|
649
|
-
}
|
650
|
-
}.bind(this), function rejected(reason) {
|
651
|
-
});
|
652
|
-
}.bind(this));
|
653
|
-
this.eventBus.on('presentationmodechanged', function (e) {
|
654
|
-
if (e.switchInProgress) {
|
655
|
-
return;
|
656
|
-
}
|
657
|
-
if (e.active) {
|
658
|
-
this.enterPresentationMode();
|
659
|
-
} else {
|
660
|
-
this.exitPresentationMode();
|
661
|
-
}
|
662
|
-
}.bind(this));
|
663
|
-
}
|
664
|
-
HandTool.prototype = {
|
665
|
-
get isActive() {
|
666
|
-
return !!this.handTool.active;
|
667
|
-
},
|
668
|
-
toggle: function HandTool_toggle() {
|
669
|
-
this.handTool.toggle();
|
670
|
-
},
|
671
|
-
enterPresentationMode: function HandTool_enterPresentationMode() {
|
672
|
-
if (this.isActive) {
|
673
|
-
this.wasActive = true;
|
674
|
-
this.handTool.deactivate();
|
675
|
-
}
|
676
|
-
},
|
677
|
-
exitPresentationMode: function HandTool_exitPresentationMode() {
|
678
|
-
if (this.wasActive) {
|
679
|
-
this.wasActive = false;
|
680
|
-
this.handTool.activate();
|
681
|
-
}
|
682
|
-
}
|
683
|
-
};
|
684
|
-
return HandTool;
|
685
|
-
}();
|
686
|
-
exports.HandTool = HandTool;
|
687
|
-
}));
|
688
628
|
(function (root, factory) {
|
689
629
|
factory(root.pdfjsWebPDFAttachmentViewer = {}, root.pdfjsWebPDFJS);
|
690
630
|
}(this, function (exports, pdfjsLib) {
|
@@ -1631,6 +1571,68 @@ var pdfjsWebLibs;
|
|
1631
1571
|
exports.attachDOMEventsToEventBus = attachDOMEventsToEventBus;
|
1632
1572
|
exports.getGlobalEventBus = getGlobalEventBus;
|
1633
1573
|
}));
|
1574
|
+
(function (root, factory) {
|
1575
|
+
factory(root.pdfjsWebHandTool = {}, root.pdfjsWebGrabToPan, root.pdfjsWebPreferences, root.pdfjsWebUIUtils);
|
1576
|
+
}(this, function (exports, grabToPan, preferences, uiUtils) {
|
1577
|
+
var GrabToPan = grabToPan.GrabToPan;
|
1578
|
+
var Preferences = preferences.Preferences;
|
1579
|
+
var localized = uiUtils.localized;
|
1580
|
+
var HandTool = function HandToolClosure() {
|
1581
|
+
function HandTool(options) {
|
1582
|
+
this.container = options.container;
|
1583
|
+
this.eventBus = options.eventBus;
|
1584
|
+
this.wasActive = false;
|
1585
|
+
this.handTool = new GrabToPan({
|
1586
|
+
element: this.container,
|
1587
|
+
onActiveChanged: function (isActive) {
|
1588
|
+
this.eventBus.dispatch('handtoolchanged', { isActive: isActive });
|
1589
|
+
}.bind(this)
|
1590
|
+
});
|
1591
|
+
this.eventBus.on('togglehandtool', this.toggle.bind(this));
|
1592
|
+
Promise.all([
|
1593
|
+
localized,
|
1594
|
+
Preferences.get('enableHandToolOnLoad')
|
1595
|
+
]).then(function resolved(values) {
|
1596
|
+
if (values[1] === true) {
|
1597
|
+
this.handTool.activate();
|
1598
|
+
}
|
1599
|
+
}.bind(this)).catch(function rejected(reason) {
|
1600
|
+
});
|
1601
|
+
this.eventBus.on('presentationmodechanged', function (e) {
|
1602
|
+
if (e.switchInProgress) {
|
1603
|
+
return;
|
1604
|
+
}
|
1605
|
+
if (e.active) {
|
1606
|
+
this.enterPresentationMode();
|
1607
|
+
} else {
|
1608
|
+
this.exitPresentationMode();
|
1609
|
+
}
|
1610
|
+
}.bind(this));
|
1611
|
+
}
|
1612
|
+
HandTool.prototype = {
|
1613
|
+
get isActive() {
|
1614
|
+
return !!this.handTool.active;
|
1615
|
+
},
|
1616
|
+
toggle: function HandTool_toggle() {
|
1617
|
+
this.handTool.toggle();
|
1618
|
+
},
|
1619
|
+
enterPresentationMode: function HandTool_enterPresentationMode() {
|
1620
|
+
if (this.isActive) {
|
1621
|
+
this.wasActive = true;
|
1622
|
+
this.handTool.deactivate();
|
1623
|
+
}
|
1624
|
+
},
|
1625
|
+
exitPresentationMode: function HandTool_exitPresentationMode() {
|
1626
|
+
if (this.wasActive) {
|
1627
|
+
this.wasActive = false;
|
1628
|
+
this.handTool.activate();
|
1629
|
+
}
|
1630
|
+
}
|
1631
|
+
};
|
1632
|
+
return HandTool;
|
1633
|
+
}();
|
1634
|
+
exports.HandTool = HandTool;
|
1635
|
+
}));
|
1634
1636
|
(function (root, factory) {
|
1635
1637
|
factory(root.pdfjsWebPasswordPrompt = {}, root.pdfjsWebUIUtils, root.pdfjsWebOverlayManager, root.pdfjsWebPDFJS);
|
1636
1638
|
}(this, function (exports, uiUtils, overlayManager, pdfjsLib) {
|
@@ -2920,7 +2922,7 @@ var pdfjsWebLibs;
|
|
2920
2922
|
toggleHandToolButton.title = mozL10n.get('hand_tool_enable.title', null, 'Enable hand tool');
|
2921
2923
|
toggleHandToolButton.firstElementChild.textContent = mozL10n.get('hand_tool_enable_label', null, 'Enable hand tool');
|
2922
2924
|
}
|
2923
|
-
}
|
2925
|
+
});
|
2924
2926
|
},
|
2925
2927
|
open: function SecondaryToolbar_open() {
|
2926
2928
|
if (this.opened) {
|
@@ -4204,7 +4206,7 @@ var pdfjsWebLibs;
|
|
4204
4206
|
}
|
4205
4207
|
if (error === 'cancelled') {
|
4206
4208
|
self.error = null;
|
4207
|
-
return;
|
4209
|
+
return Promise.resolve(undefined);
|
4208
4210
|
}
|
4209
4211
|
self.renderingState = RenderingStates.FINISHED;
|
4210
4212
|
if (self.loadingIconDiv) {
|
@@ -4230,21 +4232,25 @@ var pdfjsWebLibs;
|
|
4230
4232
|
pageNumber: self.id,
|
4231
4233
|
cssTransform: false
|
4232
4234
|
});
|
4235
|
+
if (error) {
|
4236
|
+
return Promise.reject(error);
|
4237
|
+
}
|
4238
|
+
return Promise.resolve(undefined);
|
4233
4239
|
};
|
4234
4240
|
var paintTask = this.renderer === RendererType.SVG ? this.paintOnSvg(canvasWrapper) : this.paintOnCanvas(canvasWrapper);
|
4235
4241
|
paintTask.onRenderContinue = renderContinueCallback;
|
4236
4242
|
this.paintTask = paintTask;
|
4237
4243
|
var resultPromise = paintTask.promise.then(function () {
|
4238
|
-
finishPaintTask(null)
|
4239
|
-
|
4240
|
-
|
4241
|
-
|
4242
|
-
|
4243
|
-
|
4244
|
-
|
4244
|
+
return finishPaintTask(null).then(function () {
|
4245
|
+
if (textLayer) {
|
4246
|
+
pdfPage.getTextContent({ normalizeWhitespace: true }).then(function textContentResolved(textContent) {
|
4247
|
+
textLayer.setTextContent(textContent);
|
4248
|
+
textLayer.render(TEXT_LAYER_RENDER_DELAY);
|
4249
|
+
});
|
4250
|
+
}
|
4251
|
+
});
|
4245
4252
|
}, function (reason) {
|
4246
|
-
finishPaintTask(reason);
|
4247
|
-
throw reason;
|
4253
|
+
return finishPaintTask(reason);
|
4248
4254
|
});
|
4249
4255
|
if (this.annotationLayerFactory) {
|
4250
4256
|
if (!this.annotationLayer) {
|
@@ -5660,133 +5666,62 @@ var pdfjsWebLibs;
|
|
5660
5666
|
eventBus: null,
|
5661
5667
|
pageRotation: 0,
|
5662
5668
|
isInitialViewSet: false,
|
5663
|
-
|
5664
|
-
|
5665
|
-
|
5666
|
-
|
5667
|
-
|
5669
|
+
viewerPrefs: {
|
5670
|
+
sidebarViewOnLoad: SidebarView.NONE,
|
5671
|
+
pdfBugEnabled: false,
|
5672
|
+
showPreviousViewOnLoad: true,
|
5673
|
+
defaultZoomValue: '',
|
5674
|
+
disablePageLabels: false,
|
5675
|
+
renderer: 'canvas',
|
5676
|
+
enhanceTextSelection: false,
|
5677
|
+
renderInteractiveForms: false
|
5678
|
+
},
|
5668
5679
|
isViewerEmbedded: window.parent !== window,
|
5669
5680
|
url: '',
|
5670
5681
|
baseUrl: '',
|
5671
5682
|
externalServices: DefaultExernalServices,
|
5672
5683
|
initialize: function pdfViewInitialize(appConfig) {
|
5673
|
-
|
5674
|
-
|
5675
|
-
var eventBus = appConfig.eventBus || getGlobalEventBus();
|
5676
|
-
this.eventBus = eventBus;
|
5677
|
-
this.bindEvents();
|
5678
|
-
var pdfRenderingQueue = new PDFRenderingQueue();
|
5679
|
-
pdfRenderingQueue.onIdle = this.cleanup.bind(this);
|
5680
|
-
this.pdfRenderingQueue = pdfRenderingQueue;
|
5681
|
-
var pdfLinkService = new PDFLinkService({ eventBus: eventBus });
|
5682
|
-
this.pdfLinkService = pdfLinkService;
|
5683
|
-
var downloadManager = this.externalServices.createDownloadManager();
|
5684
|
-
this.downloadManager = downloadManager;
|
5685
|
-
var container = appConfig.mainContainer;
|
5686
|
-
var viewer = appConfig.viewerContainer;
|
5687
|
-
this.pdfViewer = new PDFViewer({
|
5688
|
-
container: container,
|
5689
|
-
viewer: viewer,
|
5690
|
-
eventBus: eventBus,
|
5691
|
-
renderingQueue: pdfRenderingQueue,
|
5692
|
-
linkService: pdfLinkService,
|
5693
|
-
downloadManager: downloadManager,
|
5694
|
-
enhanceTextSelection: false,
|
5695
|
-
renderInteractiveForms: false
|
5696
|
-
});
|
5697
|
-
pdfRenderingQueue.setViewer(this.pdfViewer);
|
5698
|
-
pdfLinkService.setViewer(this.pdfViewer);
|
5699
|
-
var thumbnailContainer = appConfig.sidebar.thumbnailView;
|
5700
|
-
this.pdfThumbnailViewer = new PDFThumbnailViewer({
|
5701
|
-
container: thumbnailContainer,
|
5702
|
-
renderingQueue: pdfRenderingQueue,
|
5703
|
-
linkService: pdfLinkService
|
5704
|
-
});
|
5705
|
-
pdfRenderingQueue.setThumbnailViewer(this.pdfThumbnailViewer);
|
5684
|
+
var self = this;
|
5685
|
+
var PDFJS = pdfjsLib.PDFJS;
|
5706
5686
|
Preferences.initialize();
|
5707
5687
|
this.preferences = Preferences;
|
5708
|
-
|
5709
|
-
|
5710
|
-
|
5711
|
-
|
5712
|
-
|
5713
|
-
|
5714
|
-
|
5715
|
-
|
5716
|
-
|
5717
|
-
}
|
5718
|
-
this.findBar.updateResultsCount(matchCount);
|
5719
|
-
}.bind(this);
|
5720
|
-
this.findController.onUpdateState = function (state, previous, matchCount) {
|
5721
|
-
if (this.supportsIntegratedFind) {
|
5722
|
-
this.externalServices.updateFindControlState({
|
5723
|
-
result: state,
|
5724
|
-
findPrevious: previous
|
5725
|
-
});
|
5726
|
-
} else {
|
5727
|
-
this.findBar.updateUIState(state, previous, matchCount);
|
5728
|
-
}
|
5729
|
-
}.bind(this);
|
5730
|
-
this.pdfViewer.setFindController(this.findController);
|
5731
|
-
var findBarConfig = Object.create(appConfig.findBar);
|
5732
|
-
findBarConfig.findController = this.findController;
|
5733
|
-
findBarConfig.eventBus = this.eventBus;
|
5734
|
-
this.findBar = new PDFFindBar(findBarConfig);
|
5735
|
-
this.overlayManager = OverlayManager;
|
5736
|
-
this.handTool = new HandTool({
|
5737
|
-
container: container,
|
5738
|
-
eventBus: this.eventBus
|
5739
|
-
});
|
5740
|
-
this.pdfDocumentProperties = new PDFDocumentProperties(appConfig.documentProperties);
|
5741
|
-
this.toolbar = new Toolbar(appConfig.toolbar, container, eventBus);
|
5742
|
-
this.secondaryToolbar = new SecondaryToolbar(appConfig.secondaryToolbar, container, eventBus);
|
5743
|
-
if (this.supportsFullscreen) {
|
5744
|
-
this.pdfPresentationMode = new PDFPresentationMode({
|
5745
|
-
container: container,
|
5746
|
-
viewer: viewer,
|
5747
|
-
pdfViewer: this.pdfViewer,
|
5748
|
-
eventBus: this.eventBus,
|
5749
|
-
contextMenuItems: appConfig.fullscreen
|
5688
|
+
configure(PDFJS);
|
5689
|
+
this.appConfig = appConfig;
|
5690
|
+
return this._readPreferences().then(function () {
|
5691
|
+
return self._initializeViewerComponents();
|
5692
|
+
}).then(function () {
|
5693
|
+
self.bindEvents();
|
5694
|
+
self.bindWindowEvents();
|
5695
|
+
localized.then(function () {
|
5696
|
+
self.eventBus.dispatch('localized');
|
5750
5697
|
});
|
5751
|
-
|
5752
|
-
|
5753
|
-
|
5754
|
-
|
5755
|
-
eventBus: this.eventBus,
|
5756
|
-
linkService: pdfLinkService
|
5757
|
-
});
|
5758
|
-
this.pdfAttachmentViewer = new PDFAttachmentViewer({
|
5759
|
-
container: appConfig.sidebar.attachmentsView,
|
5760
|
-
eventBus: this.eventBus,
|
5761
|
-
downloadManager: downloadManager
|
5698
|
+
if (self.isViewerEmbedded && !PDFJS.isExternalLinkTargetSet()) {
|
5699
|
+
PDFJS.externalLinkTarget = PDFJS.LinkTarget.TOP;
|
5700
|
+
}
|
5701
|
+
self.initialized = true;
|
5762
5702
|
});
|
5763
|
-
|
5764
|
-
|
5765
|
-
sidebarConfig.pdfThumbnailViewer = this.pdfThumbnailViewer;
|
5766
|
-
sidebarConfig.pdfOutlineViewer = this.pdfOutlineViewer;
|
5767
|
-
sidebarConfig.eventBus = this.eventBus;
|
5768
|
-
this.pdfSidebar = new PDFSidebar(sidebarConfig);
|
5769
|
-
this.pdfSidebar.onToggled = this.forceRendering.bind(this);
|
5703
|
+
},
|
5704
|
+
_readPreferences: function () {
|
5770
5705
|
var self = this;
|
5771
5706
|
var PDFJS = pdfjsLib.PDFJS;
|
5772
|
-
|
5707
|
+
return Promise.all([
|
5773
5708
|
Preferences.get('enableWebGL').then(function resolved(value) {
|
5774
5709
|
PDFJS.disableWebGL = !value;
|
5775
5710
|
}),
|
5776
5711
|
Preferences.get('sidebarViewOnLoad').then(function resolved(value) {
|
5777
|
-
self.
|
5712
|
+
self.viewerPrefs['sidebarViewOnLoad'] = value;
|
5778
5713
|
}),
|
5779
5714
|
Preferences.get('pdfBugEnabled').then(function resolved(value) {
|
5780
|
-
self.
|
5715
|
+
self.viewerPrefs['pdfBugEnabled'] = value;
|
5781
5716
|
}),
|
5782
5717
|
Preferences.get('showPreviousViewOnLoad').then(function resolved(value) {
|
5783
|
-
self.
|
5718
|
+
self.viewerPrefs['showPreviousViewOnLoad'] = value;
|
5784
5719
|
}),
|
5785
5720
|
Preferences.get('defaultZoomValue').then(function resolved(value) {
|
5786
|
-
self.
|
5721
|
+
self.viewerPrefs['defaultZoomValue'] = value;
|
5787
5722
|
}),
|
5788
5723
|
Preferences.get('enhanceTextSelection').then(function resolved(value) {
|
5789
|
-
self.
|
5724
|
+
self.viewerPrefs['enhanceTextSelection'] = value;
|
5790
5725
|
}),
|
5791
5726
|
Preferences.get('disableTextLayer').then(function resolved(value) {
|
5792
5727
|
if (PDFJS.disableTextLayer === true) {
|
@@ -5825,21 +5760,115 @@ var pdfjsWebLibs;
|
|
5825
5760
|
PDFJS.externalLinkTarget = value;
|
5826
5761
|
}),
|
5827
5762
|
Preferences.get('renderer').then(function resolved(value) {
|
5828
|
-
self.
|
5763
|
+
self.viewerPrefs['renderer'] = value;
|
5829
5764
|
}),
|
5830
5765
|
Preferences.get('renderInteractiveForms').then(function resolved(value) {
|
5831
|
-
self.
|
5766
|
+
self.viewerPrefs['renderInteractiveForms'] = value;
|
5832
5767
|
}),
|
5833
5768
|
Preferences.get('disablePageLabels').then(function resolved(value) {
|
5834
|
-
self.
|
5769
|
+
self.viewerPrefs['disablePageLabels'] = value;
|
5835
5770
|
})
|
5836
5771
|
]).catch(function (reason) {
|
5837
5772
|
});
|
5838
|
-
|
5839
|
-
|
5840
|
-
|
5773
|
+
},
|
5774
|
+
_initializeViewerComponents: function () {
|
5775
|
+
var self = this;
|
5776
|
+
var appConfig = this.appConfig;
|
5777
|
+
return new Promise(function (resolve, reject) {
|
5778
|
+
var eventBus = appConfig.eventBus || getGlobalEventBus();
|
5779
|
+
self.eventBus = eventBus;
|
5780
|
+
var pdfRenderingQueue = new PDFRenderingQueue();
|
5781
|
+
pdfRenderingQueue.onIdle = self.cleanup.bind(self);
|
5782
|
+
self.pdfRenderingQueue = pdfRenderingQueue;
|
5783
|
+
var pdfLinkService = new PDFLinkService({ eventBus: eventBus });
|
5784
|
+
self.pdfLinkService = pdfLinkService;
|
5785
|
+
var downloadManager = self.externalServices.createDownloadManager();
|
5786
|
+
self.downloadManager = downloadManager;
|
5787
|
+
var container = appConfig.mainContainer;
|
5788
|
+
var viewer = appConfig.viewerContainer;
|
5789
|
+
self.pdfViewer = new PDFViewer({
|
5790
|
+
container: container,
|
5791
|
+
viewer: viewer,
|
5792
|
+
eventBus: eventBus,
|
5793
|
+
renderingQueue: pdfRenderingQueue,
|
5794
|
+
linkService: pdfLinkService,
|
5795
|
+
downloadManager: downloadManager,
|
5796
|
+
renderer: self.viewerPrefs['renderer'],
|
5797
|
+
enhanceTextSelection: self.viewerPrefs['enhanceTextSelection'],
|
5798
|
+
renderInteractiveForms: self.viewerPrefs['renderInteractiveForms']
|
5799
|
+
});
|
5800
|
+
pdfRenderingQueue.setViewer(self.pdfViewer);
|
5801
|
+
pdfLinkService.setViewer(self.pdfViewer);
|
5802
|
+
var thumbnailContainer = appConfig.sidebar.thumbnailView;
|
5803
|
+
self.pdfThumbnailViewer = new PDFThumbnailViewer({
|
5804
|
+
container: thumbnailContainer,
|
5805
|
+
renderingQueue: pdfRenderingQueue,
|
5806
|
+
linkService: pdfLinkService
|
5807
|
+
});
|
5808
|
+
pdfRenderingQueue.setThumbnailViewer(self.pdfThumbnailViewer);
|
5809
|
+
self.pdfHistory = new PDFHistory({
|
5810
|
+
linkService: pdfLinkService,
|
5811
|
+
eventBus: eventBus
|
5812
|
+
});
|
5813
|
+
pdfLinkService.setHistory(self.pdfHistory);
|
5814
|
+
self.findController = new PDFFindController({ pdfViewer: self.pdfViewer });
|
5815
|
+
self.findController.onUpdateResultsCount = function (matchCount) {
|
5816
|
+
if (self.supportsIntegratedFind) {
|
5817
|
+
return;
|
5818
|
+
}
|
5819
|
+
self.findBar.updateResultsCount(matchCount);
|
5820
|
+
};
|
5821
|
+
self.findController.onUpdateState = function (state, previous, matchCount) {
|
5822
|
+
if (self.supportsIntegratedFind) {
|
5823
|
+
self.externalServices.updateFindControlState({
|
5824
|
+
result: state,
|
5825
|
+
findPrevious: previous
|
5826
|
+
});
|
5827
|
+
} else {
|
5828
|
+
self.findBar.updateUIState(state, previous, matchCount);
|
5829
|
+
}
|
5830
|
+
};
|
5831
|
+
self.pdfViewer.setFindController(self.findController);
|
5832
|
+
var findBarConfig = Object.create(appConfig.findBar);
|
5833
|
+
findBarConfig.findController = self.findController;
|
5834
|
+
findBarConfig.eventBus = eventBus;
|
5835
|
+
self.findBar = new PDFFindBar(findBarConfig);
|
5836
|
+
self.overlayManager = OverlayManager;
|
5837
|
+
self.handTool = new HandTool({
|
5838
|
+
container: container,
|
5839
|
+
eventBus: eventBus
|
5840
|
+
});
|
5841
|
+
self.pdfDocumentProperties = new PDFDocumentProperties(appConfig.documentProperties);
|
5842
|
+
self.toolbar = new Toolbar(appConfig.toolbar, container, eventBus);
|
5843
|
+
self.secondaryToolbar = new SecondaryToolbar(appConfig.secondaryToolbar, container, eventBus);
|
5844
|
+
if (self.supportsFullscreen) {
|
5845
|
+
self.pdfPresentationMode = new PDFPresentationMode({
|
5846
|
+
container: container,
|
5847
|
+
viewer: viewer,
|
5848
|
+
pdfViewer: self.pdfViewer,
|
5849
|
+
eventBus: eventBus,
|
5850
|
+
contextMenuItems: appConfig.fullscreen
|
5851
|
+
});
|
5841
5852
|
}
|
5842
|
-
self.
|
5853
|
+
self.passwordPrompt = new PasswordPrompt(appConfig.passwordOverlay);
|
5854
|
+
self.pdfOutlineViewer = new PDFOutlineViewer({
|
5855
|
+
container: appConfig.sidebar.outlineView,
|
5856
|
+
eventBus: eventBus,
|
5857
|
+
linkService: pdfLinkService
|
5858
|
+
});
|
5859
|
+
self.pdfAttachmentViewer = new PDFAttachmentViewer({
|
5860
|
+
container: appConfig.sidebar.attachmentsView,
|
5861
|
+
eventBus: eventBus,
|
5862
|
+
downloadManager: downloadManager
|
5863
|
+
});
|
5864
|
+
var sidebarConfig = Object.create(appConfig.sidebar);
|
5865
|
+
sidebarConfig.pdfViewer = self.pdfViewer;
|
5866
|
+
sidebarConfig.pdfThumbnailViewer = self.pdfThumbnailViewer;
|
5867
|
+
sidebarConfig.pdfOutlineViewer = self.pdfOutlineViewer;
|
5868
|
+
sidebarConfig.eventBus = eventBus;
|
5869
|
+
self.pdfSidebar = new PDFSidebar(sidebarConfig);
|
5870
|
+
self.pdfSidebar.onToggled = self.forceRendering.bind(self);
|
5871
|
+
resolve(undefined);
|
5843
5872
|
});
|
5844
5873
|
},
|
5845
5874
|
run: function pdfViewRun(config) {
|
@@ -6133,7 +6162,7 @@ var pdfjsWebLibs;
|
|
6133
6162
|
});
|
6134
6163
|
self.loadingBar.setWidth(self.appConfig.viewerContainer);
|
6135
6164
|
if (!pdfjsLib.PDFJS.disableHistory && !self.isViewerEmbedded) {
|
6136
|
-
if (!self.
|
6165
|
+
if (!self.viewerPrefs['showPreviousViewOnLoad']) {
|
6137
6166
|
self.pdfHistory.clearHistoryState();
|
6138
6167
|
}
|
6139
6168
|
self.pdfHistory.initialize(self.documentFingerprint);
|
@@ -6150,15 +6179,15 @@ var pdfjsWebLibs;
|
|
6150
6179
|
};
|
6151
6180
|
store.initializedPromise.then(function resolved() {
|
6152
6181
|
var storedHash = null, sidebarView = null;
|
6153
|
-
if (self.
|
6182
|
+
if (self.viewerPrefs['showPreviousViewOnLoad'] && store.get('exists', false)) {
|
6154
6183
|
var pageNum = store.get('page', '1');
|
6155
|
-
var zoom = self.
|
6184
|
+
var zoom = self.viewerPrefs['defaultZoomValue'] || store.get('zoom', DEFAULT_SCALE_VALUE);
|
6156
6185
|
var left = store.get('scrollLeft', '0');
|
6157
6186
|
var top = store.get('scrollTop', '0');
|
6158
6187
|
storedHash = 'page=' + pageNum + '&zoom=' + zoom + ',' + left + ',' + top;
|
6159
6188
|
sidebarView = store.get('sidebarView', SidebarView.NONE);
|
6160
|
-
} else if (self.
|
6161
|
-
storedHash = 'page=1&zoom=' + self.
|
6189
|
+
} else if (self.viewerPrefs['defaultZoomValue']) {
|
6190
|
+
storedHash = 'page=1&zoom=' + self.viewerPrefs['defaultZoomValue'];
|
6162
6191
|
}
|
6163
6192
|
self.setInitialView(storedHash, {
|
6164
6193
|
scale: scale,
|
@@ -6186,7 +6215,7 @@ var pdfjsWebLibs;
|
|
6186
6215
|
});
|
6187
6216
|
});
|
6188
6217
|
pdfDocument.getPageLabels().then(function (labels) {
|
6189
|
-
if (!labels || self.
|
6218
|
+
if (!labels || self.viewerPrefs['disablePageLabels']) {
|
6190
6219
|
return;
|
6191
6220
|
}
|
6192
6221
|
var i = 0, numLabels = labels.length;
|
@@ -6264,7 +6293,7 @@ var pdfjsWebLibs;
|
|
6264
6293
|
var scale = options && options.scale;
|
6265
6294
|
var sidebarView = options && options.sidebarView;
|
6266
6295
|
this.isInitialViewSet = true;
|
6267
|
-
this.pdfSidebar.setInitialView(this.
|
6296
|
+
this.pdfSidebar.setInitialView(this.viewerPrefs['sidebarViewOnLoad'] || sidebarView | 0);
|
6268
6297
|
if (this.initialDestination) {
|
6269
6298
|
this.pdfLinkService.navigateTo(this.initialDestination);
|
6270
6299
|
this.initialDestination = null;
|
@@ -6384,6 +6413,31 @@ var pdfjsWebLibs;
|
|
6384
6413
|
eventBus.on('find', webViewerFind);
|
6385
6414
|
eventBus.on('findfromurlhash', webViewerFindFromUrlHash);
|
6386
6415
|
eventBus.on('fileinputchange', webViewerFileInputChange);
|
6416
|
+
},
|
6417
|
+
bindWindowEvents: function pdfViewBindWindowEvents() {
|
6418
|
+
var eventBus = this.eventBus;
|
6419
|
+
window.addEventListener('wheel', webViewerWheel);
|
6420
|
+
window.addEventListener('click', webViewerClick);
|
6421
|
+
window.addEventListener('keydown', webViewerKeyDown);
|
6422
|
+
window.addEventListener('resize', function windowResize() {
|
6423
|
+
eventBus.dispatch('resize');
|
6424
|
+
});
|
6425
|
+
window.addEventListener('hashchange', function windowHashChange() {
|
6426
|
+
eventBus.dispatch('hashchange', { hash: document.location.hash.substring(1) });
|
6427
|
+
});
|
6428
|
+
window.addEventListener('beforeprint', function windowBeforePrint() {
|
6429
|
+
eventBus.dispatch('beforeprint');
|
6430
|
+
});
|
6431
|
+
window.addEventListener('afterprint', function windowAfterPrint() {
|
6432
|
+
eventBus.dispatch('afterprint');
|
6433
|
+
});
|
6434
|
+
window.addEventListener('change', function windowChange(evt) {
|
6435
|
+
var files = evt.target.files;
|
6436
|
+
if (!files || files.length === 0) {
|
6437
|
+
return;
|
6438
|
+
}
|
6439
|
+
eventBus.dispatch('fileinputchange', { fileInput: evt.target });
|
6440
|
+
});
|
6387
6441
|
}
|
6388
6442
|
};
|
6389
6443
|
var validateFileURL;
|
@@ -6447,7 +6501,7 @@ var pdfjsWebLibs;
|
|
6447
6501
|
fileInput.value = null;
|
6448
6502
|
}
|
6449
6503
|
var PDFJS = pdfjsLib.PDFJS;
|
6450
|
-
if (PDFViewerApplication.
|
6504
|
+
if (PDFViewerApplication.viewerPrefs['pdfBugEnabled']) {
|
6451
6505
|
var hash = document.location.hash.substring(1);
|
6452
6506
|
var hashParams = parseQueryString(hash);
|
6453
6507
|
if ('disableworker' in hashParams) {
|
@@ -6574,9 +6628,6 @@ var pdfjsWebLibs;
|
|
6574
6628
|
function webViewerTextLayerRendered(e) {
|
6575
6629
|
}
|
6576
6630
|
function webViewerPageMode(e) {
|
6577
|
-
if (!PDFViewerApplication.initialized) {
|
6578
|
-
return;
|
6579
|
-
}
|
6580
6631
|
var mode = e.mode, view;
|
6581
6632
|
switch (mode) {
|
6582
6633
|
case 'thumbs':
|
@@ -6599,9 +6650,6 @@ var pdfjsWebLibs;
|
|
6599
6650
|
PDFViewerApplication.pdfSidebar.switchView(view, true);
|
6600
6651
|
}
|
6601
6652
|
function webViewerNamedAction(e) {
|
6602
|
-
if (!PDFViewerApplication.initialized) {
|
6603
|
-
return;
|
6604
|
-
}
|
6605
6653
|
var action = e.action;
|
6606
6654
|
switch (action) {
|
6607
6655
|
case 'GoToPage':
|
@@ -6620,9 +6668,6 @@ var pdfjsWebLibs;
|
|
6620
6668
|
PDFViewerApplication.pdfViewer.presentationModeState = switchInProgress ? PresentationModeState.CHANGING : active ? PresentationModeState.FULLSCREEN : PresentationModeState.NORMAL;
|
6621
6669
|
}
|
6622
6670
|
function webViewerSidebarViewChanged(e) {
|
6623
|
-
if (!PDFViewerApplication.initialized) {
|
6624
|
-
return;
|
6625
|
-
}
|
6626
6671
|
PDFViewerApplication.pdfRenderingQueue.isThumbnailViewEnabled = PDFViewerApplication.pdfSidebar.isThumbnailViewVisible;
|
6627
6672
|
var store = PDFViewerApplication.store;
|
6628
6673
|
if (!store || !PDFViewerApplication.isInitialViewSet) {
|
@@ -6634,9 +6679,6 @@ var pdfjsWebLibs;
|
|
6634
6679
|
});
|
6635
6680
|
}
|
6636
6681
|
function webViewerUpdateViewarea(e) {
|
6637
|
-
if (!PDFViewerApplication.initialized) {
|
6638
|
-
return;
|
6639
|
-
}
|
6640
6682
|
var location = e.location, store = PDFViewerApplication.store;
|
6641
6683
|
if (store) {
|
6642
6684
|
store.initializedPromise.then(function () {
|
@@ -6658,27 +6700,15 @@ var pdfjsWebLibs;
|
|
6658
6700
|
var loading = currentPage.renderingState !== RenderingStates.FINISHED;
|
6659
6701
|
PDFViewerApplication.toolbar.updateLoadingIndicatorState(loading);
|
6660
6702
|
}
|
6661
|
-
window.addEventListener('resize', function webViewerResize(evt) {
|
6662
|
-
if (!PDFViewerApplication.eventBus) {
|
6663
|
-
return;
|
6664
|
-
}
|
6665
|
-
PDFViewerApplication.eventBus.dispatch('resize');
|
6666
|
-
});
|
6667
6703
|
function webViewerResize() {
|
6668
|
-
|
6669
|
-
|
6670
|
-
|
6671
|
-
|
6672
|
-
|
6673
|
-
PDFViewerApplication.pdfViewer.currentScaleValue = DEFAULT_SCALE_VALUE;
|
6674
|
-
}
|
6675
|
-
PDFViewerApplication.pdfViewer.update();
|
6704
|
+
var currentScaleValue = PDFViewerApplication.pdfViewer.currentScaleValue;
|
6705
|
+
if (currentScaleValue === 'auto' || currentScaleValue === 'page-fit' || currentScaleValue === 'page-width') {
|
6706
|
+
PDFViewerApplication.pdfViewer.currentScaleValue = currentScaleValue;
|
6707
|
+
} else if (!currentScaleValue) {
|
6708
|
+
PDFViewerApplication.pdfViewer.currentScaleValue = DEFAULT_SCALE_VALUE;
|
6676
6709
|
}
|
6710
|
+
PDFViewerApplication.pdfViewer.update();
|
6677
6711
|
}
|
6678
|
-
window.addEventListener('hashchange', function webViewerHashchange(evt) {
|
6679
|
-
var hash = document.location.hash.substring(1);
|
6680
|
-
PDFViewerApplication.eventBus.dispatch('hashchange', { hash: hash });
|
6681
|
-
});
|
6682
6712
|
function webViewerHashchange(e) {
|
6683
6713
|
if (PDFViewerApplication.pdfHistory.isHashChangeUnlocked) {
|
6684
6714
|
var hash = e.hash;
|
@@ -6693,13 +6723,6 @@ var pdfjsWebLibs;
|
|
6693
6723
|
}
|
6694
6724
|
}
|
6695
6725
|
var webViewerFileInputChange;
|
6696
|
-
window.addEventListener('change', function webViewerChange(evt) {
|
6697
|
-
var files = evt.target.files;
|
6698
|
-
if (!files || files.length === 0) {
|
6699
|
-
return;
|
6700
|
-
}
|
6701
|
-
PDFViewerApplication.eventBus.dispatch('fileinputchange', { fileInput: evt.target });
|
6702
|
-
}, true);
|
6703
6726
|
webViewerFileInputChange = function webViewerFileInputChange(e) {
|
6704
6727
|
var file = e.fileInput.files[0];
|
6705
6728
|
if (!pdfjsLib.PDFJS.disableCreateObjectURL && typeof URL !== 'undefined' && URL.createObjectURL) {
|
@@ -6720,10 +6743,6 @@ var pdfjsWebLibs;
|
|
6720
6743
|
appConfig.toolbar.download.setAttribute('hidden', 'true');
|
6721
6744
|
appConfig.secondaryToolbar.downloadButton.setAttribute('hidden', 'true');
|
6722
6745
|
};
|
6723
|
-
function webViewerLocalized() {
|
6724
|
-
document.getElementsByTagName('html')[0].dir = mozL10n.getDirection();
|
6725
|
-
PDFViewerApplication.eventBus.dispatch('localized');
|
6726
|
-
}
|
6727
6746
|
function webViewerPresentationMode() {
|
6728
6747
|
PDFViewerApplication.requestPresentationMode();
|
6729
6748
|
}
|
@@ -6798,9 +6817,6 @@ var pdfjsWebLibs;
|
|
6798
6817
|
}
|
6799
6818
|
function webViewerScaleChanging(e) {
|
6800
6819
|
PDFViewerApplication.toolbar.setPageScale(e.presetValue, e.scale);
|
6801
|
-
if (!PDFViewerApplication.initialized) {
|
6802
|
-
return;
|
6803
|
-
}
|
6804
6820
|
PDFViewerApplication.pdfViewer.update();
|
6805
6821
|
}
|
6806
6822
|
function webViewerPageChanging(e) {
|
@@ -6818,9 +6834,9 @@ var pdfjsWebLibs;
|
|
6818
6834
|
}
|
6819
6835
|
}
|
6820
6836
|
var zoomDisabled = false, zoomDisabledTimeout;
|
6821
|
-
function
|
6837
|
+
function webViewerWheel(evt) {
|
6822
6838
|
var pdfViewer = PDFViewerApplication.pdfViewer;
|
6823
|
-
if (
|
6839
|
+
if (pdfViewer.isInPresentationMode) {
|
6824
6840
|
return;
|
6825
6841
|
}
|
6826
6842
|
if (evt.ctrlKey || evt.metaKey) {
|
@@ -6858,8 +6874,7 @@ var pdfjsWebLibs;
|
|
6858
6874
|
}, 1000);
|
6859
6875
|
}
|
6860
6876
|
}
|
6861
|
-
|
6862
|
-
window.addEventListener('click', function click(evt) {
|
6877
|
+
function webViewerClick(evt) {
|
6863
6878
|
if (!PDFViewerApplication.secondaryToolbar.isOpen) {
|
6864
6879
|
return;
|
6865
6880
|
}
|
@@ -6867,8 +6882,8 @@ var pdfjsWebLibs;
|
|
6867
6882
|
if (PDFViewerApplication.pdfViewer.containsElement(evt.target) || appConfig.toolbar.container.contains(evt.target) && evt.target !== appConfig.secondaryToolbar.toggleButton) {
|
6868
6883
|
PDFViewerApplication.secondaryToolbar.close();
|
6869
6884
|
}
|
6870
|
-
}
|
6871
|
-
|
6885
|
+
}
|
6886
|
+
function webViewerKeyDown(evt) {
|
6872
6887
|
if (OverlayManager.active) {
|
6873
6888
|
return;
|
6874
6889
|
}
|
@@ -7088,14 +7103,10 @@ var pdfjsWebLibs;
|
|
7088
7103
|
if (handled) {
|
7089
7104
|
evt.preventDefault();
|
7090
7105
|
}
|
7106
|
+
}
|
7107
|
+
localized.then(function webViewerLocalized() {
|
7108
|
+
document.getElementsByTagName('html')[0].dir = mozL10n.getDirection();
|
7091
7109
|
});
|
7092
|
-
window.addEventListener('beforeprint', function beforePrint(evt) {
|
7093
|
-
PDFViewerApplication.eventBus.dispatch('beforeprint');
|
7094
|
-
});
|
7095
|
-
window.addEventListener('afterprint', function afterPrint(evt) {
|
7096
|
-
PDFViewerApplication.eventBus.dispatch('afterprint');
|
7097
|
-
});
|
7098
|
-
localized.then(webViewerLocalized);
|
7099
7110
|
var PDFPrintServiceFactory = {
|
7100
7111
|
instance: {
|
7101
7112
|
supportsPrinting: false,
|