Adds pdfjs/main_loader module to better mirror pdfjs-dist/build/pdf.

This commit is contained in:
Yury Delendik 2015-12-30 13:28:57 -06:00
parent cbbb9bb82d
commit f340dd5cd5
5 changed files with 78 additions and 15 deletions

10
make.js
View File

@ -484,7 +484,7 @@ target.bundle = function(args) {
echo();
echo('### Bundling files into ' + BUILD_TARGET);
function bundle(filename, outfilename, files, distname) {
function bundle(filename, outfilename, files, distname, isMainFile) {
var bundleContent = cat(files),
bundleVersion = VERSION,
bundleBuild = exec('git log --format="%h" -n 1',
@ -511,7 +511,8 @@ target.bundle = function(args) {
BUNDLE_VERSION: bundleVersion,
BUNDLE_BUILD: bundleBuild,
BUNDLE_AMD_NAME: amdName,
BUNDLE_JS_NAME: jsName}));
BUNDLE_JS_NAME: jsName,
MAIN_FILE: isMainFile}));
}
if (!test('-d', BUILD_DIR)) {
@ -521,7 +522,6 @@ target.bundle = function(args) {
var umd = require('./external/umdutils/verifier.js');
var MAIN_SRC_FILES = [
SRC_DIR + 'display/annotation_layer.js',
SRC_DIR + 'display/metadata.js',
SRC_DIR + 'display/text_layer.js',
SRC_DIR + 'display/api.js'
];
@ -560,13 +560,13 @@ target.bundle = function(args) {
cd(SRC_DIR);
bundle('pdf.js', ROOT_DIR + BUILD_TARGET, mainFiles, mainFileName);
bundle('pdf.js', ROOT_DIR + BUILD_TARGET, mainFiles, mainFileName, true);
if (workerFiles) {
var srcCopy = ROOT_DIR + BUILD_DIR + 'pdf.worker.js.temp';
cp('pdf.js', srcCopy);
bundle(srcCopy, ROOT_DIR + BUILD_WORKER_TARGET, workerFiles,
workerFileName);
workerFileName, false);
rm(srcCopy);
}
};

View File

@ -20,17 +20,18 @@
if (typeof define === 'function' && define.amd) {
define('pdfjs/display/api', ['exports', 'pdfjs/shared/util',
'pdfjs/display/font_loader', 'pdfjs/display/canvas',
'pdfjs/shared/global', 'require'], factory);
'pdfjs/display/metadata', 'pdfjs/shared/global', 'require'], factory);
} else if (typeof exports !== 'undefined') {
factory(exports, require('../shared/util.js'), require('./font_loader.js'),
require('./canvas.js'), require('../shared/global.js'));
require('./canvas.js'), require('./metadata.js'),
require('../shared/global.js'));
} else {
factory((root.pdfjsDisplayAPI = {}), root.pdfjsSharedUtil,
root.pdfjsDisplayFontLoader, root.pdfjsDisplayCanvas,
root.pdfjsSharedGlobal);
root.pdfjsDisplayMetadata, root.pdfjsSharedGlobal);
}
}(this, function (exports, sharedUtil, displayFontLoader, displayCanvas,
sharedGlobal, amdRequire) {
displayMetadata, sharedGlobal, amdRequire) {
var InvalidPDFException = sharedUtil.InvalidPDFException;
var MessageHandler = sharedUtil.MessageHandler;
@ -54,6 +55,7 @@ var FontFaceObject = displayFontLoader.FontFaceObject;
var FontLoader = displayFontLoader.FontLoader;
var CanvasGraphics = displayCanvas.CanvasGraphics;
var createScratchCanvas = displayCanvas.createScratchCanvas;
var Metadata = displayMetadata.Metadata;
var PDFJS = sharedGlobal.PDFJS;
var globalScope = sharedGlobal.globalScope;
@ -1818,7 +1820,7 @@ var WorkerTransport = (function WorkerTransportClosure() {
then(function transportMetadata(results) {
return {
info: results[0],
metadata: (results[1] ? new PDFJS.Metadata(results[1]) : null)
metadata: (results[1] ? new Metadata(results[1]) : null)
};
});
},

49
src/main_loader.js Normal file
View File

@ -0,0 +1,49 @@
/* Copyright 2015 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.
*/
'use strict';
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
define('pdfjs/main_loader', ['exports', 'pdfjs/display/api',
'pdfjs/display/annotation_layer', 'pdfjs/display/text_layer',
'pdfjs/display/dom_utils', 'pdfjs/shared/util', 'pdfjs/shared/global'],
factory);
} else if (typeof exports !== 'undefined') {
factory(exports, require('./display/api.js'),
require('./display/annotation_layer.js'),
require('./display/text_layer.js'), require('./display/dom_utils.js'),
require('./shared/util.js'), require('./shared/global.js'));
} else {
factory((root.pdfjsMainLoader = {}), root.pdfjsDisplayAPI,
root.pdfjsDisplayAnnotationLayer, root.pdfjsDisplayTextLayer,
root.pdfjsDisplayDOMUtils, root.pdfjsSharedUtil, root.pdfjsSharedGlobal);
}
}(this, function (exports, displayAPI, displayAnnotationLayer,
displayTextLayer, displayDOMUtils, sharedUtil, sharedGlobal) {
// Sync the exports below with ./pdf.js file/template.
exports.PDFJS = sharedGlobal.PDFJS;
exports.getDocument = displayAPI.getDocument;
exports.PDFDataRangeTransport = displayAPI.PDFDataRangeTransport;
exports.renderTextLayer = displayTextLayer.renderTextLayer;
exports.AnnotationLayer = displayAnnotationLayer.AnnotationLayer;
exports.CustomStyle = displayDOMUtils.CustomStyle;
exports.PasswordResponses = sharedUtil.PasswordResponses;
exports.InvalidPDFException = sharedUtil.InvalidPDFException;
exports.MissingPDFException = sharedUtil.MissingPDFException;
exports.UnexpectedResponseException = sharedUtil.UnexpectedResponseException;
}));

View File

@ -44,4 +44,19 @@
}).call(pdfjsLibs);
exports.PDFJS = pdfjsLibs.pdfjsSharedGlobal.PDFJS;
//#if MAIN_FILE
exports.getDocument = pdfjsLibs.pdfjsDisplayAPI.getDocument;
exports.PDFDataRangeTransport =
pdfjsLibs.pdfjsDisplayAPI.PDFDataRangeTransport;
exports.renderTextLayer = pdfjsLibs.pdfjsDisplayTextLayer.renderTextLayer;
exports.AnnotationLayer =
pdfjsLibs.pdfjsDisplayAnnotationLayer.AnnotationLayer;
exports.CustomStyle = pdfjsLibs.pdfjsDisplayDOMUtils.CustomStyle;
exports.PasswordResponses = pdfjsLibs.pdfjsSharedUtil.PasswordResponses;
exports.InvalidPDFException = pdfjsLibs.pdfjsSharedUtil.InvalidPDFException;
exports.MissingPDFException = pdfjsLibs.pdfjsSharedUtil.MissingPDFException;
exports.UnexpectedResponseException =
pdfjsLibs.pdfjsSharedUtil.UnexpectedResponseException;
//#endif
}));

View File

@ -1335,11 +1335,8 @@ window.PDFView = PDFViewerApplication; // obsolete name, using it as an alias
function webViewerLoad(evt) {
//#if !PRODUCTION
require.config({paths: {'pdfjs': '../src'}});
require(['pdfjs/display/api',
'pdfjs/display/annotation_layer',
'pdfjs/display/text_layer',
'pdfjs/display/metadata'],
function (api, annotationLayer, textLayer, metadata) {
require(['pdfjs/main_loader'],
function (loader) {
configure(PDFJS);
PDFViewerApplication.initialize().then(webViewerInitialized);
});