| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267 | 
							- /* Copyright 2016 Mozilla Foundation
 
-  *
 
-  * Licensed under the Apache License, Version 2.0 (the "License");
 
-  * you may not use this file except in compliance with the License.
 
-  * You may obtain a copy of the License at
 
-  *
 
-  *     http://www.apache.org/licenses/LICENSE-2.0
 
-  *
 
-  * Unless required by applicable law or agreed to in writing, software
 
-  * distributed under the License is distributed on an "AS IS" BASIS,
 
-  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 
-  * See the License for the specific language governing permissions and
 
-  * limitations under the License.
 
-  */
 
- import { RenderingStates, ScrollMode, SpreadMode } from "./ui_utils.js";
 
- import { AppOptions } from "./app_options.js";
 
- import { LinkTarget } from "./pdf_link_service.js";
 
- import { PDFViewerApplication } from "./app.js";
 
- /* eslint-disable-next-line no-unused-vars */
 
- const pdfjsVersion =
 
-   typeof PDFJSDev !== "undefined" ? PDFJSDev.eval("BUNDLE_VERSION") : void 0;
 
- /* eslint-disable-next-line no-unused-vars */
 
- const pdfjsBuild =
 
-   typeof PDFJSDev !== "undefined" ? PDFJSDev.eval("BUNDLE_BUILD") : void 0;
 
- const AppConstants =
 
-   typeof PDFJSDev === "undefined" || PDFJSDev.test("GENERIC")
 
-     ? { LinkTarget, RenderingStates, ScrollMode, SpreadMode }
 
-     : null;
 
- window.PDFViewerApplication = PDFViewerApplication;
 
- window.PDFViewerApplicationConstants = AppConstants;
 
- window.PDFViewerApplicationOptions = AppOptions;
 
- if (typeof PDFJSDev !== "undefined" && PDFJSDev.test("CHROME")) {
 
-   (function rewriteUrlClosure() {
 
-     // Run this code outside DOMContentLoaded to make sure that the URL
 
-     // is rewritten as soon as possible.
 
-     const queryString = document.location.search.slice(1);
 
-     const m = /(^|&)file=([^&]*)/.exec(queryString);
 
-     const defaultUrl = m ? decodeURIComponent(m[2]) : "";
 
-     // Example: chrome-extension://.../http://example.com/file.pdf
 
-     const humanReadableUrl = "/" + defaultUrl + location.hash;
 
-     history.replaceState(history.state, "", humanReadableUrl);
 
-     if (top === window) {
 
-       // eslint-disable-next-line no-undef
 
-       chrome.runtime.sendMessage("showPageAction");
 
-     }
 
-     AppOptions.set("defaultUrl", defaultUrl);
 
-   })();
 
- }
 
- if (typeof PDFJSDev !== "undefined" && PDFJSDev.test("MOZCENTRAL")) {
 
-   require("./firefoxcom.js");
 
-   require("./firefox_print_service.js");
 
- }
 
- if (typeof PDFJSDev !== "undefined" && PDFJSDev.test("GENERIC")) {
 
-   require("./genericcom.js");
 
- }
 
- if (typeof PDFJSDev !== "undefined" && PDFJSDev.test("CHROME")) {
 
-   require("./chromecom.js");
 
- }
 
- if (typeof PDFJSDev !== "undefined" && PDFJSDev.test("CHROME || GENERIC")) {
 
-   require("./pdf_print_service.js");
 
- }
 
- function getViewerConfiguration() {
 
-   return {
 
-     appContainer: document.body,
 
-     mainContainer: document.getElementById("viewerContainer"),
 
-     viewerContainer: document.getElementById("viewer"),
 
-     toolbar: {
 
-       container: document.getElementById("toolbarViewer"),
 
-       numPages: document.getElementById("numPages"),
 
-       pageNumber: document.getElementById("pageNumber"),
 
-       scaleSelect: document.getElementById("scaleSelect"),
 
-       customScaleOption: document.getElementById("customScaleOption"),
 
-       previous: document.getElementById("previous"),
 
-       next: document.getElementById("next"),
 
-       zoomIn: document.getElementById("zoomIn"),
 
-       zoomOut: document.getElementById("zoomOut"),
 
-       viewFind: document.getElementById("viewFind"),
 
-       openFile:
 
-         typeof PDFJSDev === "undefined" || PDFJSDev.test("GENERIC")
 
-           ? document.getElementById("openFile")
 
-           : null,
 
-       print: document.getElementById("print"),
 
-       editorFreeTextButton: document.getElementById("editorFreeText"),
 
-       editorFreeTextParamsToolbar: document.getElementById(
 
-         "editorFreeTextParamsToolbar"
 
-       ),
 
-       editorInkButton: document.getElementById("editorInk"),
 
-       editorInkParamsToolbar: document.getElementById("editorInkParamsToolbar"),
 
-       download: document.getElementById("download"),
 
-     },
 
-     secondaryToolbar: {
 
-       toolbar: document.getElementById("secondaryToolbar"),
 
-       toggleButton: document.getElementById("secondaryToolbarToggle"),
 
-       presentationModeButton: document.getElementById("presentationMode"),
 
-       openFileButton:
 
-         typeof PDFJSDev === "undefined" || PDFJSDev.test("GENERIC")
 
-           ? document.getElementById("secondaryOpenFile")
 
-           : null,
 
-       printButton: document.getElementById("secondaryPrint"),
 
-       downloadButton: document.getElementById("secondaryDownload"),
 
-       viewBookmarkButton: document.getElementById("viewBookmark"),
 
-       firstPageButton: document.getElementById("firstPage"),
 
-       lastPageButton: document.getElementById("lastPage"),
 
-       pageRotateCwButton: document.getElementById("pageRotateCw"),
 
-       pageRotateCcwButton: document.getElementById("pageRotateCcw"),
 
-       cursorSelectToolButton: document.getElementById("cursorSelectTool"),
 
-       cursorHandToolButton: document.getElementById("cursorHandTool"),
 
-       scrollPageButton: document.getElementById("scrollPage"),
 
-       scrollVerticalButton: document.getElementById("scrollVertical"),
 
-       scrollHorizontalButton: document.getElementById("scrollHorizontal"),
 
-       scrollWrappedButton: document.getElementById("scrollWrapped"),
 
-       spreadNoneButton: document.getElementById("spreadNone"),
 
-       spreadOddButton: document.getElementById("spreadOdd"),
 
-       spreadEvenButton: document.getElementById("spreadEven"),
 
-       documentPropertiesButton: document.getElementById("documentProperties"),
 
-     },
 
-     sidebar: {
 
-       // Divs (and sidebar button)
 
-       outerContainer: document.getElementById("outerContainer"),
 
-       sidebarContainer: document.getElementById("sidebarContainer"),
 
-       toggleButton: document.getElementById("sidebarToggle"),
 
-       // Buttons
 
-       thumbnailButton: document.getElementById("viewThumbnail"),
 
-       outlineButton: document.getElementById("viewOutline"),
 
-       attachmentsButton: document.getElementById("viewAttachments"),
 
-       layersButton: document.getElementById("viewLayers"),
 
-       // Views
 
-       thumbnailView: document.getElementById("thumbnailView"),
 
-       outlineView: document.getElementById("outlineView"),
 
-       attachmentsView: document.getElementById("attachmentsView"),
 
-       layersView: document.getElementById("layersView"),
 
-       // View-specific options
 
-       outlineOptionsContainer: document.getElementById(
 
-         "outlineOptionsContainer"
 
-       ),
 
-       currentOutlineItemButton: document.getElementById("currentOutlineItem"),
 
-     },
 
-     sidebarResizer: {
 
-       outerContainer: document.getElementById("outerContainer"),
 
-       resizer: document.getElementById("sidebarResizer"),
 
-     },
 
-     findBar: {
 
-       bar: document.getElementById("findbar"),
 
-       toggleButton: document.getElementById("viewFind"),
 
-       findField: document.getElementById("findInput"),
 
-       highlightAllCheckbox: document.getElementById("findHighlightAll"),
 
-       caseSensitiveCheckbox: document.getElementById("findMatchCase"),
 
-       matchDiacriticsCheckbox: document.getElementById("findMatchDiacritics"),
 
-       entireWordCheckbox: document.getElementById("findEntireWord"),
 
-       findMsg: document.getElementById("findMsg"),
 
-       findResultsCount: document.getElementById("findResultsCount"),
 
-       findPreviousButton: document.getElementById("findPrevious"),
 
-       findNextButton: document.getElementById("findNext"),
 
-     },
 
-     passwordOverlay: {
 
-       dialog: document.getElementById("passwordDialog"),
 
-       label: document.getElementById("passwordText"),
 
-       input: document.getElementById("password"),
 
-       submitButton: document.getElementById("passwordSubmit"),
 
-       cancelButton: document.getElementById("passwordCancel"),
 
-     },
 
-     documentProperties: {
 
-       dialog: document.getElementById("documentPropertiesDialog"),
 
-       closeButton: document.getElementById("documentPropertiesClose"),
 
-       fields: {
 
-         fileName: document.getElementById("fileNameField"),
 
-         fileSize: document.getElementById("fileSizeField"),
 
-         title: document.getElementById("titleField"),
 
-         author: document.getElementById("authorField"),
 
-         subject: document.getElementById("subjectField"),
 
-         keywords: document.getElementById("keywordsField"),
 
-         creationDate: document.getElementById("creationDateField"),
 
-         modificationDate: document.getElementById("modificationDateField"),
 
-         creator: document.getElementById("creatorField"),
 
-         producer: document.getElementById("producerField"),
 
-         version: document.getElementById("versionField"),
 
-         pageCount: document.getElementById("pageCountField"),
 
-         pageSize: document.getElementById("pageSizeField"),
 
-         linearized: document.getElementById("linearizedField"),
 
-       },
 
-     },
 
-     annotationEditorParams: {
 
-       editorFreeTextFontSize: document.getElementById("editorFreeTextFontSize"),
 
-       editorFreeTextColor: document.getElementById("editorFreeTextColor"),
 
-       editorInkColor: document.getElementById("editorInkColor"),
 
-       editorInkThickness: document.getElementById("editorInkThickness"),
 
-       editorInkOpacity: document.getElementById("editorInkOpacity"),
 
-     },
 
-     printContainer: document.getElementById("printContainer"),
 
-     openFileInput:
 
-       typeof PDFJSDev === "undefined" || PDFJSDev.test("GENERIC")
 
-         ? document.getElementById("fileInput")
 
-         : null,
 
-     debuggerScriptPath: "./debugger.js",
 
-   };
 
- }
 
- function webViewerLoad() {
 
-   const config = getViewerConfiguration();
 
-   if (typeof PDFJSDev === "undefined" || !PDFJSDev.test("PRODUCTION")) {
 
-     if (window.chrome) {
 
-       const link = document.createElement("link");
 
-       link.rel = "stylesheet";
 
-       link.href = "../build/dev-css/viewer.css";
 
-       document.head.append(link);
 
-     }
 
-     Promise.all([
 
-       import("pdfjs-web/genericcom.js"),
 
-       import("pdfjs-web/pdf_print_service.js"),
 
-     ]).then(function ([genericCom, pdfPrintService]) {
 
-       PDFViewerApplication.run(config);
 
-     });
 
-   } else {
 
-     if (typeof PDFJSDev !== "undefined" && PDFJSDev.test("GENERIC")) {
 
-       // Give custom implementations of the default viewer a simpler way to
 
-       // set various `AppOptions`, by dispatching an event once all viewer
 
-       // files are loaded but *before* the viewer initialization has run.
 
-       const event = document.createEvent("CustomEvent");
 
-       event.initCustomEvent("webviewerloaded", true, true, {
 
-         source: window,
 
-       });
 
-       try {
 
-         // Attempt to dispatch the event at the embedding `document`,
 
-         // in order to support cases where the viewer is embedded in
 
-         // a *dynamically* created <iframe> element.
 
-         parent.document.dispatchEvent(event);
 
-       } catch (ex) {
 
-         // The viewer could be in e.g. a cross-origin <iframe> element,
 
-         // fallback to dispatching the event at the current `document`.
 
-         console.error(`webviewerloaded: ${ex}`);
 
-         document.dispatchEvent(event);
 
-       }
 
-     }
 
-     PDFViewerApplication.run(config);
 
-   }
 
- }
 
- // Block the "load" event until all pages are loaded, to ensure that printing
 
- // works in Firefox; see https://bugzilla.mozilla.org/show_bug.cgi?id=1618553
 
- document.blockUnblockOnload?.(true);
 
- if (
 
-   document.readyState === "interactive" ||
 
-   document.readyState === "complete"
 
- ) {
 
-   webViewerLoad();
 
- } else {
 
-   document.addEventListener("DOMContentLoaded", webViewerLoad, true);
 
- }
 
- export {
 
-   PDFViewerApplication,
 
-   AppConstants as PDFViewerApplicationConstants,
 
-   AppOptions as PDFViewerApplicationOptions,
 
- };
 
 
  |