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

View File

@ -20,17 +20,18 @@
if (typeof define === 'function' && define.amd) { if (typeof define === 'function' && define.amd) {
define('pdfjs/display/api', ['exports', 'pdfjs/shared/util', define('pdfjs/display/api', ['exports', 'pdfjs/shared/util',
'pdfjs/display/font_loader', 'pdfjs/display/canvas', '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') { } else if (typeof exports !== 'undefined') {
factory(exports, require('../shared/util.js'), require('./font_loader.js'), 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 { } else {
factory((root.pdfjsDisplayAPI = {}), root.pdfjsSharedUtil, factory((root.pdfjsDisplayAPI = {}), root.pdfjsSharedUtil,
root.pdfjsDisplayFontLoader, root.pdfjsDisplayCanvas, root.pdfjsDisplayFontLoader, root.pdfjsDisplayCanvas,
root.pdfjsSharedGlobal); root.pdfjsDisplayMetadata, root.pdfjsSharedGlobal);
} }
}(this, function (exports, sharedUtil, displayFontLoader, displayCanvas, }(this, function (exports, sharedUtil, displayFontLoader, displayCanvas,
sharedGlobal, amdRequire) { displayMetadata, sharedGlobal, amdRequire) {
var InvalidPDFException = sharedUtil.InvalidPDFException; var InvalidPDFException = sharedUtil.InvalidPDFException;
var MessageHandler = sharedUtil.MessageHandler; var MessageHandler = sharedUtil.MessageHandler;
@ -54,6 +55,7 @@ var FontFaceObject = displayFontLoader.FontFaceObject;
var FontLoader = displayFontLoader.FontLoader; var FontLoader = displayFontLoader.FontLoader;
var CanvasGraphics = displayCanvas.CanvasGraphics; var CanvasGraphics = displayCanvas.CanvasGraphics;
var createScratchCanvas = displayCanvas.createScratchCanvas; var createScratchCanvas = displayCanvas.createScratchCanvas;
var Metadata = displayMetadata.Metadata;
var PDFJS = sharedGlobal.PDFJS; var PDFJS = sharedGlobal.PDFJS;
var globalScope = sharedGlobal.globalScope; var globalScope = sharedGlobal.globalScope;
@ -1818,7 +1820,7 @@ var WorkerTransport = (function WorkerTransportClosure() {
then(function transportMetadata(results) { then(function transportMetadata(results) {
return { return {
info: results[0], 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); }).call(pdfjsLibs);
exports.PDFJS = pdfjsLibs.pdfjsSharedGlobal.PDFJS; 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) { function webViewerLoad(evt) {
//#if !PRODUCTION //#if !PRODUCTION
require.config({paths: {'pdfjs': '../src'}}); require.config({paths: {'pdfjs': '../src'}});
require(['pdfjs/display/api', require(['pdfjs/main_loader'],
'pdfjs/display/annotation_layer', function (loader) {
'pdfjs/display/text_layer',
'pdfjs/display/metadata'],
function (api, annotationLayer, textLayer, metadata) {
configure(PDFJS); configure(PDFJS);
PDFViewerApplication.initialize().then(webViewerInitialized); PDFViewerApplication.initialize().then(webViewerInitialized);
}); });