From 6b60c8f4dbd87233ccf5ad7e0fca617fd02dca9c Mon Sep 17 00:00:00 2001 From: Yury Delendik Date: Sat, 21 Nov 2015 10:32:47 -0600 Subject: [PATCH 001/654] Adds UMD headers to core, display and shared files. --- .jshintrc | 6 + examples/acroforms/index.html | 14 +- examples/helloworld/index.html | 13 +- examples/svgviewer/index.html | 9 +- make.js | 15 +- src/core/annotation.js | 48 ++- src/core/arithmetic_decoder.js | 13 + src/core/bidi.js | 16 +- src/core/charsets.js | 15 + src/core/chunked_stream.js | 24 +- src/core/cmap.js | 35 +- src/core/colorspace.js | 44 +- src/core/crypto.js | 40 +- src/core/{core.js => document.js} | 69 +++- src/core/evaluator.js | 90 ++++- src/core/font_renderer.js | 36 +- src/core/fonts.js | 86 +++- src/core/function.js | 30 +- src/core/glyphlist.js | 14 + src/core/image.js | 39 +- src/core/jbig2.js | 26 +- src/core/jpg.js | 17 +- src/core/jpx.js | 25 +- src/core/metrics.js | 13 + src/core/murmurhash3.js | 16 +- src/core/obj.js | 367 +++-------------- src/core/parser.js | 57 ++- src/core/pattern.js | 33 +- src/core/pdf_manager.js | 30 +- src/core/primitives.js | 378 ++++++++++++++++++ src/core/ps_parser.js | 21 +- src/core/stream.js | 70 +++- src/core/worker.js | 50 ++- src/display/annotation_layer.js | 27 +- src/display/api.js | 53 ++- src/display/canvas.js | 50 ++- src/display/dom_utils.js | 17 +- src/display/font_loader.js | 30 +- src/display/metadata.js | 17 +- src/display/pattern_helper.js | 34 +- src/display/svg.js | 25 +- src/display/text_layer.js | 18 +- src/display/webgl.js | 17 +- src/expose_to_global.js | 35 ++ src/shared/global.js | 47 +++ src/shared/util.js | 108 +++-- src/worker_loader.js | 46 ++- test/driver.js | 7 +- test/font/font_test.html | 59 +-- test/test_slave.html | 13 +- test/unit/font_spec.js | 8 +- test/unit/{obj_spec.js => primitives_spec.js} | 2 +- test/unit/unit_test.html | 63 +-- web/viewer.html | 13 +- 54 files changed, 1876 insertions(+), 572 deletions(-) rename src/core/{core.js => document.js} (87%) create mode 100644 src/core/primitives.js create mode 100644 src/expose_to_global.js create mode 100644 src/shared/global.js rename test/unit/{obj_spec.js => primitives_spec.js} (99%) diff --git a/.jshintrc b/.jshintrc index b777537c..19c53a41 100644 --- a/.jshintrc +++ b/.jshintrc @@ -3,6 +3,12 @@ "browser": true, "devel": true, "worker": true, + "predef": [ + "Promise", + "require", + "define", + "exports" + ], // Enforcing "maxlen": 80, diff --git a/examples/acroforms/index.html b/examples/acroforms/index.html index a54ba704..15b9fde6 100644 --- a/examples/acroforms/index.html +++ b/examples/acroforms/index.html @@ -4,17 +4,17 @@ + + - + + - + - - - - - + + + - + + - + - - - - + + - - - + + + + + - - - - - - - - - - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - + + + - - + diff --git a/test/test_slave.html b/test/test_slave.html index ad33b590..50f0ce1c 100644 --- a/test/test_slave.html +++ b/test/test_slave.html @@ -18,16 +18,17 @@ limitations under the License. PDF.js test slave + + - + + - + - - - - + + diff --git a/test/unit/font_spec.js b/test/unit/font_spec.js index 7f25ac0c..1eff8a22 100644 --- a/test/unit/font_spec.js +++ b/test/unit/font_spec.js @@ -109,7 +109,7 @@ describe('font', function() { it('parses a CharString endchar with 4 args w/seac enabled', function() { var seacAnalysisState = SEAC_ANALYSIS_ENABLED; try { - SEAC_ANALYSIS_ENABLED = true; + window.pdfjsCoreFonts._enableSeacAnalysis(true); var bytes = new Uint8Array([0, 1, // count 1, // offsetSize 0, // offset[0] @@ -125,14 +125,14 @@ describe('font', function() { expect(result.seacs[0][2]).toEqual(65); expect(result.seacs[0][3]).toEqual(194); } finally { - SEAC_ANALYSIS_ENABLED = seacAnalysisState; + window.pdfjsCoreFonts._enableSeacAnalysis(seacAnalysisState); } }); it('parses a CharString endchar with 4 args w/seac disabled', function() { var seacAnalysisState = SEAC_ANALYSIS_ENABLED; try { - SEAC_ANALYSIS_ENABLED = false; + window.pdfjsCoreFonts._enableSeacAnalysis(false); var bytes = new Uint8Array([0, 1, // count 1, // offsetSize 0, // offset[0] @@ -143,7 +143,7 @@ describe('font', function() { expect(result.charStrings.get(0).length).toEqual(9); expect(result.seacs.length).toEqual(0); } finally { - SEAC_ANALYSIS_ENABLED = seacAnalysisState; + window.pdfjsCoreFonts._enableSeacAnalysis(seacAnalysisState); } }); diff --git a/test/unit/obj_spec.js b/test/unit/primitives_spec.js similarity index 99% rename from test/unit/obj_spec.js rename to test/unit/primitives_spec.js index 7b91899e..20482ea4 100644 --- a/test/unit/obj_spec.js +++ b/test/unit/primitives_spec.js @@ -3,7 +3,7 @@ 'use strict'; -describe('obj', function() { +describe('primitives', function() { describe('Name', function() { it('should retain the given name', function() { diff --git a/test/unit/unit_test.html b/test/unit/unit_test.html index 2fbfa8d8..6b6bff89 100644 --- a/test/unit/unit_test.html +++ b/test/unit/unit_test.html @@ -12,42 +12,51 @@ - - - - - - - - - - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + - - + - + diff --git a/web/viewer.html b/web/viewer.html index 8cc4ea96..2423e9b5 100644 --- a/web/viewer.html +++ b/web/viewer.html @@ -53,16 +53,17 @@ See https://github.com/adobe-type-tools/cmap-resources + + - + + - + - - - - + + From 450edc95ccb62d9e48b29a00b199ddb5a09135d0 Mon Sep 17 00:00:00 2001 From: Yury Delendik Date: Mon, 23 Nov 2015 10:58:14 -0600 Subject: [PATCH 002/654] UMD validation and generation tools. --- external/umdutils/genhtml.js | 51 ++++ external/umdutils/verifier.js | 488 ++++++++++++++++++++++++++++++++++ make.js | 7 + 3 files changed, 546 insertions(+) create mode 100644 external/umdutils/genhtml.js create mode 100644 external/umdutils/verifier.js diff --git a/external/umdutils/genhtml.js b/external/umdutils/genhtml.js new file mode 100644 index 00000000..46b3ee0f --- /dev/null +++ b/external/umdutils/genhtml.js @@ -0,0 +1,51 @@ +/* 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. + */ +/* jshint node:true */ + +'use strict'; + +// Simple util to re-generate HTML module references in right load order. + +var fs = require('fs'); +var path = require('path'); +var umd = require('./verifier.js'); + +var filePath = process.argv[2]; +if (!filePath) { + console.log('USAGE: node ./external/umdutils/genhtml.js '); + process.exit(0); +} + +var content = fs.readFileSync(filePath).toString(); +var m, re = /'+ + ''); +}); diff --git a/external/umdutils/verifier.js b/external/umdutils/verifier.js new file mode 100644 index 00000000..521e4e22 --- /dev/null +++ b/external/umdutils/verifier.js @@ -0,0 +1,488 @@ +/* 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'; + +/* Utilities for parsing PDF.js UMD file format. A UMD header of the file + * shall conform the following rules: + * 1. Names of AMD modules and JavaScript object placed to the global object + * shall be alike: symbols'/' and '_' removed, and character case is + * ignored. + * 2. CommonJS require shall use relative path to the required module, e.g. + * './display.js' or '../shared/util.js', and they shall construct the + * similar name to AMD one. + * 3. Factory function shall contain names for modules, not less than listed + * in AMD, CommonJS or global object properties list, and also their + * names must be alike to name of the root object properties. + * + * Example: + * + * (function (root, factory) { + * if (typeof define === 'function' && define.amd) { + * define('pdfjs/display/pattern_helper', ['exports', 'pdfjs/shared/util', + * 'pdfjs/display/webgl'], factory); + * } else if (typeof exports !== 'undefined') { + * factory(exports, require('../shared/util.js'), require('./webgl.js')); + * } else { + * factory((root.pdfjsDisplayPatternHelper = {}), root.pdfjsSharedUtil, + * root.pdfjsDisplayWebGL); + * } + * }(this, function (exports, sharedUtil, displayWebGL) { + * + */ + +var fs = require('fs'); +var path = require('path'); + +/** + * Parses PDF.js UMD header. + * @param {string} filePath PDF.js JavaScript file path. + * @returns {{amdId: *, amdImports: Array, cjsRequires: Array, jsRootName: *, + * jsImports: Array, imports: Array, importedNames: Array, + * exportedNames: Array, body: *}} + */ +function parseUmd(filePath) { + var jscode = fs.readFileSync(filePath).toString(); + // Extracts header and body. + var umdStart = '\\(function\\s\\(root,\\sfactory\\)\\s\\{'; + var umdImports = '\\}\\(this,\\sfunction\\s\\(exports\\b'; + var umdBody = '\\)\\s\\{'; + var umdEnd = '\\}\\)\\);\\s*$'; + var m, re; + m = new RegExp(umdStart + '([\\s\\S]*?)' + umdImports + '([\\s\\S]*?)' + + umdBody + '([\\s\\S]*?)' + umdEnd).exec(jscode); + if (!m) { + throw new Error('UMD was not found'); + } + var header = m[1]; + var imports = m[2].replace(/\s+/g, '').split(','); + imports.shift(); // avoiding only-export case + var body = m[3]; + + // Extracts AMD definitions. + var amdMatch = /\bdefine\('([^']*)',\s\[([^\]]*)\],\s+factory\);/. + exec(header); + if (!amdMatch) { + throw new Error('AMD call was not found'); + } + var amdId = amdMatch[1]; + var amdImports = amdMatch[2].replace(/[\s']+/g, '').split(','); + if (amdImports[0] !== 'exports') { + throw new Error('exports expected first at AMD call'); + } + amdImports.shift(); + + // Extracts CommonJS definitions. + var cjsMatch = /\bfactory\(exports((?:,\s+require\([^\)]+\))*)\);/. + exec(header); + if (!cjsMatch) { + throw new Error('CommonJS call was not found'); + } + var cjsRequires = cjsMatch[1].replace(/\s+/g, ' ').trim(). + replace(/\s*require\('([^']*)'\)/g, '$1').split(','); + cjsRequires.shift(); + var jsMatch = /\bfactory\(\(root\.(\S+)\s=\s\{\}\)((?:,\s+root\.\S+)*)\);/. + exec(header); + if (!jsMatch) { + throw new Error('Regular JS call was not found'); + } + + // Extracts global object properties definitions. + var jsRootName = jsMatch[1]; + var jsImports = jsMatch[2].replace(/\s+/g, '').split(','); + jsImports.shift(); + + // Scans for imports usages in the body. + var importedNames = []; + if (imports.length > 0) { + re = new RegExp('\\b(' + imports.join('|') + ')\\.(\\w+)', 'g'); + while ((m = re.exec(body))) { + importedNames.push(m[0]); + } + } + importedNames.sort(); + for (var i = importedNames.length - 1; i > 0; i--) { + if (importedNames[i - 1] === importedNames[i]) { + importedNames.splice(i, 1); + } + } + // Scans for exports definitions in the body. + var exportedNames = []; + re = /\bexports.(\w+)\s*=\s/g; + while ((m = re.exec(body))) { + exportedNames.push(m[1]); + } + + return { + amdId: amdId, + amdImports: amdImports, + cjsRequires: cjsRequires, + jsRootName: jsRootName, + jsImports: jsImports, + imports: imports, + importedNames: importedNames, + exportedNames: exportedNames, + body: body + }; +} + +/** + * Reads and parses all JavaScript root files dependencies and calculates + * evaluation/load order. + * @param {Array} rootPaths Array of the paths for JavaScript files. + * @returns {{modules: null, loadOrder: Array}} + */ +function readDependencies(rootPaths) { + // Reading of dependencies. + var modules = Object.create(null); + var processed = Object.create(null); + var queue = []; + rootPaths.forEach(function (i) { + if (processed[i]) { + return; + } + queue.push(i); + processed[i] = true; + }); + while (queue.length > 0) { + var p = queue.shift(); + var umd; + try { + umd = parseUmd(p); + } catch (_) { + // Ignoring bad UMD modules. + continue; + } + modules[umd.amdId] = { + dependencies: umd.amdImports + }; + umd.cjsRequires.forEach(function (r) { + if (r[0] !== '.' || !/\.js$/.test(r)) { + return; // not pdfjs module + } + var dependencyPath = path.join(path.dirname(p), r); + if (processed[dependencyPath]) { + return; + } + queue.push(dependencyPath); + processed[dependencyPath] = true; + }); + } + + // Topological sorting, somewhat Kahn's algorithm but sorts found nodes at + // each iteration. + processed = Object.create(null); + var left = [], result = []; + for (var i in modules) { + var hasDependencies = modules[i].dependencies.length > 0; + if (hasDependencies) { + left.push(i); + } else { + processed[i] = true; + result.push(i); + } + } + result.sort(); + while (left.length > 0) { + var discovered = []; + left.forEach(function (i) { + // Finding if we did not process all dependencies for current module yet. + var hasDependecies = modules[i].dependencies.some(function (j) { + return !processed[j] && !!modules[j]; + }); + if (!hasDependecies) { + discovered.push(i); + } + }); + if (discovered.length === 0) { + throw new Error ('Some circular references exist: somewhere at ' + + left.join(',')); + } + discovered.sort(); + discovered.forEach(function (i) { + result.push(i); + left.splice(left.indexOf(i), 1); + processed[i] = true; + }); + } + + return {modules: modules, loadOrder: result}; +} + +/** + * Validates individual file. See rules above. + */ +function validateFile(path, name, context) { + function info(msg) { + context.infoCallback(path + ': ' + msg); + } + function warn(msg) { + context.warnCallback(path + ': ' + msg); + } + function error(msg) { + context.errorCallback(path + ': ' + msg); + } + + try { + var umd = parseUmd(path); + info('found ' + umd.amdId); + + if (name !== umd.amdId) { + error('AMD name does not match module name'); + } + if (name.replace(/[_\/]/g, '') !== umd.jsRootName.toLowerCase()) { + error('root name does not look like module name'); + } + + if (umd.amdImports.length > umd.imports.length) { + error('AMD imports has more entries than body imports'); + } + if (umd.cjsRequires.length > umd.imports.length) { + error('CommonJS imports has more entries than body imports'); + } + if (umd.jsImports.length > umd.imports.length) { + error('JS imports has more entries than body imports'); + } + var optionalArgs = umd.imports.length - Math.min(umd.amdImports.length, + umd.cjsRequires.length, umd.jsImports.length); + if (optionalArgs > 0) { + warn('' + optionalArgs + ' optional args found: ' + + umd.imports.slice(-optionalArgs)); + } + umd.jsImports.forEach(function (i, index) { + if (i.indexOf('root.') !== 0) { + if (index >= umd.jsImports.length - optionalArgs) { + warn('Non-optional non-root based JS import: ' + i); + } + return; + } + i = i.substring('root.'.length); + var j = umd.imports[index]; + var offset = i.toLowerCase().lastIndexOf(j.toLowerCase()); + if (offset + j.length !== i.length) { + error('JS import name does not look like corresponding body import ' + + 'name: ' + i + ' vs ' + j); + } + + j = umd.amdImports[index]; + if (j) { + if (j.replace(/[_\/]/g, '') !== i.toLowerCase()) { + error('JS import name does not look like corresponding AMD import ' + + 'name: ' + i + ' vs ' + j); + } + } + }); + umd.cjsRequires.forEach(function (i, index) { + var j = umd.amdImports[index]; + if (!j) { + return; // optional + } + var noExtension = i.replace(/\.js$/, ''); + if (noExtension === i || i[0] !== '.') { + warn('CommonJS shall have relative path and extension: ' + i); + return; + } + var base = name.split('/'); + base.pop(); + var parts = noExtension.split('/'); + if (parts[0] === '.') { + parts.shift(); + } + while (parts[0] === '..') { + parts.shift(); + base.pop(); + } + if (j !== base.concat(parts).join('/')) { + error('CommonJS path does not point to right AMD module: ' + + i + ' vs ' + j); + } + }); + + umd.imports.forEach(function (i) { + var prefix = i + '.'; + if (umd.importedNames.every(function (j) { + return j.indexOf(prefix) !== 0; + })) { + warn('import is not used to import names: ' + i); + } + }); + + // Recording the module exports and imports for further validation. + // See validateImports and validateDependencies below. + context.exports[name] = Object.create(null); + umd.exportedNames.forEach(function (i) { + context.exports[name][i] = true; + }); + context.dependencies[name] = umd.amdImports; + umd.importedNames.forEach(function (i) { + var parts = i.split('.'); + var index = umd.imports.indexOf(parts[0]); + if (index < 0 || !umd.amdImports[index]) { + return; // some optional arg and not in AMD list? + } + var refModuleName = umd.amdImports[index]; + var fromModule = context.imports[refModuleName]; + if (!fromModule) { + context.imports[refModuleName] = (fromModule = Object.create(null)); + } + var symbolRefs = fromModule[parts[1]]; + if (!symbolRefs) { + fromModule[parts[1]] = (symbolRefs = []); + } + symbolRefs.push(name); + }); + } catch (e) { + warn(e.message); + } +} + +function findFilesInDirectory(dirPath, name, foundFiles) { + fs.readdirSync(dirPath).forEach(function (file) { + var filePath = dirPath + '/' + file; + var stats = fs.statSync(filePath); + if (stats.isFile() && /\.js$/i.test(file)) { + var fileName = file.substring(0, file.lastIndexOf('.')); + foundFiles.push({path: filePath, name: name + '/' + fileName}); + } else if (stats.isDirectory() && /^\w+$/.test(file)) { + findFilesInDirectory(filePath, name + '/' + file, foundFiles); + } + }); +} + +function validateImports(context) { + // Checks if some non-exported symbol was imported. + for (var i in context.imports) { + var exportedSymbols = context.exports[i]; + if (!exportedSymbols) { + context.warnCallback('Exported symbols don\'t exist for: ' + i); + continue; + } + var importedSymbols = context.imports[i]; + for (var j in importedSymbols) { + if (!(j in exportedSymbols)) { + context.errorCallback('The non-exported symbol is referred: ' + j + + ' from ' + i + ' used in ' + importedSymbols[j]); + } + } + } +} + +function validateDependencies(context) { + // Checks for circular dependency (non-efficient algorithm but does the work). + var nonRoots = Object.create(null); + var i, j, item; + for (i in context.dependencies) { + var checked = Object.create(null); + var queue = [[i]]; + while (queue.length > 0) { + item = queue.shift(); + j = item[0]; + + var dependencies = context.dependencies[j]; + dependencies.forEach(function (q) { + if (!(q in context.dependencies)) { + context.warnCallback('Unknown dependency: ' + q); + return; + } + + var index = item.indexOf(q); + if (index >= 0) { + context.errorCallback('Circular dependency was found: ' + + item.slice(0, index + 1).join('<-')); + return; + } + if (q in checked) { + return; + } + queue.push([q].concat(item)); + checked[q] = i; + nonRoots[q] = true; + }); + } + } + + // Some root modules info. + for (i in context.dependencies) { + if (!(i in nonRoots)) { + context.infoCallback('Root module: ' + i); + } + }} + +/** + * Validates all modules/files in the specified path. The modules must be + * defined using PDF.js UMD format. Results printed to console. + * @param {Object} paths The map of the module path prefixes to file/directory + * location. + * @param {Object} options (optional) options for validation. + * @returns {boolean} true if no error was found. + */ +function validateFiles(paths, options) { + options = options || {}; + var verbosity = options.verbosity === undefined ? 0 : options.verbosity; + var wasErrorFound = false; + var errorCallback = function (msg) { + if (verbosity >= 0) { + console.error('ERROR:' + msg); + } + wasErrorFound = true; + }; + var warnCallback = function (msg) { + if (verbosity >= 1) { + console.warn('WARNING: ' + msg); + } + }; + var infoCallback = function (msg) { + if (verbosity >= 5) { + console.info('INFO: ' + msg); + } + }; + + // Finds all files. + for (var name in paths) { + if (!paths.hasOwnProperty(name)) { + continue; + } + var path = paths[name]; + var stats = fs.statSync(path); + var foundFiles = []; + if (stats.isFile()) { + foundFiles.push({path: path, name: name}); + } else if (stats.isDirectory()) { + findFilesInDirectory(path, name, foundFiles); + } + } + + var context = { + exports: Object.create(null), + imports: Object.create(null), + dependencies: Object.create(null), + errorCallback: errorCallback, + warnCallback: warnCallback, + infoCallback: infoCallback + }; + + foundFiles.forEach(function (pair) { + validateFile(pair.path, pair.name, context); + }); + + validateImports(context); + validateDependencies(context); + + return !wasErrorFound; +} + +exports.parseUmd = parseUmd; +exports.readDependencies = readDependencies; +exports.validateFiles = validateFiles; diff --git a/make.js b/make.js index 60c360ef..6d08c567 100644 --- a/make.js +++ b/make.js @@ -1497,6 +1497,13 @@ target.lint = function() { exit(1); } + echo(); + echo('### Checking UMD dependencies'); + var umd = require('./external/umdutils/verifier.js'); + if (!umd.validateFiles({'pdfjs': './src'})) { + exit(1); + } + echo('files checked, no errors found'); }; From b084dc09eea7da13987ba5cda7055e21cddafd38 Mon Sep 17 00:00:00 2001 From: Yury Delendik Date: Mon, 23 Nov 2015 11:46:40 -0600 Subject: [PATCH 003/654] Allows requirejs and node load fake worker files. --- src/core/worker.js | 2 +- src/display/api.js | 15 ++++++++++++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/core/worker.js b/src/core/worker.js index 4245710e..78632f7c 100644 --- a/src/core/worker.js +++ b/src/core/worker.js @@ -648,7 +648,7 @@ var workerConsole = { // Worker thread? -if (typeof window === 'undefined') { +if (typeof window === 'undefined' && typeof require === 'undefined') { if (!('console' in globalScope)) { globalScope.console = workerConsole; } diff --git a/src/display/api.js b/src/display/api.js index e95409fe..1cf5c513 100644 --- a/src/display/api.js +++ b/src/display/api.js @@ -19,7 +19,7 @@ if (typeof define === 'function' && define.amd) { define('pdfjs/display/api', ['exports', 'pdfjs/shared/util', 'pdfjs/display/font_loader', 'pdfjs/display/canvas', - 'pdfjs/shared/global'], factory); + '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')); @@ -29,7 +29,7 @@ root.pdfjsSharedGlobal); } }(this, function (exports, sharedUtil, displayFontLoader, displayCanvas, - sharedGlobal) { + sharedGlobal, amdRequire) { var InvalidPDFException = sharedUtil.InvalidPDFException; var MessageHandler = sharedUtil.MessageHandler; @@ -1169,7 +1169,16 @@ var PDFWorker = (function PDFWorkerClosure() { // other files and resolves the promise. In production only the // pdf.worker.js file is needed. //#if !PRODUCTION - Util.loadScript(PDFJS.workerSrc); + if (typeof amdRequire === 'function') { + amdRequire(['pdfjs/core/worker'], function () { + PDFJS.fakeWorkerFilesLoadedCapability.resolve(); + }); + } else if (typeof require === 'function') { + require('../core/worker.js'); + PDFJS.fakeWorkerFilesLoadedCapability.resolve(); + } else { + Util.loadScript(PDFJS.workerSrc); + } //#endif //#if PRODUCTION && SINGLE_FILE // PDFJS.fakeWorkerFilesLoadedCapability.resolve(); From 8bf17f5df83c667e6986e941ec472f865b3f256f Mon Sep 17 00:00:00 2001 From: Xiliang Chen Date: Wed, 16 Dec 2015 11:21:01 +1300 Subject: [PATCH 004/654] Fix incorrect position of text widget --- src/display/annotation_layer.js | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/src/display/annotation_layer.js b/src/display/annotation_layer.js index f24db674..aabdd31f 100644 --- a/src/display/annotation_layer.js +++ b/src/display/annotation_layer.js @@ -123,13 +123,8 @@ var AnnotationLayer = (function AnnotationLayerClosure() { return container; } - function getHtmlElementForTextWidgetAnnotation(item, page) { - var element = document.createElement('div'); - var width = item.rect[2] - item.rect[0]; - var height = item.rect[3] - item.rect[1]; - element.style.width = width + 'px'; - element.style.height = height + 'px'; - element.style.display = 'table'; + function getHtmlElementForTextWidgetAnnotation(item, page, viewport) { + var container = getContainer(item, page, viewport); var content = document.createElement('div'); content.textContent = item.fieldValue; @@ -142,9 +137,9 @@ var AnnotationLayer = (function AnnotationLayerClosure() { page.commonObjs.getData(item.fontRefName) : null; setTextStyles(content, item, fontObj); - element.appendChild(content); + container.appendChild(content); - return element; + return container; } function getHtmlElementForTextAnnotation(item, page, viewport) { @@ -313,7 +308,7 @@ var AnnotationLayer = (function AnnotationLayerClosure() { function getHtmlElement(data, page, viewport, linkService) { switch (data.annotationType) { case AnnotationType.WIDGET: - return getHtmlElementForTextWidgetAnnotation(data, page); + return getHtmlElementForTextWidgetAnnotation(data, page, viewport); case AnnotationType.TEXT: return getHtmlElementForTextAnnotation(data, page, viewport); case AnnotationType.LINK: From d4c026980e480929d924ee663c249331439ccb49 Mon Sep 17 00:00:00 2001 From: Jonas Jenwald Date: Wed, 16 Dec 2015 11:15:36 +0100 Subject: [PATCH 005/654] Only export `Uint32ArrayView` when it's actually defined, to prevent breaking e.g. the Firefox addon/built-in version *This is a follow-up to PR 6683.* --- src/shared/util.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/shared/util.js b/src/shared/util.js index 9b203cac..baf3ee70 100644 --- a/src/shared/util.js +++ b/src/shared/util.js @@ -631,6 +631,8 @@ var Uint32ArrayView = (function Uint32ArrayViewClosure() { return Uint32ArrayView; })(); + +exports.Uint32ArrayView = Uint32ArrayView; //#else //PDFJS.hasCanvasTypedArrays = true; //#endif @@ -1663,7 +1665,6 @@ exports.PasswordResponses = PasswordResponses; exports.StatTimer = StatTimer; exports.StreamType = StreamType; exports.TextRenderingMode = TextRenderingMode; -exports.Uint32ArrayView = Uint32ArrayView; exports.UnexpectedResponseException = UnexpectedResponseException; exports.UnknownErrorException = UnknownErrorException; exports.Util = Util; From 2f704f59578a1ae888e594786e8c07d1fddfc211 Mon Sep 17 00:00:00 2001 From: Yury Delendik Date: Wed, 16 Dec 2015 07:42:54 -0600 Subject: [PATCH 006/654] Collapses UMD headers in bundled files. --- make.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/make.js b/make.js index 6d08c567..67f4a723 100644 --- a/make.js +++ b/make.js @@ -504,6 +504,9 @@ target.bundle = function(args) { // contains a license header, so the header of bundleContent can be removed. bundleContent = stripCommentHeaders('\n' + bundleContent); + // Removes AMD and CommonJS branches from UMD headers. + bundleContent = stripUMDHeaders(bundleContent); + // Append external files last since we don't want to modify them. bundleContent += cat(EXT_SRC_FILES); @@ -614,6 +617,14 @@ function stripCommentHeaders(content, filename) { return content; } +function stripUMDHeaders(content) { + var reg = new RegExp( + 'if \\(typeof define === \'function\' && define.amd\\) \\{[^}]*' + + '\\} else if \\(typeof exports !== \'undefined\'\\) \\{[^}]*' + + '\\} else ', 'g'); + return content.replace(reg, ''); +} + function cleanupJSSource(file) { var content = cat(file); From 0521c1a3bee53587d34ef67a808005217f4e827b Mon Sep 17 00:00:00 2001 From: Brendan Dahl Date: Wed, 16 Dec 2015 14:42:25 -0800 Subject: [PATCH 007/654] Bump versions to 1.3. --- pdfjs.config | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pdfjs.config b/pdfjs.config index b78d7ca9..29adc22f 100644 --- a/pdfjs.config +++ b/pdfjs.config @@ -1,6 +1,6 @@ { - "betaVersion": "1.2.109", - "stableVersion": "1.1.469", + "betaVersion": "1.3.88", + "stableVersion": "1.2.109", "baseVersion": "194994a2898a6d01c434d6d3270357799f3ac820", "versionPrefix": "1.3." } \ No newline at end of file From df81b832bb728cfcc11bd1aff9cb6e38c25e3a1c Mon Sep 17 00:00:00 2001 From: Tim van der Meij Date: Wed, 16 Dec 2015 22:31:30 +0100 Subject: [PATCH 008/654] Remove unused variables --- external/builder/test.js | 1 - external/umdutils/verifier.js | 3 ++- make.js | 9 ++++----- src/core/annotation.js | 2 -- src/core/function.js | 2 +- src/core/jbig2.js | 2 +- src/core/jpg.js | 7 +------ src/core/jpx.js | 2 -- src/display/canvas.js | 10 +++++----- src/shared/global.js | 2 +- web/overlay_manager.js | 1 - web/pdf_document_properties.js | 2 +- web/view_history.js | 1 - web/viewer.js | 2 +- 14 files changed, 17 insertions(+), 29 deletions(-) diff --git a/external/builder/test.js b/external/builder/test.js index 5a390ab7..8d4007fb 100644 --- a/external/builder/test.js +++ b/external/builder/test.js @@ -6,7 +6,6 @@ require('shelljs/make'); var builder = require('./builder'); var fs = require('fs'); -var path = require('path'); var errors = 0; diff --git a/external/umdutils/verifier.js b/external/umdutils/verifier.js index 521e4e22..fc9f1743 100644 --- a/external/umdutils/verifier.js +++ b/external/umdutils/verifier.js @@ -418,7 +418,8 @@ function validateDependencies(context) { if (!(i in nonRoots)) { context.infoCallback('Root module: ' + i); } - }} + } +} /** * Validates all modules/files in the specified path. The modules must be diff --git a/make.js b/make.js index 6d08c567..2e66d0ab 100644 --- a/make.js +++ b/make.js @@ -446,7 +446,7 @@ target.locale = function() { // Compresses cmap files. Ensure that Adobe cmap download and uncompressed at // ./external/cmaps location. // -target.cmaps = function (args) { +target.cmaps = function () { var CMAP_INPUT = 'external/cmaps'; var VIEWER_CMAP_OUTPUT = 'external/bcmaps'; @@ -604,7 +604,7 @@ target.singlefile = function() { }; -function stripCommentHeaders(content, filename) { +function stripCommentHeaders(content) { var notEndOfComment = '(?:[^*]|\\*(?!/))+'; var reg = new RegExp( '\n/\\* Copyright' + notEndOfComment + '\\*/\\s*' + @@ -617,7 +617,7 @@ function stripCommentHeaders(content, filename) { function cleanupJSSource(file) { var content = cat(file); - content = stripCommentHeaders(content, file); + content = stripCommentHeaders(content); content.to(file); } @@ -1284,8 +1284,7 @@ target.botmakeref = function() { echo(); echo('### Creating reference images'); - var PDF_TEST = env['PDF_TEST'] || 'test_manifest.json', - PDF_BROWSERS = env['PDF_BROWSERS'] || + var PDF_BROWSERS = env['PDF_BROWSERS'] || 'resources/browser_manifests/browser_manifest.json'; if (!test('-f', 'test/' + PDF_BROWSERS)) { diff --git a/src/core/annotation.js b/src/core/annotation.js index 8da90dee..f09affc3 100644 --- a/src/core/annotation.js +++ b/src/core/annotation.js @@ -12,7 +12,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -/* globals PDFJS */ 'use strict'; @@ -46,7 +45,6 @@ var stringToPDFString = sharedUtil.stringToPDFString; var stringToUTF8String = sharedUtil.stringToUTF8String; var warn = sharedUtil.warn; var Dict = corePrimitives.Dict; -var Name = corePrimitives.Name; var isDict = corePrimitives.isDict; var isName = corePrimitives.isName; var Stream = coreStream.Stream; diff --git a/src/core/function.js b/src/core/function.js index d7b7cfda..3a290177 100644 --- a/src/core/function.js +++ b/src/core/function.js @@ -987,7 +987,7 @@ var PostScriptCompiler = (function PostScriptCompilerClosure() { var instructions = []; var inputSize = domain.length >> 1, outputSize = range.length >> 1; var lastRegister = 0; - var n, j, min, max; + var n, j; var num1, num2, ast1, ast2, tmpVar, item; for (i = 0; i < inputSize; i++) { stack.push(new AstArgument(i, domain[i * 2], domain[i * 2 + 1])); diff --git a/src/core/jbig2.js b/src/core/jbig2.js index de123417..6478111d 100644 --- a/src/core/jbig2.js +++ b/src/core/jbig2.js @@ -889,7 +889,7 @@ var Jbig2Image = (function Jbig2ImageClosure() { delete pageInfo.height; } var pageSegmentFlags = data[position + 16]; - var pageStripingInformatiom = readUint16(data, position + 17); + var pageStripingInformation = readUint16(data, position + 17); pageInfo.lossless = !!(pageSegmentFlags & 1); pageInfo.refinement = !!(pageSegmentFlags & 2); pageInfo.defaultPixelValue = (pageSegmentFlags >> 2) & 1; diff --git a/src/core/jpg.js b/src/core/jpg.js index 1d8b25fd..98400522 100644 --- a/src/core/jpg.js +++ b/src/core/jpg.js @@ -109,12 +109,8 @@ var JpegImage = (function jpegImage() { function decodeScan(data, offset, frame, components, resetInterval, spectralStart, spectralEnd, successivePrev, successive) { - var precision = frame.precision; - var samplesPerLine = frame.samplesPerLine; - var scanLines = frame.scanLines; var mcusPerLine = frame.mcusPerLine; var progressive = frame.progressive; - var maxH = frame.maxH, maxV = frame.maxV; var startOffset = offset, bitsData = 0, bitsCount = 0; @@ -622,10 +618,9 @@ var JpegImage = (function jpegImage() { frame.mcusPerColumn = mcusPerColumn; } - var offset = 0, length = data.length; + var offset = 0; var jfif = null; var adobe = null; - var pixels = null; var frame, resetInterval; var quantizationTables = []; var huffmanTablesAC = [], huffmanTablesDC = []; diff --git a/src/core/jpx.js b/src/core/jpx.js index 2f2fde8b..96ac153d 100644 --- a/src/core/jpx.js +++ b/src/core/jpx.js @@ -85,8 +85,6 @@ var JpxImage = (function JpxImageClosure() { case 0x636F6C72: // 'colr' // Colorspaces are not used, the CS from the PDF is used. var method = data[position]; - var precedence = data[position + 1]; - var approximation = data[position + 2]; if (method === 1) { // enumerated colorspace var colorspace = readUint32(data, position + 3); diff --git a/src/display/canvas.js b/src/display/canvas.js index f55ad4b1..8f058d17 100644 --- a/src/display/canvas.js +++ b/src/display/canvas.js @@ -2201,11 +2201,11 @@ var CanvasGraphics = (function CanvasGraphicsClosure() { return this.cachedGetSinglePixelWidth; }, getCanvasPosition: function CanvasGraphics_getCanvasPosition(x, y) { - var transform = this.ctx.mozCurrentTransform; - return [ - transform[0] * x + transform[2] * y + transform[4], - transform[1] * x + transform[3] * y + transform[5] - ]; + var transform = this.ctx.mozCurrentTransform; + return [ + transform[0] * x + transform[2] * y + transform[4], + transform[1] * x + transform[3] * y + transform[5] + ]; } }; diff --git a/src/shared/global.js b/src/shared/global.js index 2492b078..219afe32 100644 --- a/src/shared/global.js +++ b/src/shared/global.js @@ -12,7 +12,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -/* globals PDFJS, global */ +/* globals global */ 'use strict'; diff --git a/web/overlay_manager.js b/web/overlay_manager.js index 362f549f..56b23ab8 100644 --- a/web/overlay_manager.js +++ b/web/overlay_manager.js @@ -12,7 +12,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -/* globals Promise */ 'use strict'; diff --git a/web/pdf_document_properties.js b/web/pdf_document_properties.js index 5d0e74a5..73444b3e 100644 --- a/web/pdf_document_properties.js +++ b/web/pdf_document_properties.js @@ -12,7 +12,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -/* globals Promise, mozL10n, getPDFFileNameFromURL, OverlayManager */ +/* globals mozL10n, getPDFFileNameFromURL, OverlayManager */ 'use strict'; diff --git a/web/view_history.js b/web/view_history.js index e6cdc163..346d39bd 100644 --- a/web/view_history.js +++ b/web/view_history.js @@ -12,7 +12,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -/* globals PDFJS, Promise */ 'use strict'; diff --git a/web/viewer.js b/web/viewer.js index c8d1dda4..6151a903 100644 --- a/web/viewer.js +++ b/web/viewer.js @@ -12,7 +12,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -/* globals PDFJS, PDFBug, FirefoxCom, Stats, Cache, ProgressBar, +/* globals PDFJS, PDFBug, FirefoxCom, Stats, ProgressBar, DownloadManager, getFileName, getPDFFileNameFromURL, PDFHistory, Preferences, SidebarView, ViewHistory, Stats, PDFThumbnailViewer, URL, noContextMenuHandler, SecondaryToolbar, From 11f3deac56a9a410488883f86b3b17a1a69534d9 Mon Sep 17 00:00:00 2001 From: Tony Jin Date: Wed, 16 Dec 2015 17:26:03 -0800 Subject: [PATCH 009/654] Allow link rel to be customized. Defaults to 'noreferrer' --- src/display/annotation_layer.js | 5 +++++ src/display/api.js | 8 ++++++++ 2 files changed, 13 insertions(+) diff --git a/src/display/annotation_layer.js b/src/display/annotation_layer.js index f140d381..e833204d 100644 --- a/src/display/annotation_layer.js +++ b/src/display/annotation_layer.js @@ -311,6 +311,11 @@ var AnnotationLayer = (function AnnotationLayerClosure() { link.target = LinkTargetStringMap[PDFJS.externalLinkTarget]; } + // Strip referrer + if (item.url) { + link.rel = PDFJS.externalLinkRel; + } + if (!item.url) { if (item.action) { bindNamedAction(link, item.action); diff --git a/src/display/api.js b/src/display/api.js index 1cf5c513..c890df10 100644 --- a/src/display/api.js +++ b/src/display/api.js @@ -230,6 +230,14 @@ PDFJS.openExternalLinksInNewWindow = ( PDFJS.externalLinkTarget = (PDFJS.externalLinkTarget === undefined ? PDFJS.LinkTarget.NONE : PDFJS.externalLinkTarget); +/** + * Specifies the |rel| attribute for external links. Defaults to stripping + * the referrer. + * @var {string} + */ +PDFJS.externalLinkRel = (PDFJS.externalLinkRel === undefined ? + 'noreferrer' : PDFJS.externalLinkRel); + /** * Determines if we can eval strings as JS. Primarily used to improve * performance for font rendering. From 2fb9baf6f12f2e03cb36a33e73e3509607c04b14 Mon Sep 17 00:00:00 2001 From: Yury Delendik Date: Fri, 18 Dec 2015 09:06:23 -0600 Subject: [PATCH 010/654] Changing Firefox Addon ID .. to allow AMO publishing to the unlisted extensions for automatic signing. --- extensions/firefox/install.rdf | 8 ++++---- extensions/firefox/update.rdf | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/extensions/firefox/install.rdf b/extensions/firefox/install.rdf index 041e5893..eb683b96 100644 --- a/extensions/firefox/install.rdf +++ b/extensions/firefox/install.rdf @@ -4,7 +4,7 @@ xmlns:em="http://www.mozilla.org/2004/em-rdf#"> - uriloader@pdf.js + viewer@pdf.js PDF Viewer PDFJSSCRIPT_VERSION @@ -14,7 +14,7 @@ {ec8030f7-c20a-464f-9b0e-13a3a9e97384} 10.0 - 15.0a1 + 46.0a1 @@ -23,7 +23,7 @@ {92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a} 2.7 - 2.12a1 + 2.39 @@ -32,7 +32,7 @@ {aa3c5121-dab2-40e2-81ca-7ea25febc110} 11.0 - 16.0a1 + 46.0a1 diff --git a/extensions/firefox/update.rdf b/extensions/firefox/update.rdf index b31051b5..0dcc7092 100644 --- a/extensions/firefox/update.rdf +++ b/extensions/firefox/update.rdf @@ -3,7 +3,7 @@ - + From d98105fdbdacaaf7049e82f4a3ef3ed87d8b560a Mon Sep 17 00:00:00 2001 From: Yury Delendik Date: Fri, 18 Dec 2015 09:32:46 -0600 Subject: [PATCH 011/654] Fixes update extension github link. --- extensions/firefox/update.rdf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extensions/firefox/update.rdf b/extensions/firefox/update.rdf index 0dcc7092..339c9da0 100644 --- a/extensions/firefox/update.rdf +++ b/extensions/firefox/update.rdf @@ -15,7 +15,7 @@ 6.0 11.* - https://github.com/mozilla/pdf.js/raw/gh-pages/extensions/firefox/pdf.js.xpi + https://raw.githubusercontent.com/mozilla/pdf.js/gh-pages/extensions/firefox/pdf.js.xpi From e7311cdc6e554ecc93e68bdccf99df6e35deb674 Mon Sep 17 00:00:00 2001 From: Yury Delendik Date: Fri, 18 Dec 2015 09:44:18 -0600 Subject: [PATCH 012/654] Fixes versions in update.rdf. --- extensions/firefox/update.rdf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/extensions/firefox/update.rdf b/extensions/firefox/update.rdf index 339c9da0..f14ec142 100644 --- a/extensions/firefox/update.rdf +++ b/extensions/firefox/update.rdf @@ -12,8 +12,8 @@ {ec8030f7-c20a-464f-9b0e-13a3a9e97384} - 6.0 - 11.* + 10.0 + 46.0 https://raw.githubusercontent.com/mozilla/pdf.js/gh-pages/extensions/firefox/pdf.js.xpi From 479d96eb24c5ba1429ccc22f122ef4af859376dc Mon Sep 17 00:00:00 2001 From: Yury Delendik Date: Fri, 18 Dec 2015 10:05:20 -0600 Subject: [PATCH 013/654] Testing ability to auto-upgrade the addons. --- extensions/firefox/update.rdf | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/extensions/firefox/update.rdf b/extensions/firefox/update.rdf index f14ec142..cd81a2e7 100644 --- a/extensions/firefox/update.rdf +++ b/extensions/firefox/update.rdf @@ -9,6 +9,7 @@ PDFJSSCRIPT_VERSION + {ec8030f7-c20a-464f-9b0e-13a3a9e97384} @@ -18,6 +19,16 @@ https://raw.githubusercontent.com/mozilla/pdf.js/gh-pages/extensions/firefox/pdf.js.xpi + + + + {aa3c5121-dab2-40e2-81ca-7ea25febc110} + 10.0 + 46.0 + + https://raw.githubusercontent.com/mozilla/pdf.js/gh-pages/extensions/firefox/pdf.js.xpi + + From 49437c879ddbfb237e54d5f52bf1eceb502443b1 Mon Sep 17 00:00:00 2001 From: Yury Delendik Date: Fri, 18 Dec 2015 10:33:12 -0600 Subject: [PATCH 014/654] Republish the extension. --- extensions/firefox/update.rdf | 2 ++ 1 file changed, 2 insertions(+) diff --git a/extensions/firefox/update.rdf b/extensions/firefox/update.rdf index cd81a2e7..29c82651 100644 --- a/extensions/firefox/update.rdf +++ b/extensions/firefox/update.rdf @@ -9,6 +9,7 @@ PDFJSSCRIPT_VERSION + @@ -19,6 +20,7 @@ https://raw.githubusercontent.com/mozilla/pdf.js/gh-pages/extensions/firefox/pdf.js.xpi + From 3079dd937f9f68533d46fff420e80b6eaaead09c Mon Sep 17 00:00:00 2001 From: Jonas Jenwald Date: Thu, 17 Dec 2015 12:54:53 +0100 Subject: [PATCH 015/654] Remove a superfluous "s" in `AnnotationsLayerBuilder` from files in web/ This patch makes the naming consistent with the `TextLayerBuilder`, and also the new `AnnotationLayer`, and should thus help reduce possible confusion when working with the code. Please note that the files were renamed using `git mv`, in order to preserve blame. --- examples/components/pageviewer.js | 2 +- ...ilder.css => annotation_layer_builder.css} | 0 ...builder.js => annotation_layer_builder.js} | 32 +++++++++---------- web/interfaces.js | 8 ++--- web/pdf_page_view.js | 14 ++++---- web/pdf_viewer.component.js | 8 ++--- web/pdf_viewer.css | 2 +- web/pdf_viewer.js | 12 +++---- web/viewer.html | 2 +- 9 files changed, 40 insertions(+), 40 deletions(-) rename web/{annotations_layer_builder.css => annotation_layer_builder.css} (100%) rename web/{annotations_layer_builder.js => annotation_layer_builder.js} (75%) diff --git a/examples/components/pageviewer.js b/examples/components/pageviewer.js index c36e3754..98590e4b 100644 --- a/examples/components/pageviewer.js +++ b/examples/components/pageviewer.js @@ -47,7 +47,7 @@ PDFJS.getDocument(DEFAULT_URL).then(function (pdfDocument) { defaultViewport: pdfPage.getViewport(SCALE), // We can enable text/annotations layers, if needed textLayerFactory: new PDFJS.DefaultTextLayerFactory(), - annotationsLayerFactory: new PDFJS.DefaultAnnotationsLayerFactory() + annotationLayerFactory: new PDFJS.DefaultAnnotationLayerFactory() }); // Associates the actual page with the view, and drawing it pdfPageView.setPdfPage(pdfPage); diff --git a/web/annotations_layer_builder.css b/web/annotation_layer_builder.css similarity index 100% rename from web/annotations_layer_builder.css rename to web/annotation_layer_builder.css diff --git a/web/annotations_layer_builder.js b/web/annotation_layer_builder.js similarity index 75% rename from web/annotations_layer_builder.js rename to web/annotation_layer_builder.js index e9b0fbde..0462aa3d 100644 --- a/web/annotations_layer_builder.js +++ b/web/annotation_layer_builder.js @@ -17,7 +17,7 @@ 'use strict'; /** - * @typedef {Object} AnnotationsLayerBuilderOptions + * @typedef {Object} AnnotationLayerBuilderOptions * @property {HTMLDivElement} pageDiv * @property {PDFPage} pdfPage * @property {IPDFLinkService} linkService @@ -26,12 +26,12 @@ /** * @class */ -var AnnotationsLayerBuilder = (function AnnotationsLayerBuilderClosure() { +var AnnotationLayerBuilder = (function AnnotationLayerBuilderClosure() { /** - * @param {AnnotationsLayerBuilderOptions} options - * @constructs AnnotationsLayerBuilder + * @param {AnnotationLayerBuilderOptions} options + * @constructs AnnotationLayerBuilder */ - function AnnotationsLayerBuilder(options) { + function AnnotationLayerBuilder(options) { this.pageDiv = options.pageDiv; this.pdfPage = options.pdfPage; this.linkService = options.linkService; @@ -39,14 +39,14 @@ var AnnotationsLayerBuilder = (function AnnotationsLayerBuilderClosure() { this.div = null; } - AnnotationsLayerBuilder.prototype = - /** @lends AnnotationsLayerBuilder.prototype */ { + AnnotationLayerBuilder.prototype = + /** @lends AnnotationLayerBuilder.prototype */ { /** * @param {PageViewport} viewport * @param {string} intent (default value is 'display') */ - render: function AnnotationsLayerBuilder_render(viewport, intent) { + render: function AnnotationLayerBuilder_render(viewport, intent) { var self = this; var parameters = { intent: (intent === undefined ? 'display' : intent), @@ -79,7 +79,7 @@ var AnnotationsLayerBuilder = (function AnnotationsLayerBuilderClosure() { }); }, - hide: function AnnotationsLayerBuilder_hide() { + hide: function AnnotationLayerBuilder_hide() { if (!this.div) { return; } @@ -87,22 +87,22 @@ var AnnotationsLayerBuilder = (function AnnotationsLayerBuilderClosure() { } }; - return AnnotationsLayerBuilder; + return AnnotationLayerBuilder; })(); /** * @constructor - * @implements IPDFAnnotationsLayerFactory + * @implements IPDFAnnotationLayerFactory */ -function DefaultAnnotationsLayerFactory() {} -DefaultAnnotationsLayerFactory.prototype = { +function DefaultAnnotationLayerFactory() {} +DefaultAnnotationLayerFactory.prototype = { /** * @param {HTMLDivElement} pageDiv * @param {PDFPage} pdfPage - * @returns {AnnotationsLayerBuilder} + * @returns {AnnotationLayerBuilder} */ - createAnnotationsLayerBuilder: function (pageDiv, pdfPage) { - return new AnnotationsLayerBuilder({ + createAnnotationLayerBuilder: function (pageDiv, pdfPage) { + return new AnnotationLayerBuilder({ pageDiv: pageDiv, pdfPage: pdfPage, linkService: new SimpleLinkService(), diff --git a/web/interfaces.js b/web/interfaces.js index 1eec7de8..94d958cd 100644 --- a/web/interfaces.js +++ b/web/interfaces.js @@ -106,12 +106,12 @@ IPDFTextLayerFactory.prototype = { /** * @interface */ -function IPDFAnnotationsLayerFactory() {} -IPDFAnnotationsLayerFactory.prototype = { +function IPDFAnnotationLayerFactory() {} +IPDFAnnotationLayerFactory.prototype = { /** * @param {HTMLDivElement} pageDiv * @param {PDFPage} pdfPage - * @returns {AnnotationsLayerBuilder} + * @returns {AnnotationLayerBuilder} */ - createAnnotationsLayerBuilder: function (pageDiv, pdfPage) {} + createAnnotationLayerBuilder: function (pageDiv, pdfPage) {} }; diff --git a/web/pdf_page_view.js b/web/pdf_page_view.js index 1e1e6850..46afd5c8 100644 --- a/web/pdf_page_view.js +++ b/web/pdf_page_view.js @@ -13,7 +13,7 @@ * limitations under the License. */ /* globals RenderingStates, PDFJS, DEFAULT_SCALE, CSS_UNITS, getOutputScale, - TextLayerBuilder, AnnotationsLayerBuilder, Promise, + TextLayerBuilder, AnnotationLayerBuilder, Promise, approximateFraction, roundToDivide */ 'use strict'; @@ -28,7 +28,7 @@ var TEXT_LAYER_RENDER_DELAY = 200; // ms * @property {PageViewport} defaultViewport - The page viewport. * @property {PDFRenderingQueue} renderingQueue - The rendering queue object. * @property {IPDFTextLayerFactory} textLayerFactory - * @property {IPDFAnnotationsLayerFactory} annotationsLayerFactory + * @property {IPDFAnnotationLayerFactory} annotationLayerFactory */ /** @@ -49,7 +49,7 @@ var PDFPageView = (function PDFPageViewClosure() { var defaultViewport = options.defaultViewport; var renderingQueue = options.renderingQueue; var textLayerFactory = options.textLayerFactory; - var annotationsLayerFactory = options.annotationsLayerFactory; + var annotationLayerFactory = options.annotationLayerFactory; this.id = id; this.renderingId = 'page' + id; @@ -62,7 +62,7 @@ var PDFPageView = (function PDFPageViewClosure() { this.renderingQueue = renderingQueue; this.textLayerFactory = textLayerFactory; - this.annotationsLayerFactory = annotationsLayerFactory; + this.annotationLayerFactory = annotationLayerFactory; this.renderingState = RenderingStates.INITIAL; this.resume = null; @@ -502,10 +502,10 @@ var PDFPageView = (function PDFPageViewClosure() { } ); - if (this.annotationsLayerFactory) { + if (this.annotationLayerFactory) { if (!this.annotationLayer) { - this.annotationLayer = this.annotationsLayerFactory. - createAnnotationsLayerBuilder(div, this.pdfPage); + this.annotationLayer = this.annotationLayerFactory. + createAnnotationLayerBuilder(div, this.pdfPage); } this.annotationLayer.render(this.viewport, 'display'); } diff --git a/web/pdf_viewer.component.js b/web/pdf_viewer.component.js index 55c0f887..99b450ee 100644 --- a/web/pdf_viewer.component.js +++ b/web/pdf_viewer.component.js @@ -14,8 +14,8 @@ */ /*jshint globalstrict: false */ /* globals PDFJS, PDFViewer, PDFPageView, TextLayerBuilder, PDFLinkService, - DefaultTextLayerFactory, AnnotationsLayerBuilder, PDFHistory, - DefaultAnnotationsLayerFactory, getFileName, ProgressBar */ + DefaultTextLayerFactory, AnnotationLayerBuilder, PDFHistory, + DefaultAnnotationLayerFactory, getFileName, ProgressBar */ // Initializing PDFJS global object (if still undefined) if (typeof PDFJS === 'undefined') { @@ -35,8 +35,8 @@ if (typeof PDFJS === 'undefined') { PDFJS.PDFLinkService = PDFLinkService; PDFJS.TextLayerBuilder = TextLayerBuilder; PDFJS.DefaultTextLayerFactory = DefaultTextLayerFactory; - PDFJS.AnnotationsLayerBuilder = AnnotationsLayerBuilder; - PDFJS.DefaultAnnotationsLayerFactory = DefaultAnnotationsLayerFactory; + PDFJS.AnnotationLayerBuilder = AnnotationLayerBuilder; + PDFJS.DefaultAnnotationLayerFactory = DefaultAnnotationLayerFactory; PDFJS.PDFHistory = PDFHistory; PDFJS.getFileName = getFileName; diff --git a/web/pdf_viewer.css b/web/pdf_viewer.css index 130047e3..e399a423 100644 --- a/web/pdf_viewer.css +++ b/web/pdf_viewer.css @@ -13,7 +13,7 @@ * limitations under the License. */ @import url(text_layer_builder.css); -@import url(annotations_layer_builder.css); +@import url(annotation_layer_builder.css); .pdfViewer .canvasWrapper { overflow: hidden; diff --git a/web/pdf_viewer.js b/web/pdf_viewer.js index a9c3d3d7..2584a028 100644 --- a/web/pdf_viewer.js +++ b/web/pdf_viewer.js @@ -16,7 +16,7 @@ SCROLLBAR_PADDING, VERTICAL_PADDING, MAX_AUTO_SCALE, CSS_UNITS, DEFAULT_SCALE, scrollIntoView, getVisibleElements, RenderingStates, PDFJS, Promise, TextLayerBuilder, PDFRenderingQueue, - AnnotationsLayerBuilder, DEFAULT_SCALE_VALUE */ + AnnotationLayerBuilder, DEFAULT_SCALE_VALUE */ 'use strict'; @@ -33,7 +33,7 @@ var DEFAULT_CACHE_SIZE = 10; //#include pdf_rendering_queue.js //#include pdf_page_view.js //#include text_layer_builder.js -//#include annotations_layer_builder.js +//#include annotation_layer_builder.js /** * @typedef {Object} PDFViewerOptions @@ -294,7 +294,7 @@ var PDFViewer = (function pdfViewer() { defaultViewport: viewport.clone(), renderingQueue: this.renderingQueue, textLayerFactory: textLayerFactory, - annotationsLayerFactory: this + annotationLayerFactory: this }); bindOnAfterAndBeforeDraw(pageView); this._pages.push(pageView); @@ -751,10 +751,10 @@ var PDFViewer = (function pdfViewer() { /** * @param {HTMLDivElement} pageDiv * @param {PDFPage} pdfPage - * @returns {AnnotationsLayerBuilder} + * @returns {AnnotationLayerBuilder} */ - createAnnotationsLayerBuilder: function (pageDiv, pdfPage) { - return new AnnotationsLayerBuilder({ + createAnnotationLayerBuilder: function (pageDiv, pdfPage) { + return new AnnotationLayerBuilder({ pageDiv: pageDiv, pdfPage: pdfPage, linkService: this.linkService diff --git a/web/viewer.html b/web/viewer.html index 2423e9b5..2e64efa0 100644 --- a/web/viewer.html +++ b/web/viewer.html @@ -81,7 +81,7 @@ See https://github.com/adobe-type-tools/cmap-resources - + From f9e2091c5a1ef92c233ab86b1983dd6464ab8377 Mon Sep 17 00:00:00 2001 From: Tony Jin Date: Fri, 18 Dec 2015 11:27:21 -0800 Subject: [PATCH 016/654] Fixing externalLinkTarget. isExternalLinkTargetSet was set to wrong sharedUtil method. --- src/display/annotation_layer.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/display/annotation_layer.js b/src/display/annotation_layer.js index e833204d..5d52b3e4 100644 --- a/src/display/annotation_layer.js +++ b/src/display/annotation_layer.js @@ -31,7 +31,7 @@ var AnnotationBorderStyleType = sharedUtil.AnnotationBorderStyleType; var AnnotationType = sharedUtil.AnnotationType; var Util = sharedUtil.Util; -var isExternalLinkTargetSet = sharedUtil.Util; +var isExternalLinkTargetSet = sharedUtil.isExternalLinkTargetSet; var LinkTargetStringMap = sharedUtil.LinkTargetStringMap; var warn = sharedUtil.warn; var CustomStyle = displayDOMUtils.CustomStyle; From 5b66ad626dc7db35dcf43e3a087d87a92d6acc28 Mon Sep 17 00:00:00 2001 From: Tim van der Meij Date: Thu, 17 Dec 2015 15:55:11 +0100 Subject: [PATCH 017/654] Refactor annotation display layer code to use classes --- src/display/annotation_layer.js | 758 ++++++++++++++++++++------------ web/annotation_layer_builder.js | 13 +- 2 files changed, 484 insertions(+), 287 deletions(-) diff --git a/src/display/annotation_layer.js b/src/display/annotation_layer.js index 5d52b3e4..65d337dd 100644 --- a/src/display/annotation_layer.js +++ b/src/display/annotation_layer.js @@ -38,341 +38,531 @@ var CustomStyle = displayDOMUtils.CustomStyle; var ANNOT_MIN_SIZE = 10; // px -var AnnotationLayer = (function AnnotationLayerClosure() { - // TODO(mack): This dupes some of the logic in CanvasGraphics.setFont() - function setTextStyles(element, item, fontObj) { - var style = element.style; - style.fontSize = item.fontSize + 'px'; - style.direction = item.fontDirection < 0 ? 'rtl': 'ltr'; +/** + * @typedef {Object} AnnotationElementParameters + * @property {Object} data + * @property {PDFPage} page + * @property {PageViewport} viewport + * @property {IPDFLinkService} linkService + */ - if (!fontObj) { - return; +/** + * @class + * @alias AnnotationElementFactory + */ +function AnnotationElementFactory() {} +AnnotationElementFactory.prototype = + /** @lends AnnotationElementFactory.prototype */ { + /** + * @param {AnnotationElementParameters} parameters + * @returns {AnnotationElement} + */ + create: function AnnotationElementFactory_create(parameters) { + var subtype = parameters.data.annotationType; + + switch (subtype) { + case AnnotationType.LINK: + return new LinkAnnotationElement(parameters); + + case AnnotationType.TEXT: + return new TextAnnotationElement(parameters); + + case AnnotationType.WIDGET: + return new WidgetAnnotationElement(parameters); + + default: + throw new Error('Unimplemented annotation type "' + subtype + '"'); } + } +}; - style.fontWeight = fontObj.black ? - (fontObj.bold ? 'bolder' : 'bold') : - (fontObj.bold ? 'bold' : 'normal'); - style.fontStyle = fontObj.italic ? 'italic' : 'normal'; +/** + * @class + * @alias AnnotationElement + */ +var AnnotationElement = (function AnnotationElementClosure() { + function AnnotationElement(parameters) { + this.data = parameters.data; + this.page = parameters.page; + this.viewport = parameters.viewport; + this.linkService = parameters.linkService; - var fontName = fontObj.loadedName; - var fontFamily = fontName ? '"' + fontName + '", ' : ''; - // Use a reasonable default font if the font doesn't specify a fallback - var fallbackName = fontObj.fallbackName || 'Helvetica, sans-serif'; - style.fontFamily = fontFamily + fallbackName; + this.container = this._createContainer(); } - function getContainer(data, page, viewport) { - var container = document.createElement('section'); - var width = data.rect[2] - data.rect[0]; - var height = data.rect[3] - data.rect[1]; + AnnotationElement.prototype = /** @lends AnnotationElement.prototype */ { + /** + * Create an empty container for the annotation's HTML element. + * + * @private + * @memberof AnnotationElement + * @returns {HTMLSectionElement} + */ + _createContainer: function AnnotationElement_createContainer() { + var data = this.data, page = this.page, viewport = this.viewport; + var container = document.createElement('section'); + var width = data.rect[2] - data.rect[0]; + var height = data.rect[3] - data.rect[1]; - container.setAttribute('data-annotation-id', data.id); + container.setAttribute('data-annotation-id', data.id); - data.rect = Util.normalizeRect([ - data.rect[0], - page.view[3] - data.rect[1] + page.view[1], - data.rect[2], - page.view[3] - data.rect[3] + page.view[1] - ]); + data.rect = Util.normalizeRect([ + data.rect[0], + page.view[3] - data.rect[1] + page.view[1], + data.rect[2], + page.view[3] - data.rect[3] + page.view[1] + ]); - CustomStyle.setProp('transform', container, - 'matrix(' + viewport.transform.join(',') + ')'); - CustomStyle.setProp('transformOrigin', container, - -data.rect[0] + 'px ' + -data.rect[1] + 'px'); + CustomStyle.setProp('transform', container, + 'matrix(' + viewport.transform.join(',') + ')'); + CustomStyle.setProp('transformOrigin', container, + -data.rect[0] + 'px ' + -data.rect[1] + 'px'); - if (data.borderStyle.width > 0) { - container.style.borderWidth = data.borderStyle.width + 'px'; - if (data.borderStyle.style !== AnnotationBorderStyleType.UNDERLINE) { - // Underline styles only have a bottom border, so we do not need - // to adjust for all borders. This yields a similar result as - // Adobe Acrobat/Reader. - width = width - 2 * data.borderStyle.width; - height = height - 2 * data.borderStyle.width; - } - - var horizontalRadius = data.borderStyle.horizontalCornerRadius; - var verticalRadius = data.borderStyle.verticalCornerRadius; - if (horizontalRadius > 0 || verticalRadius > 0) { - var radius = horizontalRadius + 'px / ' + verticalRadius + 'px'; - CustomStyle.setProp('borderRadius', container, radius); - } - - switch (data.borderStyle.style) { - case AnnotationBorderStyleType.SOLID: - container.style.borderStyle = 'solid'; - break; - - case AnnotationBorderStyleType.DASHED: - container.style.borderStyle = 'dashed'; - break; - - case AnnotationBorderStyleType.BEVELED: - warn('Unimplemented border style: beveled'); - break; - - case AnnotationBorderStyleType.INSET: - warn('Unimplemented border style: inset'); - break; - - case AnnotationBorderStyleType.UNDERLINE: - container.style.borderBottomStyle = 'solid'; - break; - - default: - break; - } - - if (data.color) { - container.style.borderColor = - Util.makeCssRgb(data.color[0] | 0, - data.color[1] | 0, - data.color[2] | 0); - } else { - // Transparent (invisible) border, so do not draw it at all. - container.style.borderWidth = 0; - } - } - - container.style.left = data.rect[0] + 'px'; - container.style.top = data.rect[1] + 'px'; - - container.style.width = width + 'px'; - container.style.height = height + 'px'; - - return container; - } - - function getHtmlElementForTextWidgetAnnotation(item, page, viewport) { - var container = getContainer(item, page, viewport); - - var content = document.createElement('div'); - content.textContent = item.fieldValue; - var textAlignment = item.textAlignment; - content.style.textAlign = ['left', 'center', 'right'][textAlignment]; - content.style.verticalAlign = 'middle'; - content.style.display = 'table-cell'; - - var fontObj = item.fontRefName ? - page.commonObjs.getData(item.fontRefName) : null; - setTextStyles(content, item, fontObj); - - container.appendChild(content); - - return container; - } - - function getHtmlElementForTextAnnotation(item, page, viewport) { - var rect = item.rect; - - // sanity check because of OOo-generated PDFs - if ((rect[3] - rect[1]) < ANNOT_MIN_SIZE) { - rect[3] = rect[1] + ANNOT_MIN_SIZE; - } - if ((rect[2] - rect[0]) < ANNOT_MIN_SIZE) { - rect[2] = rect[0] + (rect[3] - rect[1]); // make it square - } - - var container = getContainer(item, page, viewport); - container.className = 'annotText'; - - var image = document.createElement('img'); - image.style.height = container.style.height; - image.style.width = container.style.width; - var iconName = item.name; - image.src = PDFJS.imageResourcesPath + 'annotation-' + - iconName.toLowerCase() + '.svg'; - image.alt = '[{{type}} Annotation]'; - image.dataset.l10nId = 'text_annotation_type'; - image.dataset.l10nArgs = JSON.stringify({type: iconName}); - - var contentWrapper = document.createElement('div'); - contentWrapper.className = 'annotTextContentWrapper'; - contentWrapper.style.left = Math.floor(rect[2] - rect[0] + 5) + 'px'; - contentWrapper.style.top = '-10px'; - - var content = document.createElement('div'); - content.className = 'annotTextContent'; - content.setAttribute('hidden', true); - - var i, ii; - if (item.hasBgColor && item.color) { - var color = item.color; - - // Enlighten the color (70%) - var BACKGROUND_ENLIGHT = 0.7; - var r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0]; - var g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1]; - var b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2]; - content.style.backgroundColor = Util.makeCssRgb(r | 0, g | 0, b | 0); - } - - var title = document.createElement('h1'); - var text = document.createElement('p'); - title.textContent = item.title; - - if (!item.content && !item.title) { - content.setAttribute('hidden', true); - } else { - var e = document.createElement('span'); - var lines = item.content.split(/(?:\r\n?|\n)/); - for (i = 0, ii = lines.length; i < ii; ++i) { - var line = lines[i]; - e.appendChild(document.createTextNode(line)); - if (i < (ii - 1)) { - e.appendChild(document.createElement('br')); + if (data.borderStyle.width > 0) { + container.style.borderWidth = data.borderStyle.width + 'px'; + if (data.borderStyle.style !== AnnotationBorderStyleType.UNDERLINE) { + // Underline styles only have a bottom border, so we do not need + // to adjust for all borders. This yields a similar result as + // Adobe Acrobat/Reader. + width = width - 2 * data.borderStyle.width; + height = height - 2 * data.borderStyle.width; } - } - text.appendChild(e); - var pinned = false; + var horizontalRadius = data.borderStyle.horizontalCornerRadius; + var verticalRadius = data.borderStyle.verticalCornerRadius; + if (horizontalRadius > 0 || verticalRadius > 0) { + var radius = horizontalRadius + 'px / ' + verticalRadius + 'px'; + CustomStyle.setProp('borderRadius', container, radius); + } - var showAnnotation = function showAnnotation(pin) { - if (pin) { - pinned = true; - } - if (content.hasAttribute('hidden')) { - container.style.zIndex += 1; - content.removeAttribute('hidden'); - } - }; + switch (data.borderStyle.style) { + case AnnotationBorderStyleType.SOLID: + container.style.borderStyle = 'solid'; + break; - var hideAnnotation = function hideAnnotation(unpin) { - if (unpin) { - pinned = false; - } - if (!content.hasAttribute('hidden') && !pinned) { - container.style.zIndex -= 1; - content.setAttribute('hidden', true); - } - }; + case AnnotationBorderStyleType.DASHED: + container.style.borderStyle = 'dashed'; + break; - var toggleAnnotation = function toggleAnnotation() { - if (pinned) { - hideAnnotation(true); + case AnnotationBorderStyleType.BEVELED: + warn('Unimplemented border style: beveled'); + break; + + case AnnotationBorderStyleType.INSET: + warn('Unimplemented border style: inset'); + break; + + case AnnotationBorderStyleType.UNDERLINE: + container.style.borderBottomStyle = 'solid'; + break; + + default: + break; + } + + if (data.color) { + container.style.borderColor = + Util.makeCssRgb(data.color[0] | 0, + data.color[1] | 0, + data.color[2] | 0); } else { - showAnnotation(true); + // Transparent (invisible) border, so do not draw it at all. + container.style.borderWidth = 0; } - }; + } - image.addEventListener('click', function image_clickHandler() { - toggleAnnotation(); - }, false); - image.addEventListener('mouseover', function image_mouseOverHandler() { - showAnnotation(); - }, false); - image.addEventListener('mouseout', function image_mouseOutHandler() { - hideAnnotation(); - }, false); + container.style.left = data.rect[0] + 'px'; + container.style.top = data.rect[1] + 'px'; - content.addEventListener('click', function content_clickHandler() { - hideAnnotation(true); - }, false); + container.style.width = width + 'px'; + container.style.height = height + 'px'; + + return container; + }, + + /** + * Render the annotation's HTML element in the empty container. + * + * @public + * @memberof AnnotationElement + */ + render: function AnnotationElement_render() { + throw new Error('Abstract method AnnotationElement.render called'); } + }; - content.appendChild(title); - content.appendChild(text); - contentWrapper.appendChild(content); - container.appendChild(image); - container.appendChild(contentWrapper); + return AnnotationElement; +})(); - return container; +/** + * @class + * @alias LinkAnnotationElement + */ +var LinkAnnotationElement = (function LinkAnnotationElementClosure() { + function LinkAnnotationElement(parameters) { + AnnotationElement.call(this, parameters); } - function getHtmlElementForLinkAnnotation(item, page, viewport, linkService) { - function bindLink(link, dest) { - link.href = linkService.getDestinationHash(dest); - link.onclick = function annotationsLayerBuilderLinksOnclick() { - if (dest) { - linkService.navigateTo(dest); + Util.inherit(LinkAnnotationElement, AnnotationElement, { + /** + * Render the link annotation's HTML element in the empty container. + * + * @public + * @memberof LinkAnnotationElement + * @returns {HTMLSectionElement} + */ + render: function LinkAnnotationElement_render() { + this.container.className = 'annotLink'; + + var link = document.createElement('a'); + link.href = link.title = this.data.url || ''; + + if (this.data.url && isExternalLinkTargetSet()) { + link.target = LinkTargetStringMap[PDFJS.externalLinkTarget]; + } + + // Strip referrer from the URL. + if (this.data.url) { + link.rel = PDFJS.externalLinkRel; + } + + if (!this.data.url) { + if (this.data.action) { + this._bindNamedAction(link, this.data.action); + } else { + this._bindLink(link, ('dest' in this.data) ? this.data.dest : null); + } + } + + this.container.appendChild(link); + return this.container; + }, + + /** + * Bind internal links to the link element. + * + * @private + * @param {Object} link + * @param {Object} destination + * @memberof LinkAnnotationElement + */ + _bindLink: function LinkAnnotationElement_bindLink(link, destination) { + var self = this; + + link.href = this.linkService.getDestinationHash(destination); + link.onclick = function() { + if (destination) { + self.linkService.navigateTo(destination); } return false; }; - if (dest) { + if (destination) { link.className = 'internalLink'; } - } + }, - function bindNamedAction(link, action) { - link.href = linkService.getAnchorUrl(''); - link.onclick = function annotationsLayerBuilderNamedActionOnClick() { - linkService.executeNamedAction(action); + /** + * Bind named actions to the link element. + * + * @private + * @param {Object} link + * @param {Object} action + * @memberof LinkAnnotationElement + */ + _bindNamedAction: + function LinkAnnotationElement_bindNamedAction(link, action) { + var self = this; + + link.href = this.linkService.getAnchorUrl(''); + link.onclick = function() { + self.linkService.executeNamedAction(action); return false; }; link.className = 'internalLink'; } + }); - var container = getContainer(item, page, viewport); - container.className = 'annotLink'; + return LinkAnnotationElement; +})(); - var link = document.createElement('a'); - link.href = link.title = item.url || ''; +/** + * @class + * @alias TextAnnotationElement + */ +var TextAnnotationElement = (function TextAnnotationElementClosure() { + function TextAnnotationElement(parameters) { + AnnotationElement.call(this, parameters); - if (item.url && isExternalLinkTargetSet()) { - link.target = LinkTargetStringMap[PDFJS.externalLinkTarget]; - } + this.pinned = false; + } - // Strip referrer - if (item.url) { - link.rel = PDFJS.externalLinkRel; - } + Util.inherit(TextAnnotationElement, AnnotationElement, { + /** + * Render the text annotation's HTML element in the empty container. + * + * @public + * @memberof TextAnnotationElement + * @returns {HTMLSectionElement} + */ + render: function TextAnnotationElement_render() { + var rect = this.data.rect, container = this.container; - if (!item.url) { - if (item.action) { - bindNamedAction(link, item.action); + // Sanity check because of OOo-generated PDFs. + if ((rect[3] - rect[1]) < ANNOT_MIN_SIZE) { + rect[3] = rect[1] + ANNOT_MIN_SIZE; + } + if ((rect[2] - rect[0]) < ANNOT_MIN_SIZE) { + rect[2] = rect[0] + (rect[3] - rect[1]); // make it square + } + + container.className = 'annotText'; + + var image = document.createElement('img'); + image.style.height = container.style.height; + image.style.width = container.style.width; + var iconName = this.data.name; + image.src = PDFJS.imageResourcesPath + 'annotation-' + + iconName.toLowerCase() + '.svg'; + image.alt = '[{{type}} Annotation]'; + image.dataset.l10nId = 'text_annotation_type'; + image.dataset.l10nArgs = JSON.stringify({type: iconName}); + + var contentWrapper = document.createElement('div'); + contentWrapper.className = 'annotTextContentWrapper'; + contentWrapper.style.left = Math.floor(rect[2] - rect[0] + 5) + 'px'; + contentWrapper.style.top = '-10px'; + + var content = this.content = document.createElement('div'); + content.className = 'annotTextContent'; + content.setAttribute('hidden', true); + + var i, ii; + if (this.data.hasBgColor && this.data.color) { + var color = this.data.color; + + // Enlighten the color (70%). + var BACKGROUND_ENLIGHT = 0.7; + var r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0]; + var g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1]; + var b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2]; + content.style.backgroundColor = Util.makeCssRgb(r | 0, g | 0, b | 0); + } + + var title = document.createElement('h1'); + var text = document.createElement('p'); + title.textContent = this.data.title; + + if (!this.data.content && !this.data.title) { + content.setAttribute('hidden', true); } else { - bindLink(link, ('dest' in item) ? item.dest : null); - } - } + var e = document.createElement('span'); + var lines = this.data.content.split(/(?:\r\n?|\n)/); + for (i = 0, ii = lines.length; i < ii; ++i) { + var line = lines[i]; + e.appendChild(document.createTextNode(line)); + if (i < (ii - 1)) { + e.appendChild(document.createElement('br')); + } + } + text.appendChild(e); - container.appendChild(link); - - return container; - } - - function getHtmlElement(data, page, viewport, linkService) { - switch (data.annotationType) { - case AnnotationType.WIDGET: - return getHtmlElementForTextWidgetAnnotation(data, page, viewport); - case AnnotationType.TEXT: - return getHtmlElementForTextAnnotation(data, page, viewport); - case AnnotationType.LINK: - return getHtmlElementForLinkAnnotation(data, page, viewport, - linkService); - default: - throw new Error('Unsupported annotationType: ' + data.annotationType); - } - } - - function render(viewport, div, annotations, page, linkService) { - for (var i = 0, ii = annotations.length; i < ii; i++) { - var data = annotations[i]; - if (!data || !data.hasHtml) { - continue; + image.addEventListener('click', this._toggle.bind(this)); + image.addEventListener('mouseover', this._show.bind(this, false)); + image.addEventListener('mouseout', this._hide.bind(this, false)); + content.addEventListener('click', this._hide.bind(this, true)); } - var element = getHtmlElement(data, page, viewport, linkService); - div.appendChild(element); - } - } + content.appendChild(title); + content.appendChild(text); + contentWrapper.appendChild(content); + container.appendChild(image); + container.appendChild(contentWrapper); + return container; + }, - function update(viewport, div, annotations) { - for (var i = 0, ii = annotations.length; i < ii; i++) { - var data = annotations[i]; - var element = div.querySelector( - '[data-annotation-id="' + data.id + '"]'); - if (element) { - CustomStyle.setProp('transform', element, - 'matrix(' + viewport.transform.join(',') + ')'); + /** + * Toggle the visibility of the content box. + * + * @private + * @memberof TextAnnotationElement + */ + _toggle: function TextAnnotationElement_toggle() { + if (this.pinned) { + this._hide(true); + } else { + this._show(true); + } + }, + + /** + * Show the content box. + * + * @private + * @param {boolean} pin + * @memberof TextAnnotationElement + */ + _show: function TextAnnotationElement_show(pin) { + if (pin) { + this.pinned = true; + } + if (this.content.hasAttribute('hidden')) { + this.container.style.zIndex += 1; + this.content.removeAttribute('hidden'); + } + }, + + /** + * Hide the content box. + * + * @private + * @param {boolean} unpin + * @memberof TextAnnotationElement + */ + _hide: function TextAnnotationElement_hide(unpin) { + if (unpin) { + this.pinned = false; + } + if (!this.content.hasAttribute('hidden') && !this.pinned) { + this.container.style.zIndex -= 1; + this.content.setAttribute('hidden', true); } } - div.removeAttribute('hidden'); + }); + + return TextAnnotationElement; +})(); + +/** + * @class + * @alias WidgetAnnotationElement + */ +var WidgetAnnotationElement = (function WidgetAnnotationElementClosure() { + function WidgetAnnotationElement(parameters) { + AnnotationElement.call(this, parameters); } + Util.inherit(WidgetAnnotationElement, AnnotationElement, { + /** + * Render the widget annotation's HTML element in the empty container. + * + * @public + * @memberof WidgetAnnotationElement + * @returns {HTMLSectionElement} + */ + render: function WidgetAnnotationElement_render() { + var content = document.createElement('div'); + content.textContent = this.data.fieldValue; + var textAlignment = this.data.textAlignment; + content.style.textAlign = ['left', 'center', 'right'][textAlignment]; + content.style.verticalAlign = 'middle'; + content.style.display = 'table-cell'; + + var font = (this.data.fontRefName ? + this.page.commonObjs.getData(this.data.fontRefName) : null); + this._setTextStyle(content, font); + + this.container.appendChild(content); + return this.container; + }, + + /** + * Apply text styles to the text in the element. + * + * @private + * @param {HTMLDivElement} element + * @param {Object} font + * @memberof WidgetAnnotationElement + */ + _setTextStyle: + function WidgetAnnotationElement_setTextStyle(element, font) { + // TODO: This duplicates some of the logic in CanvasGraphics.setFont(). + var style = element.style; + style.fontSize = this.data.fontSize + 'px'; + style.direction = (this.data.fontDirection < 0 ? 'rtl': 'ltr'); + + if (!font) { + return; + } + + style.fontWeight = (font.black ? + (font.bold ? '900' : 'bold') : + (font.bold ? 'bold' : 'normal')); + style.fontStyle = (font.italic ? 'italic' : 'normal'); + + // Use a reasonable default font if the font doesn't specify a fallback. + var fontFamily = font.loadedName ? '"' + font.loadedName + '", ' : ''; + var fallbackName = font.fallbackName || 'Helvetica, sans-serif'; + style.fontFamily = fontFamily + fallbackName; + } + }); + + return WidgetAnnotationElement; +})(); + +/** + * @typedef {Object} AnnotationLayerParameters + * @property {PageViewport} viewport + * @property {HTMLDivElement} div + * @property {Array} annotations + * @property {PDFPage} page + * @property {IPDFLinkService} linkService + */ + +/** + * @class + * @alias AnnotationLayer + */ +var AnnotationLayer = (function AnnotationLayerClosure() { return { - render: render, - update: update + /** + * Render a new annotation layer with all annotation elements. + * + * @public + * @param {AnnotationLayerParameters} parameters + * @memberof AnnotationLayer + */ + render: function AnnotationLayer_render(parameters) { + var annotationElementFactory = new AnnotationElementFactory(); + + for (var i = 0, ii = parameters.annotations.length; i < ii; i++) { + var data = parameters.annotations[i]; + if (!data || !data.hasHtml) { + continue; + } + + var properties = { + data: data, + page: parameters.page, + viewport: parameters.viewport, + linkService: parameters.linkService + }; + var element = annotationElementFactory.create(properties); + parameters.div.appendChild(element.render()); + } + }, + + /** + * Update the annotation elements on existing annotation layer. + * + * @public + * @param {AnnotationLayerParameters} parameters + * @memberof AnnotationLayer + */ + update: function AnnotationLayer_update(parameters) { + for (var i = 0, ii = parameters.annotations.length; i < ii; i++) { + var data = parameters.annotations[i]; + var element = parameters.div.querySelector( + '[data-annotation-id="' + data.id + '"]'); + if (element) { + CustomStyle.setProp('transform', element, + 'matrix(' + parameters.viewport.transform.join(',') + ')'); + } + } + parameters.div.removeAttribute('hidden'); + } }; })(); + PDFJS.AnnotationLayer = AnnotationLayer; exports.AnnotationLayer = AnnotationLayer; diff --git a/web/annotation_layer_builder.js b/web/annotation_layer_builder.js index 0462aa3d..3f5a3290 100644 --- a/web/annotation_layer_builder.js +++ b/web/annotation_layer_builder.js @@ -54,11 +54,18 @@ var AnnotationLayerBuilder = (function AnnotationLayerBuilderClosure() { this.pdfPage.getAnnotations(parameters).then(function (annotations) { viewport = viewport.clone({ dontFlip: true }); + parameters = { + viewport: viewport, + div: self.div, + annotations: annotations, + page: self.pdfPage, + linkService: self.linkService + }; if (self.div) { // If an annotationLayer already exists, refresh its children's // transformation matrices. - PDFJS.AnnotationLayer.update(viewport, self.div, annotations); + PDFJS.AnnotationLayer.update(parameters); } else { // Create an annotation layer div and render the annotations // if there is at least one annotation. @@ -69,9 +76,9 @@ var AnnotationLayerBuilder = (function AnnotationLayerBuilderClosure() { self.div = document.createElement('div'); self.div.className = 'annotationLayer'; self.pageDiv.appendChild(self.div); + parameters.div = self.div; - PDFJS.AnnotationLayer.render(viewport, self.div, annotations, - self.pdfPage, self.linkService); + PDFJS.AnnotationLayer.render(parameters); if (typeof mozL10n !== 'undefined') { mozL10n.translate(self.div); } From b7217a22745473c186da794729c9584576bf1c1c Mon Sep 17 00:00:00 2001 From: Tim van der Meij Date: Fri, 18 Dec 2015 22:29:22 +0100 Subject: [PATCH 018/654] Implement annotation layer regression testing --- test/annotation_layer_test.css | 73 ++++++++++++++ test/driver.js | 169 ++++++++++++++++++++++++++++++++- test/test_manifest.json | 7 +- 3 files changed, 245 insertions(+), 4 deletions(-) create mode 100644 test/annotation_layer_test.css diff --git a/test/annotation_layer_test.css b/test/annotation_layer_test.css new file mode 100644 index 00000000..3101be4c --- /dev/null +++ b/test/annotation_layer_test.css @@ -0,0 +1,73 @@ +/* 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. + */ + +/* Used for annotation layer tests */ + +.annotationLayer { + position: absolute; + left: 0; + top: 0; + right: 0; + bottom: 0; +} + +.annotationLayer > section { + position: absolute; +} + +.annotationLayer .annotLink > a { + position: absolute; + font-size: 1em; + top: 0; + left: 0; + width: 100%; + height: 100%; + opacity: 0.2; + background: #ff0; + box-shadow: 0px 2px 10px #ff0; +} + +.annotationLayer .annotText > img { + position: absolute; +} + +.annotationLayer .annotTextContentWrapper { + position: absolute; + width: 20em; +} + +.annotationLayer .annotTextContent { + z-index: 200; + float: left; + max-width: 20em; + background-color: #FFFF99; + box-shadow: 0px 2px 5px #333; + border-radius: 2px; + padding: 0.6em; + display: block !important; + font: message-box; +} + +.annotationLayer .annotTextContent > h1 { + font-size: 1em; + border-bottom: 1px solid #000000; + margin: 0; + padding: 0 0 0.2em 0; +} + +.annotationLayer .annotTextContent > p { + margin: 0; + padding: 0.2em 0 0 0; +} diff --git a/test/driver.js b/test/driver.js index fa9c77a4..148a8c4b 100644 --- a/test/driver.js +++ b/test/driver.js @@ -19,6 +19,29 @@ var WAITING_TIME = 100; // ms var PDF_TO_CSS_UNITS = 96.0 / 72.0; +/** + * @class + */ +var LinkServiceMock = (function LinkServiceMockClosure() { + function LinkServiceMock() {} + + LinkServiceMock.prototype = { + navigateTo: function (dest) {}, + + getDestinationHash: function (dest) { + return '#'; + }, + + getAnchorUrl: function (hash) { + return '#'; + }, + + executeNamedAction: function (action) {} + }; + + return LinkServiceMock; +})(); + /** * @class */ @@ -89,6 +112,115 @@ var rasterizeTextLayer = (function rasterizeTextLayerClosure() { return rasterizeTextLayer; })(); +/** + * @class + */ +var rasterizeAnnotationLayer = (function rasterizeAnnotationLayerClosure() { + var SVG_NS = 'http://www.w3.org/2000/svg'; + + var annotationLayerStylePromise = null; + function getAnnotationLayerStyle() { + if (annotationLayerStylePromise) { + return annotationLayerStylePromise; + } + annotationLayerStylePromise = new Promise(function (resolve) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', './annotation_layer_test.css'); + xhr.onload = function () { + resolve(xhr.responseText); + }; + xhr.send(null); + }); + return annotationLayerStylePromise; + } + + function inlineAnnotationImages(images) { + var imagePromises = []; + for (var i = 0, ii = images.length; i < ii; i++) { + var imagePromise = new Promise(function(resolve) { + var xhr = new XMLHttpRequest(); + xhr.responseType = 'blob'; + xhr.onload = function() { + var reader = new FileReader(); + reader.onloadend = function() { + resolve(reader.result); + }; + reader.readAsDataURL(xhr.response); + }; + xhr.onerror = function() { + resolve(''); + }; + xhr.open('GET', images[i].src); + xhr.send(); + }); + imagePromises.push(imagePromise); + } + return imagePromises; + } + + function rasterizeAnnotationLayer(ctx, viewport, annotations, page) { + return new Promise(function (resolve) { + // Building SVG with size of the viewport. + var svg = document.createElementNS(SVG_NS, 'svg:svg'); + svg.setAttribute('width', viewport.width + 'px'); + svg.setAttribute('height', viewport.height + 'px'); + + // Adding element to host our HTML (style + annotation layer div). + var foreignObject = document.createElementNS(SVG_NS, 'svg:foreignObject'); + foreignObject.setAttribute('x', '0'); + foreignObject.setAttribute('y', '0'); + foreignObject.setAttribute('width', viewport.width + 'px'); + foreignObject.setAttribute('height', viewport.height + 'px'); + var style = document.createElement('style'); + var stylePromise = getAnnotationLayerStyle(); + foreignObject.appendChild(style); + var div = document.createElement('div'); + div.className = 'annotationLayer'; + + // Rendering annotation layer as HTML. + stylePromise.then(function (styles) { + style.textContent = styles; + + var annotation_viewport = viewport.clone({ dontFlip: true }); + var parameters = { + viewport: annotation_viewport, + div: div, + annotations: annotations, + page: page, + linkService: new LinkServiceMock() + }; + PDFJS.AnnotationLayer.render(parameters); + + // Inline SVG images from text annotations. + var images = div.getElementsByTagName('img'); + var imagePromises = inlineAnnotationImages(images); + var converted = Promise.all(imagePromises).then(function(data) { + for (var i = 0, ii = data.length; i < ii; i++) { + images[i].src = data[i]; + } + }); + + foreignObject.appendChild(div); + svg.appendChild(foreignObject); + + // We need to have UTF-8 encoded XML. + converted.then(function() { + var svg_xml = unescape(encodeURIComponent( + (new XMLSerializer()).serializeToString(svg))); + var img = new Image(); + img.src = 'data:image/svg+xml;base64,' + btoa(svg_xml); + img.onload = function () { + ctx.drawImage(img, 0, 0); + resolve(); + }; + }); + }); + }); + } + + return rasterizeAnnotationLayer; +})(); + /** * @typedef {Object} DriverOptions * @property {HTMLSpanElement} inflight - Field displaying the number of @@ -113,6 +245,7 @@ var Driver = (function DriverClosure() { PDFJS.cMapPacked = true; PDFJS.cMapUrl = '../external/bcmaps/'; PDFJS.enableStats = true; + PDFJS.imageResourcesPath = '/web/images/'; // Set the passed options this.inflight = options.inflight; @@ -320,7 +453,7 @@ var Driver = (function DriverClosure() { self.canvas.height = viewport.height; self._clearCanvas(); - var textLayerCanvas; + var textLayerCanvas, annotationLayerCanvas; var initPromise; if (task.type === 'text') { // Using a dummy canvas for PDF context drawing operations @@ -343,8 +476,36 @@ var Driver = (function DriverClosure() { }); } else { textLayerCanvas = null; - initPromise = Promise.resolve(); + + // Render the annotation layer if necessary. + if (task.annotations) { + // Create a dummy canvas for the drawing operations. + annotationLayerCanvas = self.annotationLayerCanvas; + if (!annotationLayerCanvas) { + annotationLayerCanvas = document.createElement('canvas'); + self.annotationLayerCanvas = annotationLayerCanvas; + } + annotationLayerCanvas.width = viewport.width; + annotationLayerCanvas.height = viewport.height; + var annotationLayerContext = + annotationLayerCanvas.getContext('2d'); + annotationLayerContext.clearRect(0, 0, + annotationLayerCanvas.width, annotationLayerCanvas.height); + + // The annotation builder will draw its content on the canvas. + initPromise = + page.getAnnotations({ intent: 'display' }).then( + function(annotations) { + return rasterizeAnnotationLayer(annotationLayerContext, + viewport, annotations, + page); + }); + } else { + annotationLayerCanvas = null; + initPromise = Promise.resolve(); + } } + var renderContext = { canvasContext: ctx, viewport: viewport @@ -359,6 +520,10 @@ var Driver = (function DriverClosure() { ctx.restore(); ctx.drawImage(textLayerCanvas, 0, 0); } + // If we have annotation layer, compose it on top of the page. + if (annotationLayerCanvas) { + ctx.drawImage(annotationLayerCanvas, 0, 0); + } page.cleanup(); task.stats = page.stats; page.stats = new pdfjsSharedUtil.StatTimer(); diff --git a/test/test_manifest.json b/test/test_manifest.json index 7095734f..32b74c9a 100644 --- a/test/test_manifest.json +++ b/test/test_manifest.json @@ -1600,7 +1600,8 @@ "rounds": 1, "lastPage": 1, "link": true, - "type": "eq" + "type": "eq", + "annotations": true }, { "id": "issue1002", "file": "pdfs/issue1002.pdf", @@ -2052,6 +2053,7 @@ "md5": "56321ea830be9c4f8437ca17ac535b2d", "rounds": 1, "type": "eq", + "annotations": true, "about": "Text widget annotation witout appearance streams." }, { "id": "gesamt", @@ -2585,7 +2587,8 @@ "file": "pdfs/annotation-border-styles.pdf", "md5": "22930fc09c7386e1131b14d936e554af", "rounds": 1, - "type": "eq" + "type": "eq", + "annotations": true }, { "id": "issue5481.pdf", "file": "pdfs/issue5481.pdf", From ae4ec2e347e0100bd9ce6623d4ba9f549ad3336a Mon Sep 17 00:00:00 2001 From: Jonas Jenwald Date: Mon, 21 Dec 2015 15:15:26 +0100 Subject: [PATCH 019/654] Change test-case `issue4914` to an `annotations` test This PDF file (see issue 4914) originally regressed in PR 4318, and was subsequently fixed in PR 4915. I added the PDF file as a (linked) test-case in PR 6481, in an effort to prevent regressions. Since we at that time didn't have the necessary framework in place, in order to correctly test annotations, this almost regressed *again* in PR https://github.com/mozilla/pdf.js/pull/6672#issuecomment-158689392. In that PDF file, some of the annotations are both printable and hidden, and should definitely *not* be visible on normal display. Hence this patch, which adds the `annotations` flag to the manifest in order to ensure that those annotations won't be rendered when `intent === 'display'`. --- test/test_manifest.json | 1 + 1 file changed, 1 insertion(+) diff --git a/test/test_manifest.json b/test/test_manifest.json index 32b74c9a..0538c172 100644 --- a/test/test_manifest.json +++ b/test/test_manifest.json @@ -498,6 +498,7 @@ "link": true, "lastPage": 1, "type": "eq", + "annotations": true, "about": "PDF with annotations, some of which have the Hidden flag set." }, { "id": "issue4665-text", From 79c2f69c3288494c5ce2809182c896484bf4be5c Mon Sep 17 00:00:00 2001 From: Yury Delendik Date: Mon, 21 Dec 2015 13:46:50 -0600 Subject: [PATCH 020/654] Adds/modifies examples for node.js and webpack. --- examples/node/domstubs.js | 8 ++++++ examples/node/getinfo.js | 8 +++--- examples/node/pdf2svg.js | 8 ++---- examples/webpack/.gitignore | 1 + examples/webpack/README.md | 18 ++++++++++++++ examples/webpack/index.html | 11 ++++++++ examples/webpack/main.js | 32 ++++++++++++++++++++++++ examples/webpack/package.json | 9 +++++++ examples/webpack/webpack.config.js | 20 +++++++++++++++ make.js | 2 ++ package.json | 1 + src/core/worker.js | 5 ++-- src/display/api.js | 19 +++++++++++--- src/frameworks.js | 40 ++++++++++++++++++++++++++++++ src/pdf.js | 7 +++--- 15 files changed, 170 insertions(+), 19 deletions(-) create mode 100644 examples/webpack/.gitignore create mode 100644 examples/webpack/README.md create mode 100644 examples/webpack/index.html create mode 100644 examples/webpack/main.js create mode 100644 examples/webpack/package.json create mode 100644 examples/webpack/webpack.config.js create mode 100644 src/frameworks.js diff --git a/examples/node/domstubs.js b/examples/node/domstubs.js index 5eb186b8..fd7add63 100644 --- a/examples/node/domstubs.js +++ b/examples/node/domstubs.js @@ -120,9 +120,17 @@ DOMElement.prototype = { }, } +global.window = global; + +global.navigator = { userAgent: 'node' }; + global.document = { childNodes : [], + get currentScript() { + return { src: '' }; + }, + get documentElement() { return this; }, diff --git a/examples/node/getinfo.js b/examples/node/getinfo.js index 9c2faff6..35111502 100644 --- a/examples/node/getinfo.js +++ b/examples/node/getinfo.js @@ -9,13 +9,11 @@ var fs = require('fs'); -// HACK few hacks to let PDF.js be loaded not as a module in global space. -global.window = global; -global.navigator = { userAgent: "node" }; -global.PDFJS = {}; +// HACK adding DOMParser to read XMP metadata. global.DOMParser = require('./domparsermock.js').DOMParserMock; -require('../../build/singlefile/build/pdf.combined.js'); +// Run `node make dist` to generate 'pdfjs-dist' npm package files. +require('../../build/dist'); // Loading file from file system into typed array var pdfPath = process.argv[2] || '../../web/compressed.tracemonkey-pldi-09.pdf'; diff --git a/examples/node/pdf2svg.js b/examples/node/pdf2svg.js index d4defb41..f5e3d8ff 100644 --- a/examples/node/pdf2svg.js +++ b/examples/node/pdf2svg.js @@ -8,14 +8,10 @@ var fs = require('fs'); // HACK few hacks to let PDF.js be loaded not as a module in global space. -global.window = global; -global.navigator = { userAgent: 'node' }; -global.PDFJS = {}; - require('./domstubs.js'); -PDFJS.workerSrc = true; -require('../../build/singlefile/build/pdf.combined.js'); +// Run `node make dist` to generate 'pdfjs-dist' npm package files. +require('../../build/dist'); // Loading file from file system into typed array var pdfPath = process.argv[2] || '../../web/compressed.tracemonkey-pldi-09.pdf'; diff --git a/examples/webpack/.gitignore b/examples/webpack/.gitignore new file mode 100644 index 00000000..c2658d7d --- /dev/null +++ b/examples/webpack/.gitignore @@ -0,0 +1 @@ +node_modules/ diff --git a/examples/webpack/README.md b/examples/webpack/README.md new file mode 100644 index 00000000..228b386f --- /dev/null +++ b/examples/webpack/README.md @@ -0,0 +1,18 @@ +## Overview + +Example to demonstrate PDF.js library usage with webpack. + +## Getting started + +Build project and install the example dependencies: + + $ node make dist + $ cd examples/webpack + $ npm install + +To build webpack bundles, run `node_modules/.bin/webpack`. If you are running +a web server, you can observe the build results at +http://localhost:8888/examples/webpack/index.html + +See main.js and webpack.config.js files. Please notice that PDF.js packaging +requires 'entry' loader. diff --git a/examples/webpack/index.html b/examples/webpack/index.html new file mode 100644 index 00000000..24b14721 --- /dev/null +++ b/examples/webpack/index.html @@ -0,0 +1,11 @@ + + + + + webpack example + + + + + + diff --git a/examples/webpack/main.js b/examples/webpack/main.js new file mode 100644 index 00000000..2a3509d7 --- /dev/null +++ b/examples/webpack/main.js @@ -0,0 +1,32 @@ +// Any copyright is dedicated to the Public Domain. +// http://creativecommons.org/licenses/publicdomain/ + +// Hello world example for webpack. + +require('pdfjs-dist'); + +var pdfPath = '../helloworld/helloworld.pdf'; + +// It is also possible to disable workers via `PDFJS.disableWorker = true`, +// however that might degrade the UI performance in web browsers. + +// Loading a document. +var loadingTask = PDFJS.getDocument(pdfPath); +loadingTask.promise.then(function (pdfDocument) { + // Request a first page + return pdfDocument.getPage(1).then(function (pdfPage) { + // Display page on the existing canvas with 100% scale. + var viewport = pdfPage.getViewport(1.0); + var canvas = document.getElementById('theCanvas'); + canvas.width = viewport.width; + canvas.height = viewport.height; + var ctx = canvas.getContext('2d'); + var renderTask = pdfPage.render({ + canvasContext: ctx, + viewport: viewport + }); + return renderTask.promise; + }); +}).catch(function (reason) { + console.error('Error: ' + reason); +}); diff --git a/examples/webpack/package.json b/examples/webpack/package.json new file mode 100644 index 00000000..f1aabe9e --- /dev/null +++ b/examples/webpack/package.json @@ -0,0 +1,9 @@ +{ + "name": "webpack-pdf.js-example", + "version": "0.1.0", + "devDependencies": { + "webpack": "~1.12.9", + "entry-loader": "~0.1.0", + "pdfjs-dist": "../../build/dist" + } +} diff --git a/examples/webpack/webpack.config.js b/examples/webpack/webpack.config.js new file mode 100644 index 00000000..f0735d38 --- /dev/null +++ b/examples/webpack/webpack.config.js @@ -0,0 +1,20 @@ +var webpack = require('webpack'); +var path = require('path'); + +module.exports = { + context: __dirname, + entry: './main.js', + output: { + path: path.join(__dirname, '../../build/webpack'), + publicPath: '../../build/webpack/', + filename: 'bundle.js' + }, + plugins: [ + new webpack.optimize.UglifyJsPlugin({ + compressor: { + screw_ie8: true, + warnings: false + } + }) + ] +}; diff --git a/make.js b/make.js index 6d65eab6..b46026ed 100644 --- a/make.js +++ b/make.js @@ -149,6 +149,7 @@ target.generic = function() { }; builder.build(setup); + cleanupJSSource(GENERIC_DIR + '/build/pdf.js'); cleanupJSSource(GENERIC_DIR + '/web/viewer.js'); cleanupCSSSource(GENERIC_DIR + '/web/viewer.css'); }; @@ -325,6 +326,7 @@ target.dist = function() { var npmManifest = { name: DIST_NAME, version: VERSION, + main: 'build/pdf.js', description: DIST_DESCRIPTION, keywords: DIST_KEYWORDS, homepage: DIST_HOMEPAGE, diff --git a/package.json b/package.json index ca4d41ec..97a39d9a 100644 --- a/package.json +++ b/package.json @@ -5,6 +5,7 @@ "jsdoc": "^3.3.0-alpha9", "jshint": "~2.8.0", "wintersmith": "^2.0.0", + "node-ensure": "^0.0.0", "rimraf": "^2.4.1", "shelljs": "~0.4.0", "typogr": "~0.6.5", diff --git a/src/core/worker.js b/src/core/worker.js index 78632f7c..2a157c62 100644 --- a/src/core/worker.js +++ b/src/core/worker.js @@ -12,7 +12,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -/* globals NetworkManager */ +/* globals NetworkManager, module */ 'use strict'; @@ -648,7 +648,8 @@ var workerConsole = { // Worker thread? -if (typeof window === 'undefined' && typeof require === 'undefined') { +if (typeof window === 'undefined' && + !(typeof module !== 'undefined' && module.require)) { if (!('console' in globalScope)) { globalScope.console = workerConsole; } diff --git a/src/display/api.js b/src/display/api.js index c890df10..2167757d 100644 --- a/src/display/api.js +++ b/src/display/api.js @@ -58,6 +58,14 @@ var globalScope = sharedGlobal.globalScope; var DEFAULT_RANGE_CHUNK_SIZE = 65536; // 2^16 = 65536 +//#if PRODUCTION && !SINGLE_FILE +//#if GENERIC +//#include ../src/frameworks.js +//#else +//var fakeWorkerFilesLoader = null; +//#endif +//#endif + /** * The maximum allowed image size in total pixels e.g. width * height. Images * above this value will not be drawn. Use -1 for no limit. @@ -1192,7 +1200,10 @@ var PDFWorker = (function PDFWorkerClosure() { // PDFJS.fakeWorkerFilesLoadedCapability.resolve(); //#endif //#if PRODUCTION && !SINGLE_FILE -// Util.loadScript(PDFJS.workerSrc, function() { +// var loader = fakeWorkerFilesLoader || function (callback) { +// Util.loadScript(PDFJS.workerSrc, callback); +// }; +// loader(function () { // PDFJS.fakeWorkerFilesLoadedCapability.resolve(); // }); //#endif @@ -1295,8 +1306,10 @@ var PDFWorker = (function PDFWorkerClosure() { }, _setupFakeWorker: function PDFWorker_setupFakeWorker() { - warn('Setting up fake worker.'); - globalScope.PDFJS.disableWorker = true; + if (!globalScope.PDFJS.disableWorker) { + warn('Setting up fake worker.'); + globalScope.PDFJS.disableWorker = true; + } setupFakeWorkerGlobal().then(function () { if (this.destroyed) { diff --git a/src/frameworks.js b/src/frameworks.js new file mode 100644 index 00000000..33e34cee --- /dev/null +++ b/src/frameworks.js @@ -0,0 +1,40 @@ +/* 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. + */ +/* globals PDFJS, require, module */ + +// included from api.js for GENERIC build + +'use strict'; + +var useRequireEnsure = false; +if (typeof module !== 'undefined' && module.require) { + // node.js - disable worker and set require.ensure. + PDFJS.disableWorker = true; + if (typeof require.ensure === 'undefined') { + require.ensure = require('node-ensure'); + } + useRequireEnsure = true; +} +if (typeof __webpack_require__ !== 'undefined') { + // Webpack - get/bundle pdf.worker.js as additional file. + PDFJS.workerSrc = require('entry?name=[hash]-worker.js!./pdf.worker.js'); + useRequireEnsure = true; +} +var fakeWorkerFilesLoader = useRequireEnsure && function (callback) { + require.ensure([], function () { + require('./pdf.worker.js'); + callback(); + }); +}; diff --git a/src/pdf.js b/src/pdf.js index 1ea5ffa9..e9e9b6c1 100644 --- a/src/pdf.js +++ b/src/pdf.js @@ -12,12 +12,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -/*jshint globalstrict: false */ -/* globals PDFJS */ +/* jshint globalstrict: false */ +/* globals PDFJS, global */ // Initializing PDFJS global object (if still undefined) if (typeof PDFJS === 'undefined') { - (typeof window !== 'undefined' ? window : this).PDFJS = {}; + (typeof window !== 'undefined' ? window : + typeof global !== 'undefined' ? global : this).PDFJS = {}; } //#if BUNDLE_VERSION From 7d43971f54291fc71b96d9e612a277bfeae2fd62 Mon Sep 17 00:00:00 2001 From: Tim van der Meij Date: Tue, 22 Dec 2015 21:31:56 +0100 Subject: [PATCH 021/654] Implement support for Popup annotations Most code for Popup annotations is already present for Text annotations. This patch extracts the popup creation logic from the Text annotation code so it can be reused for Popup annotations. Not only does this add support for Popup annotations, the Text annotation code is also considerably easier. If a `Popup` entry is available for a Text annotation, it will not be more than an image. The popup will be handled by the Popup annotation. However, it is also possible for Text annotations to not have a separate Popup annotation, in which case the Text annotation handles the popup creation itself. --- src/core/annotation.js | 80 +++-- src/display/annotation_layer.js | 325 +++++++++++++------- test/annotation_layer_test.css | 14 +- test/pdfs/.gitignore | 2 + test/pdfs/annotation-link-text-popup.pdf | Bin 0 -> 98997 bytes test/pdfs/annotation-text-without-popup.pdf | Bin 0 -> 24281 bytes test/test_manifest.json | 15 + web/annotation_layer_builder.css | 14 +- 8 files changed, 302 insertions(+), 148 deletions(-) create mode 100644 test/pdfs/annotation-link-text-popup.pdf create mode 100644 test/pdfs/annotation-text-without-popup.pdf diff --git a/src/core/annotation.js b/src/core/annotation.js index f09affc3..7c941009 100644 --- a/src/core/annotation.js +++ b/src/core/annotation.js @@ -52,8 +52,6 @@ var ColorSpace = coreColorSpace.ColorSpace; var ObjectLoader = coreObj.ObjectLoader; var OperatorList = coreEvaluator.OperatorList; -var DEFAULT_ICON_SIZE = 22; // px - /** * @class * @alias AnnotationFactory @@ -95,6 +93,9 @@ AnnotationFactory.prototype = /** @lends AnnotationFactory.prototype */ { } return new WidgetAnnotation(parameters); + case 'Popup': + return new PopupAnnotation(parameters); + default: warn('Unimplemented annotation type "' + subtype + '", ' + 'falling back to base annotation'); @@ -160,7 +161,7 @@ var Annotation = (function AnnotationClosure() { // Expose public properties using a data object. this.data = {}; - this.data.id = params.ref.num; + this.data.id = params.ref.toString(); this.data.subtype = dict.get('Subtype').name; this.data.annotationFlags = this.flags; this.data.rect = this.rectangle; @@ -639,29 +640,35 @@ var TextWidgetAnnotation = (function TextWidgetAnnotationClosure() { })(); var TextAnnotation = (function TextAnnotationClosure() { - function TextAnnotation(params) { - Annotation.call(this, params); + var DEFAULT_ICON_SIZE = 22; // px - var dict = params.dict; - var data = this.data; + function TextAnnotation(parameters) { + Annotation.call(this, parameters); - var content = dict.get('Contents'); - var title = dict.get('T'); - data.annotationType = AnnotationType.TEXT; - data.content = stringToPDFString(content || ''); - data.title = stringToPDFString(title || ''); - data.hasHtml = true; + this.data.annotationType = AnnotationType.TEXT; + this.data.hasHtml = true; - if (data.hasAppearance) { - data.name = 'NoIcon'; + var dict = parameters.dict; + if (this.data.hasAppearance) { + this.data.name = 'NoIcon'; } else { - data.rect[1] = data.rect[3] - DEFAULT_ICON_SIZE; - data.rect[2] = data.rect[0] + DEFAULT_ICON_SIZE; - data.name = dict.has('Name') ? dict.get('Name').name : 'Note'; + this.data.rect[1] = this.data.rect[3] - DEFAULT_ICON_SIZE; + this.data.rect[2] = this.data.rect[0] + DEFAULT_ICON_SIZE; + this.data.name = dict.has('Name') ? dict.get('Name').name : 'Note'; } - if (dict.has('C')) { - data.hasBgColor = true; + if (!dict.has('C')) { + // Fall back to the default background color. + this.data.color = null; + } + + this.data.hasPopup = dict.has('Popup'); + if (!this.data.hasPopup) { + // There is no associated Popup annotation, so the Text annotation + // must create its own popup. + this.data.title = stringToPDFString(dict.get('T') || ''); + this.data.contents = stringToPDFString(dict.get('Contents') || ''); + this.data.hasHtml = (this.data.title || this.data.contents); } } @@ -746,6 +753,39 @@ var LinkAnnotation = (function LinkAnnotationClosure() { return LinkAnnotation; })(); +var PopupAnnotation = (function PopupAnnotationClosure() { + function PopupAnnotation(parameters) { + Annotation.call(this, parameters); + + this.data.annotationType = AnnotationType.POPUP; + + var dict = parameters.dict; + var parentItem = dict.get('Parent'); + if (!parentItem) { + warn('Popup annotation has a missing or invalid parent annotation.'); + return; + } + + this.data.parentId = dict.getRaw('Parent').toString(); + this.data.title = stringToPDFString(parentItem.get('T') || ''); + this.data.contents = stringToPDFString(parentItem.get('Contents') || ''); + + if (!parentItem.has('C')) { + // Fall back to the default background color. + this.data.color = null; + } else { + this.setColor(parentItem.get('C')); + this.data.color = this.color; + } + + this.data.hasHtml = (this.data.title || this.data.contents); + } + + Util.inherit(PopupAnnotation, Annotation, {}); + + return PopupAnnotation; +})(); + exports.Annotation = Annotation; exports.AnnotationBorderStyle = AnnotationBorderStyle; exports.AnnotationFactory = AnnotationFactory; diff --git a/src/display/annotation_layer.js b/src/display/annotation_layer.js index 65d337dd..9a1545d8 100644 --- a/src/display/annotation_layer.js +++ b/src/display/annotation_layer.js @@ -36,11 +36,10 @@ var LinkTargetStringMap = sharedUtil.LinkTargetStringMap; var warn = sharedUtil.warn; var CustomStyle = displayDOMUtils.CustomStyle; -var ANNOT_MIN_SIZE = 10; // px - /** * @typedef {Object} AnnotationElementParameters * @property {Object} data + * @property {HTMLDivElement} layer * @property {PDFPage} page * @property {PageViewport} viewport * @property {IPDFLinkService} linkService @@ -70,6 +69,9 @@ AnnotationElementFactory.prototype = case AnnotationType.WIDGET: return new WidgetAnnotationElement(parameters); + case AnnotationType.POPUP: + return new PopupAnnotationElement(parameters); + default: throw new Error('Unimplemented annotation type "' + subtype + '"'); } @@ -83,6 +85,7 @@ AnnotationElementFactory.prototype = var AnnotationElement = (function AnnotationElementClosure() { function AnnotationElement(parameters) { this.data = parameters.data; + this.layer = parameters.layer; this.page = parameters.page; this.viewport = parameters.viewport; this.linkService = parameters.linkService; @@ -292,8 +295,6 @@ var LinkAnnotationElement = (function LinkAnnotationElementClosure() { var TextAnnotationElement = (function TextAnnotationElementClosure() { function TextAnnotationElement(parameters) { AnnotationElement.call(this, parameters); - - this.pinned = false; } Util.inherit(TextAnnotationElement, AnnotationElement, { @@ -305,127 +306,35 @@ var TextAnnotationElement = (function TextAnnotationElementClosure() { * @returns {HTMLSectionElement} */ render: function TextAnnotationElement_render() { - var rect = this.data.rect, container = this.container; + this.container.className = 'textAnnotation'; - // Sanity check because of OOo-generated PDFs. - if ((rect[3] - rect[1]) < ANNOT_MIN_SIZE) { - rect[3] = rect[1] + ANNOT_MIN_SIZE; - } - if ((rect[2] - rect[0]) < ANNOT_MIN_SIZE) { - rect[2] = rect[0] + (rect[3] - rect[1]); // make it square - } - - container.className = 'annotText'; - - var image = document.createElement('img'); - image.style.height = container.style.height; - image.style.width = container.style.width; - var iconName = this.data.name; + var image = document.createElement('img'); + image.style.height = this.container.style.height; + image.style.width = this.container.style.width; image.src = PDFJS.imageResourcesPath + 'annotation-' + - iconName.toLowerCase() + '.svg'; + this.data.name.toLowerCase() + '.svg'; image.alt = '[{{type}} Annotation]'; image.dataset.l10nId = 'text_annotation_type'; - image.dataset.l10nArgs = JSON.stringify({type: iconName}); + image.dataset.l10nArgs = JSON.stringify({type: this.data.name}); - var contentWrapper = document.createElement('div'); - contentWrapper.className = 'annotTextContentWrapper'; - contentWrapper.style.left = Math.floor(rect[2] - rect[0] + 5) + 'px'; - contentWrapper.style.top = '-10px'; + if (!this.data.hasPopup) { + var popupElement = new PopupElement({ + parentContainer: this.container, + parentTrigger: image, + color: this.data.color, + title: this.data.title, + contents: this.data.contents + }); + var popup = popupElement.render(); - var content = this.content = document.createElement('div'); - content.className = 'annotTextContent'; - content.setAttribute('hidden', true); + // Position the popup next to the Text annotation's container. + popup.style.left = image.style.width; - var i, ii; - if (this.data.hasBgColor && this.data.color) { - var color = this.data.color; - - // Enlighten the color (70%). - var BACKGROUND_ENLIGHT = 0.7; - var r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0]; - var g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1]; - var b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2]; - content.style.backgroundColor = Util.makeCssRgb(r | 0, g | 0, b | 0); + this.container.appendChild(popup); } - var title = document.createElement('h1'); - var text = document.createElement('p'); - title.textContent = this.data.title; - - if (!this.data.content && !this.data.title) { - content.setAttribute('hidden', true); - } else { - var e = document.createElement('span'); - var lines = this.data.content.split(/(?:\r\n?|\n)/); - for (i = 0, ii = lines.length; i < ii; ++i) { - var line = lines[i]; - e.appendChild(document.createTextNode(line)); - if (i < (ii - 1)) { - e.appendChild(document.createElement('br')); - } - } - text.appendChild(e); - - image.addEventListener('click', this._toggle.bind(this)); - image.addEventListener('mouseover', this._show.bind(this, false)); - image.addEventListener('mouseout', this._hide.bind(this, false)); - content.addEventListener('click', this._hide.bind(this, true)); - } - - content.appendChild(title); - content.appendChild(text); - contentWrapper.appendChild(content); - container.appendChild(image); - container.appendChild(contentWrapper); - return container; - }, - - /** - * Toggle the visibility of the content box. - * - * @private - * @memberof TextAnnotationElement - */ - _toggle: function TextAnnotationElement_toggle() { - if (this.pinned) { - this._hide(true); - } else { - this._show(true); - } - }, - - /** - * Show the content box. - * - * @private - * @param {boolean} pin - * @memberof TextAnnotationElement - */ - _show: function TextAnnotationElement_show(pin) { - if (pin) { - this.pinned = true; - } - if (this.content.hasAttribute('hidden')) { - this.container.style.zIndex += 1; - this.content.removeAttribute('hidden'); - } - }, - - /** - * Hide the content box. - * - * @private - * @param {boolean} unpin - * @memberof TextAnnotationElement - */ - _hide: function TextAnnotationElement_hide(unpin) { - if (unpin) { - this.pinned = false; - } - if (!this.content.hasAttribute('hidden') && !this.pinned) { - this.container.style.zIndex -= 1; - this.content.setAttribute('hidden', true); - } + this.container.appendChild(image); + return this.container; } }); @@ -499,6 +408,189 @@ var WidgetAnnotationElement = (function WidgetAnnotationElementClosure() { return WidgetAnnotationElement; })(); +/** + * @class + * @alias PopupAnnotationElement + */ +var PopupAnnotationElement = (function PopupAnnotationElementClosure() { + function PopupAnnotationElement(parameters) { + AnnotationElement.call(this, parameters); + } + + Util.inherit(PopupAnnotationElement, AnnotationElement, { + /** + * Render the popup annotation's HTML element in the empty container. + * + * @public + * @memberof PopupAnnotationElement + * @returns {HTMLSectionElement} + */ + render: function PopupAnnotationElement_render() { + this.container.className = 'popupAnnotation'; + + var selector = '[data-annotation-id="' + this.data.parentId + '"]'; + var parentElement = this.layer.querySelector(selector); + if (!parentElement) { + return this.container; + } + + var popup = new PopupElement({ + parentContainer: parentElement, + parentTrigger: parentElement, + color: this.data.color, + title: this.data.title, + contents: this.data.contents + }); + + // Position the popup next to the parent annotation's container. + // PDF viewers ignore a popup annotation's rectangle. + var parentLeft = parseFloat(parentElement.style.left); + var parentWidth = parseFloat(parentElement.style.width); + CustomStyle.setProp('transformOrigin', this.container, + -(parentLeft + parentWidth) + 'px -' + + parentElement.style.top); + this.container.style.left = (parentLeft + parentWidth) + 'px'; + + this.container.appendChild(popup.render()); + return this.container; + } + }); + + return PopupAnnotationElement; +})(); + +/** + * @class + * @alias PopupElement + */ +var PopupElement = (function PopupElementClosure() { + var BACKGROUND_ENLIGHT = 0.7; + + function PopupElement(parameters) { + this.parentContainer = parameters.parentContainer; + this.parentTrigger = parameters.parentTrigger; + this.color = parameters.color; + this.title = parameters.title; + this.contents = parameters.contents; + + this.pinned = false; + } + + PopupElement.prototype = /** @lends PopupElement.prototype */ { + /** + * Render the popup's HTML element. + * + * @public + * @memberof PopupElement + * @returns {HTMLSectionElement} + */ + render: function PopupElement_render() { + var wrapper = document.createElement('div'); + wrapper.className = 'popupWrapper'; + + var popup = this.popup = document.createElement('div'); + popup.className = 'popup'; + popup.setAttribute('hidden', true); + + var color = this.color; + if (color) { + // Enlighten the color. + var r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0]; + var g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1]; + var b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2]; + popup.style.backgroundColor = Util.makeCssRgb(r | 0, g | 0, b | 0); + } + + var contents = this._formatContents(this.contents); + var title = document.createElement('h1'); + title.textContent = this.title; + + // Attach the event listeners to the trigger element. + var trigger = this.parentTrigger; + trigger.addEventListener('click', this._toggle.bind(this)); + trigger.addEventListener('mouseover', this._show.bind(this, false)); + trigger.addEventListener('mouseout', this._hide.bind(this, false)); + popup.addEventListener('click', this._hide.bind(this, true)); + + popup.appendChild(title); + popup.appendChild(contents); + wrapper.appendChild(popup); + return wrapper; + }, + + /** + * Format the contents of the popup by adding newlines where necessary. + * + * @private + * @param {string} contents + * @memberof PopupElement + * @returns {HTMLParagraphElement} + */ + _formatContents: function PopupElement_formatContents(contents) { + var p = document.createElement('p'); + var lines = contents.split(/(?:\r\n?|\n)/); + for (var i = 0, ii = lines.length; i < ii; ++i) { + var line = lines[i]; + p.appendChild(document.createTextNode(line)); + if (i < (ii - 1)) { + p.appendChild(document.createElement('br')); + } + } + return p; + }, + + /** + * Toggle the visibility of the popup. + * + * @private + * @memberof PopupElement + */ + _toggle: function PopupElement_toggle() { + if (this.pinned) { + this._hide(true); + } else { + this._show(true); + } + }, + + /** + * Show the popup. + * + * @private + * @param {boolean} pin + * @memberof PopupElement + */ + _show: function PopupElement_show(pin) { + if (pin) { + this.pinned = true; + } + if (this.popup.hasAttribute('hidden')) { + this.popup.removeAttribute('hidden'); + this.parentContainer.style.zIndex += 1; + } + }, + + /** + * Hide the popup. + * + * @private + * @param {boolean} unpin + * @memberof PopupElement + */ + _hide: function PopupElement_hide(unpin) { + if (unpin) { + this.pinned = false; + } + if (!this.popup.hasAttribute('hidden') && !this.pinned) { + this.popup.setAttribute('hidden', true); + this.parentContainer.style.zIndex -= 1; + } + } + }; + + return PopupElement; +})(); + /** * @typedef {Object} AnnotationLayerParameters * @property {PageViewport} viewport @@ -532,6 +624,7 @@ var AnnotationLayer = (function AnnotationLayerClosure() { var properties = { data: data, + layer: parameters.div, page: parameters.page, viewport: parameters.viewport, linkService: parameters.linkService diff --git a/test/annotation_layer_test.css b/test/annotation_layer_test.css index 3101be4c..9ea5dc10 100644 --- a/test/annotation_layer_test.css +++ b/test/annotation_layer_test.css @@ -39,35 +39,37 @@ box-shadow: 0px 2px 10px #ff0; } -.annotationLayer .annotText > img { +.annotationLayer .textAnnotation img { position: absolute; } -.annotationLayer .annotTextContentWrapper { +.annotationLayer .popupWrapper { position: absolute; width: 20em; } -.annotationLayer .annotTextContent { +.annotationLayer .popup { + position: absolute; z-index: 200; - float: left; max-width: 20em; background-color: #FFFF99; box-shadow: 0px 2px 5px #333; border-radius: 2px; padding: 0.6em; + margin-left: 5px; display: block !important; font: message-box; + word-wrap: break-word; } -.annotationLayer .annotTextContent > h1 { +.annotationLayer .popup h1 { font-size: 1em; border-bottom: 1px solid #000000; margin: 0; padding: 0 0 0.2em 0; } -.annotationLayer .annotTextContent > p { +.annotationLayer .popup p { margin: 0; padding: 0.2em 0 0 0; } diff --git a/test/pdfs/.gitignore b/test/pdfs/.gitignore index c2a67334..d3a76808 100644 --- a/test/pdfs/.gitignore +++ b/test/pdfs/.gitignore @@ -198,3 +198,5 @@ !issue6108.pdf !issue6113.pdf !openoffice.pdf +!annotation-link-text-popup.pdf +!annotation-text-without-popup.pdf diff --git a/test/pdfs/annotation-link-text-popup.pdf b/test/pdfs/annotation-link-text-popup.pdf new file mode 100644 index 0000000000000000000000000000000000000000..2a840b172905beccd5d314658171b5b37fab457f GIT binary patch literal 98997 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�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�Z+}4f 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 G@&5rj@~J%l literal 0 HcmV?d00001 diff --git a/test/test_manifest.json b/test/test_manifest.json index 0538c172..92d433df 100644 --- a/test/test_manifest.json +++ b/test/test_manifest.json @@ -2616,6 +2616,21 @@ "rounds": 1, "type": "load" }, + { "id": "annotation-link-text-popup", + "file": "pdfs/annotation-link-text-popup.pdf", + "md5": "4bbf56e81d47232de5f305124ab0ba27", + "rounds": 1, + "type": "eq", + "annotations": true + }, + { "id": "annotation-text-without-popup", + "file": "pdfs/annotation-text-without-popup.pdf", + "md5": "7c2d241babe00139e34b9f8369a909eb", + "rounds": 1, + "type": "eq", + "annotations": true, + "about": "Text annotation without a separate Popup annotation" + }, { "id": "issue6108", "file": "pdfs/issue6108.pdf", "md5": "8961cb55149495989a80bf0487e0f076", diff --git a/web/annotation_layer_builder.css b/web/annotation_layer_builder.css index dc5a161c..daeb48fd 100644 --- a/web/annotation_layer_builder.css +++ b/web/annotation_layer_builder.css @@ -23,34 +23,36 @@ box-shadow: 0px 2px 10px #ff0; } -.annotationLayer .annotText > img { +.annotationLayer .textAnnotation img { position: absolute; cursor: pointer; } -.annotationLayer .annotTextContentWrapper { +.annotationLayer .popupWrapper { position: absolute; width: 20em; } -.annotationLayer .annotTextContent { +.annotationLayer .popup { + position: absolute; z-index: 200; - float: left; max-width: 20em; background-color: #FFFF99; box-shadow: 0px 2px 5px #333; border-radius: 2px; padding: 0.6em; + margin-left: 5px; cursor: pointer; + word-wrap: break-word; } -.annotationLayer .annotTextContent > h1 { +.annotationLayer .popup h1 { font-size: 1em; border-bottom: 1px solid #000000; padding-bottom: 0.2em; } -.annotationLayer .annotTextContent > p { +.annotationLayer .popup p { padding-top: 0.2em; } From 17780dab31c27cde7f45af43602c25e113cac956 Mon Sep 17 00:00:00 2001 From: Yury Delendik Date: Sat, 26 Dec 2015 22:37:07 -0600 Subject: [PATCH 022/654] Import l10n. --- l10n/ach/viewer.properties | 2 +- l10n/af/viewer.properties | 2 +- l10n/ak/viewer.properties | 2 +- l10n/an/viewer.properties | 2 +- l10n/ar/viewer.properties | 2 +- l10n/as/viewer.properties | 2 +- l10n/az/viewer.properties | 2 +- l10n/bg/viewer.properties | 2 +- l10n/bn-BD/viewer.properties | 2 +- l10n/bn-IN/viewer.properties | 2 +- l10n/br/viewer.properties | 2 +- l10n/bs/viewer.properties | 2 +- l10n/ca/viewer.properties | 2 +- l10n/cy/viewer.properties | 2 +- l10n/en-ZA/viewer.properties | 2 +- l10n/es-CL/viewer.properties | 2 +- l10n/es-ES/viewer.properties | 4 ++-- l10n/es-MX/viewer.properties | 2 +- l10n/eu/viewer.properties | 2 +- l10n/fa/viewer.properties | 4 ++-- l10n/ff/viewer.properties | 2 +- l10n/ga-IE/viewer.properties | 2 +- l10n/gd/viewer.properties | 2 +- l10n/gu-IN/viewer.properties | 2 +- l10n/hi-IN/viewer.properties | 2 +- l10n/hr/viewer.properties | 2 +- l10n/hu/viewer.properties | 2 +- l10n/hy-AM/viewer.properties | 2 +- l10n/id/viewer.properties | 2 +- l10n/is/viewer.properties | 2 +- l10n/kk/viewer.properties | 2 +- l10n/km/viewer.properties | 2 +- l10n/kn/viewer.properties | 2 +- l10n/ku/viewer.properties | 2 +- l10n/lij/viewer.properties | 2 +- l10n/lt/viewer.properties | 2 +- l10n/lv/viewer.properties | 2 +- l10n/mai/viewer.properties | 2 +- l10n/ml/viewer.properties | 2 +- l10n/mr/viewer.properties | 2 +- l10n/ms/viewer.properties | 2 +- l10n/my/viewer.properties | 2 +- l10n/oc/viewer.properties | 4 ++-- l10n/or/viewer.properties | 2 +- l10n/pl/viewer.properties | 2 +- l10n/pt-BR/viewer.properties | 2 +- l10n/pt-PT/viewer.properties | 2 +- l10n/ro/viewer.properties | 2 +- l10n/ru/viewer.properties | 2 +- l10n/sah/viewer.properties | 2 +- l10n/son/viewer.properties | 2 +- l10n/sr/viewer.properties | 8 +++++++- l10n/sv-SE/viewer.properties | 2 +- l10n/ta/viewer.properties | 2 +- l10n/te/viewer.properties | 2 +- l10n/th/viewer.properties | 2 +- l10n/tr/viewer.properties | 2 +- l10n/uk/viewer.properties | 2 +- l10n/ur/viewer.properties | 2 +- l10n/vi/viewer.properties | 2 +- l10n/xh/viewer.properties | 2 +- l10n/zh-CN/viewer.properties | 2 +- l10n/zh-TW/viewer.properties | 2 +- l10n/zu/viewer.properties | 2 +- 64 files changed, 73 insertions(+), 67 deletions(-) diff --git a/l10n/ach/viewer.properties b/l10n/ach/viewer.properties index 51d0a380..50747b6e 100644 --- a/l10n/ach/viewer.properties +++ b/l10n/ach/viewer.properties @@ -170,4 +170,4 @@ password_cancel=Juk printing_not_supported=Ciko: Layeny ma pe teno goyo liweng. printing_not_ready=Ciko: PDF pe ocane weng me agoya. web_fonts_disabled=Kijuko dit pa coc me kakube woko: pe romo tic ki dit pa coc me PDF ma kiketo i kine. -document_colors_disabled=Pe ki ye ki gin acoya me PDF me tic ki rangi gi kengi: 'Ye pot buk me yero rangi mamegi kengi' kijuko woko i layeny. +document_colors_not_allowed=Pe ki ye ki gin acoya me PDF me tic ki rangi gi kengi: 'Ye pot buk me yero rangi mamegi kengi' kijuko woko i layeny. diff --git a/l10n/af/viewer.properties b/l10n/af/viewer.properties index 98e1d6b1..052413dd 100644 --- a/l10n/af/viewer.properties +++ b/l10n/af/viewer.properties @@ -170,4 +170,4 @@ password_cancel=Kanselleer printing_not_supported=Waarskuwing: Dié blaaier ondersteun nie drukwerk ten volle nie. printing_not_ready=Waarskuwing: Die PDF is nog nie volledig gelaai vir drukwerk nie. web_fonts_disabled=Webfonte is gedeaktiveer: kan nie PDF-fonte wat ingebed is, gebruik nie. -document_colors_disabled=PDF-dokumente word nie toegelaat om hul eie kleure te gebruik nie: 'Laat bladsye toe om hul eie kleure te kies' is gedeaktiveer in die blaaier. +document_colors_not_allowed=PDF-dokumente word nie toegelaat om hul eie kleure te gebruik nie: 'Laat bladsye toe om hul eie kleure te kies' is gedeaktiveer in die blaaier. diff --git a/l10n/ak/viewer.properties b/l10n/ak/viewer.properties index 90b8bf44..83eacd63 100644 --- a/l10n/ak/viewer.properties +++ b/l10n/ak/viewer.properties @@ -128,4 +128,4 @@ password_cancel=Twa-mu printing_not_supported=Kɔkɔbɔ: Brawsa yi nnhyɛ daa mma prent ho kwan. printing_not_ready=Kɔkɔbɔ: Wɔnntwee PDF fael no nyinara mmbaee ama wo ɛ tumi aprente. web_fonts_disabled=Ɔedum wɛb-mfɔnt: nntumi mmfa PDF mfɔnt a wɔhyɛ mu nndi dwuma. -document_colors_disabled=Wɔmma ho kwan sɛ PDF adɔkomɛnt de wɔn ara wɔn ahosu bɛdi dwuma: wɔ adum 'Ma ho kwan ma nkrataafa mpaw wɔn ara wɔn ahosu' wɔ brawsa yi mu. +document_colors_not_allowed=Wɔmma ho kwan sɛ PDF adɔkomɛnt de wɔn ara wɔn ahosu bɛdi dwuma: wɔ adum 'Ma ho kwan ma nkrataafa mpaw wɔn ara wɔn ahosu' wɔ brawsa yi mu. diff --git a/l10n/an/viewer.properties b/l10n/an/viewer.properties index a2ccb9d4..ad26285e 100644 --- a/l10n/an/viewer.properties +++ b/l10n/an/viewer.properties @@ -170,4 +170,4 @@ password_cancel=Cancelar printing_not_supported=Pare cuenta: Iste navegador no maneya totalment as impresions. printing_not_ready=Aviso: Encara no se ha cargau completament o PDF ta imprentar-lo. web_fonts_disabled=As fuents web son desactivadas: no se puet incrustar fichers PDF. -document_colors_disabled=Os documentos PDF no pueden fer servir as suyas propias colors: 'Permitir que as pachinas triguen as suyas propias colors' ye desactivau en o navegador. +document_colors_not_allowed=Os documentos PDF no pueden fer servir as suyas propias colors: 'Permitir que as pachinas triguen as suyas propias colors' ye desactivau en o navegador. diff --git a/l10n/ar/viewer.properties b/l10n/ar/viewer.properties index 154e48bb..3dd50c88 100644 --- a/l10n/ar/viewer.properties +++ b/l10n/ar/viewer.properties @@ -170,4 +170,4 @@ password_cancel=ألغِ printing_not_supported=تحذير: لا يدعم هذا المتصفح الطباعة بشكل كامل. printing_not_ready=تحذير: ملف PDF لم يُحمّل كاملًا للطباعة. web_fonts_disabled=خطوط الوب مُعطّلة: تعذّر استخدام خطوط PDF المُضمّنة. -document_colors_disabled=ليس مسموحًا لملفات PDF باستخدام ألوانها الخاصة: خيار 'اسمح للصفحات باختيار ألوانها الخاصة' ليس مُفعّلًا في المتصفح. +document_colors_not_allowed=ليس مسموحًا لملفات PDF باستخدام ألوانها الخاصة: خيار 'اسمح للصفحات باختيار ألوانها الخاصة' ليس مُفعّلًا في المتصفح. diff --git a/l10n/as/viewer.properties b/l10n/as/viewer.properties index 2e0c18c3..58ccd84e 100644 --- a/l10n/as/viewer.properties +++ b/l10n/as/viewer.properties @@ -169,4 +169,4 @@ password_cancel=বাতিল কৰক printing_not_supported=সতৰ্কবাৰ্তা: প্ৰিন্টিং এই ব্ৰাউছাৰ দ্বাৰা সম্পূৰ্ণভাৱে সমৰ্থিত নহয়। printing_not_ready=সতৰ্কবাৰ্তা: PDF প্ৰিন্টিংৰ বাবে সম্পূৰ্ণভাৱে ল'ডেড নহয়। web_fonts_disabled=ৱেব ফন্টসমূহ অসামৰ্থবান কৰা আছে: অন্তৰ্ভুক্ত PDF ফন্টসমূহ ব্যৱহাৰ কৰিবলে অক্ষম। -document_colors_disabled=PDF দস্তাবেজসমূহৰ সিহতৰ নিজস্ব ৰঙ ব্যৱহাৰ কৰাৰ অনুমতি নাই: ব্ৰাউছাৰত 'পৃষ্ঠাসমূহক সিহতৰ নিজস্ব ৰঙ নিৰ্বাচন কৰাৰ অনুমতি দিয়ক' অসামৰ্থবান কৰা আছে। +document_colors_not_allowed=PDF দস্তাবেজসমূহৰ সিহতৰ নিজস্ব ৰঙ ব্যৱহাৰ কৰাৰ অনুমতি নাই: ব্ৰাউছাৰত 'পৃষ্ঠাসমূহক সিহতৰ নিজস্ব ৰঙ নিৰ্বাচন কৰাৰ অনুমতি দিয়ক' অসামৰ্থবান কৰা আছে। diff --git a/l10n/az/viewer.properties b/l10n/az/viewer.properties index 7aae5bb8..b998838f 100644 --- a/l10n/az/viewer.properties +++ b/l10n/az/viewer.properties @@ -170,4 +170,4 @@ password_cancel=Ləğv et printing_not_supported=Xəbərdarlıq: Çap bu səyyah tərəfindən tam olaraq dəstəklənmir. printing_not_ready=Xəbərdarlıq: PDF çap üçün tam yüklənməyib. web_fonts_disabled=Web Şriftlər söndürülüb: yerləşdirilmiş PDF şriftlərini istifadə etmək mümkün deyil. -document_colors_disabled=PDF sənədlərə öz rənglərini işlətməyə icazə verilmir: 'Səhifələrə öz rənglərini istifadə etməyə icazə vermə' səyyahda söndürülüb. +document_colors_not_allowed=PDF sənədlərə öz rənglərini işlətməyə icazə verilmir: 'Səhifələrə öz rənglərini istifadə etməyə icazə vermə' səyyahda söndürülüb. diff --git a/l10n/bg/viewer.properties b/l10n/bg/viewer.properties index f91fc377..576cb567 100644 --- a/l10n/bg/viewer.properties +++ b/l10n/bg/viewer.properties @@ -170,4 +170,4 @@ password_cancel=Отказ printing_not_supported=Внимание: Този браузър няма пълна поддръжка на отпечатване. printing_not_ready=Внимание: Този PDF файл не е напълно зареден за печат. web_fonts_disabled=Уеб-шрифтовете са забранени: разрешаване на използването на вградените PDF шрифтове. -document_colors_disabled=На PDF-документите не е разрешено да използват собствени цветове: „Разрешаване на страниците да избират собствени цветове“ е изключено в браузъра. +document_colors_not_allowed=На PDF-документите не е разрешено да използват собствени цветове: „Разрешаване на страниците да избират собствени цветове“ е изключено в браузъра. diff --git a/l10n/bn-BD/viewer.properties b/l10n/bn-BD/viewer.properties index af37920f..b5e3048b 100644 --- a/l10n/bn-BD/viewer.properties +++ b/l10n/bn-BD/viewer.properties @@ -170,4 +170,4 @@ password_cancel=বাতিল printing_not_supported=সতর্কতা: এই ব্রাউজারে মুদ্রণ সম্পূর্ণভাবে সমর্থিত নয়। printing_not_ready=সতর্কীকরণ: পিডিএফটি মুদ্রণের জন্য সম্পূর্ণ লোড হয়নি। web_fonts_disabled=ওয়েব ফন্ট নিষ্ক্রিয়: সংযুক্ত পিডিএফ ফন্ট ব্যবহার করা যাচ্ছে না। -document_colors_disabled=পিডিএফ ডকুমেন্টকে তাদের নিজস্ব রঙ ব্যবহারে অনুমতি নেই: 'পাতা তাদের নিজেস্ব রঙ নির্বাচন করতে অনুমতি দিন' এই ব্রাউজারে নিষ্ক্রিয় রয়েছে। +document_colors_not_allowed=পিডিএফ ডকুমেন্টকে তাদের নিজস্ব রঙ ব্যবহারে অনুমতি নেই: 'পাতা তাদের নিজেস্ব রঙ নির্বাচন করতে অনুমতি দিন' এই ব্রাউজারে নিষ্ক্রিয় রয়েছে। diff --git a/l10n/bn-IN/viewer.properties b/l10n/bn-IN/viewer.properties index 743610a1..9aef9ffa 100644 --- a/l10n/bn-IN/viewer.properties +++ b/l10n/bn-IN/viewer.properties @@ -170,4 +170,4 @@ password_cancel=বাতিল করুন printing_not_supported=সতর্কবার্তা: এই ব্রাউজার দ্বারা প্রিন্ট ব্যবস্থা সম্পূর্ণরূপে সমর্থিত নয়। printing_not_ready=সতর্কবাণী: পিডিএফ সম্পূর্ণরূপে মুদ্রণের জন্য লোড করা হয় না. web_fonts_disabled=ওয়েব ফন্ট নিষ্ক্রিয় করা হয়েছে: এমবেডেড পিডিএফ ফন্ট ব্যবহার করতে অক্ষম. -document_colors_disabled=পিডিএফ নথি তাদের নিজস্ব রং ব্যবহার করার জন্য অনুমতিপ্রাপ্ত নয়: ব্রাউজারে নিষ্ক্রিয় করা হয়েছে য়েন 'পেজ তাদের নিজস্ব রং নির্বাচন করার অনুমতি প্রদান করা য়ায়।' +document_colors_not_allowed=পিডিএফ নথি তাদের নিজস্ব রং ব্যবহার করার জন্য অনুমতিপ্রাপ্ত নয়: ব্রাউজারে নিষ্ক্রিয় করা হয়েছে য়েন 'পেজ তাদের নিজস্ব রং নির্বাচন করার অনুমতি প্রদান করা য়ায়।' diff --git a/l10n/br/viewer.properties b/l10n/br/viewer.properties index 89c6f85b..f9672277 100644 --- a/l10n/br/viewer.properties +++ b/l10n/br/viewer.properties @@ -170,4 +170,4 @@ password_cancel=Nullañ printing_not_supported=Kemenn : N'eo ket skoret penn-da-benn ar moullañ gant ar merdeer-mañ. printing_not_ready=Kemenn : N'hall ket bezañ moullet ar restr PDF rak n'eo ket karget penn-da-benn. web_fonts_disabled=Diweredekaet eo an nodrezhoù web : n'haller ket arverañ an nodrezhoù PDF enframmet. -document_colors_disabled=N'eo ket aotreet an teuliadoù PDF da arverañ o livioù dezho : diweredekaet eo 'Aotren ar pajennoù da zibab o livioù dezho' e-barzh ar merdeer. +document_colors_not_allowed=N'eo ket aotreet an teuliadoù PDF da arverañ o livioù dezho : diweredekaet eo 'Aotren ar pajennoù da zibab o livioù dezho' e-barzh ar merdeer. diff --git a/l10n/bs/viewer.properties b/l10n/bs/viewer.properties index 575ffbfe..ccc8bec8 100644 --- a/l10n/bs/viewer.properties +++ b/l10n/bs/viewer.properties @@ -170,4 +170,4 @@ password_cancel=Otkaži printing_not_supported=Upozorenje: Štampanje nije u potpunosti podržano u ovom browseru. printing_not_ready=Upozorenje: PDF nije u potpunosti učitan za štampanje. web_fonts_disabled=Web fontovi su onemogućeni: nemoguće koristiti ubačene PDF fontove. -document_colors_disabled=PDF dokumentima nije dozvoljeno da koriste vlastite boje: 'Dozvoli stranicama da izaberu vlastite boje' je deaktivirano u browseru. +document_colors_not_allowed=PDF dokumentima nije dozvoljeno da koriste vlastite boje: 'Dozvoli stranicama da izaberu vlastite boje' je deaktivirano u browseru. diff --git a/l10n/ca/viewer.properties b/l10n/ca/viewer.properties index 8d63096e..6b85bb1b 100644 --- a/l10n/ca/viewer.properties +++ b/l10n/ca/viewer.properties @@ -170,4 +170,4 @@ password_cancel=Cancel·la printing_not_supported=Avís: la impressió no és plenament funcional en aquest navegador. printing_not_ready=Atenció: el PDF no s'ha acabat de carregar per imprimir-lo. web_fonts_disabled=Les fonts web estan inhabilitades: no es poden incrustar fitxers PDF. -document_colors_disabled=Els documents PDF no poden usar els seus colors propis: «Permet a les pàgines triar els colors propis» es troba desactivat al navegador. +document_colors_not_allowed=Els documents PDF no poden usar els seus colors propis: «Permet a les pàgines triar els colors propis» es troba desactivat al navegador. diff --git a/l10n/cy/viewer.properties b/l10n/cy/viewer.properties index 26b44958..37628159 100644 --- a/l10n/cy/viewer.properties +++ b/l10n/cy/viewer.properties @@ -170,4 +170,4 @@ password_cancel=Diddymu printing_not_supported=Rhybudd: Nid yw argraffu yn cael ei gynnal yn llawn gan y porwr. printing_not_ready=Rhybudd: Nid yw'r PDF wedi ei lwytho'n llawn ar gyfer argraffu. web_fonts_disabled=Ffontiau gwe wedi eu hanablu: methu defnyddio ffontiau PDF mewnblanedig. -document_colors_disabled=Nid oes caniatâd i ddogfennau PDF i ddefnyddio eu lliwiau eu hunain: Mae 'Caniatáu i dudalennau ddefnyddio eu lliwiau eu hunain' wedi ei atal yn y porwr. +document_colors_not_allowed=Nid oes caniatâd i ddogfennau PDF i ddefnyddio eu lliwiau eu hunain: Mae 'Caniatáu i dudalennau ddefnyddio eu lliwiau eu hunain' wedi ei atal yn y porwr. diff --git a/l10n/en-ZA/viewer.properties b/l10n/en-ZA/viewer.properties index 19304846..edb9fd0e 100644 --- a/l10n/en-ZA/viewer.properties +++ b/l10n/en-ZA/viewer.properties @@ -170,4 +170,4 @@ password_cancel=Cancel printing_not_supported=Warning: Printing is not fully supported by this browser. printing_not_ready=Warning: The PDF is not fully loaded for printing. web_fonts_disabled=Web fonts are disabled: unable to use embedded PDF fonts. -document_colors_disabled=PDF documents are not allowed to use their own colours: 'Allow pages to choose their own colours' is deactivated in the browser. +document_colors_not_allowed=PDF documents are not allowed to use their own colours: 'Allow pages to choose their own colours' is deactivated in the browser. diff --git a/l10n/es-CL/viewer.properties b/l10n/es-CL/viewer.properties index f5660c35..0c610e6d 100644 --- a/l10n/es-CL/viewer.properties +++ b/l10n/es-CL/viewer.properties @@ -127,4 +127,4 @@ password_cancel=Cancelar printing_not_supported = Advertencia: Imprimir no está soportado completamente por este navegador. printing_not_ready=Advertencia: El PDF no está completamente cargado para ser impreso. web_fonts_disabled=Las fuentes web están desactivadas: imposible usar las fuentes PDF embebidas. -document_colors_disabled=Los documentos PDF no tienen permitido usar sus propios colores: 'Permitir a las páginas elegir sus propios colores' está desactivado en el navegador. +document_colors_not_allowed=Los documentos PDF no tienen permitido usar sus propios colores: 'Permitir a las páginas elegir sus propios colores' está desactivado en el navegador. diff --git a/l10n/es-ES/viewer.properties b/l10n/es-ES/viewer.properties index 7086159c..54e17d21 100644 --- a/l10n/es-ES/viewer.properties +++ b/l10n/es-ES/viewer.properties @@ -97,7 +97,7 @@ page_scale_actual = Tamaño real page_scale_percent = {{scale}}% loading_error_indicator = Error loading_error = Ocurrió un error al cargar el PDF. -invalid_file_error = Fichero PDF no válido o dañado. +invalid_file_error = Fichero PDF no válido o corrupto. missing_file_error = No hay fichero PDF. unexpected_response_error = Respuesta inesperada del servidor. text_annotation_type.alt = [Anotación {{type}}] @@ -108,4 +108,4 @@ password_cancel = Cancelar printing_not_supported = Advertencia: Imprimir no está totalmente soportado por este navegador. printing_not_ready = Advertencia: Este PDF no se ha cargado completamente para poder imprimirse. web_fonts_disabled = Las tipografías web están desactivadas: es imposible usar las tipografías PDF embebidas. -document_colors_disabled = Los documentos PDF no tienen permitido usar sus propios colores: 'Permitir a las páginas elegir sus propios colores' está desactivado en el navegador. +document_colors_not_allowed = Los documentos PDF no tienen permitido usar sus propios colores: 'Permitir a las páginas elegir sus propios colores' está desactivado en el navegador. diff --git a/l10n/es-MX/viewer.properties b/l10n/es-MX/viewer.properties index 1cfd03a3..4b85e8ff 100644 --- a/l10n/es-MX/viewer.properties +++ b/l10n/es-MX/viewer.properties @@ -170,4 +170,4 @@ password_cancel=Cancelar printing_not_supported=Advertencia: La impresión no esta completamente soportada por este navegador. printing_not_ready=Advertencia: El PDF no cargo completamente para impresión. web_fonts_disabled=Las fuentes web están desactivadas: es imposible usar las fuentes PDF embebidas. -document_colors_disabled=Los documentos PDF no tienen permiso de usar sus propios colores: 'Permitir que las páginas elijan sus propios colores' esta desactivada en el navegador. +document_colors_not_allowed=Los documentos PDF no tienen permiso de usar sus propios colores: 'Permitir que las páginas elijan sus propios colores' esta desactivada en el navegador. diff --git a/l10n/eu/viewer.properties b/l10n/eu/viewer.properties index 15a3b093..c3029896 100644 --- a/l10n/eu/viewer.properties +++ b/l10n/eu/viewer.properties @@ -170,4 +170,4 @@ password_cancel=Utzi printing_not_supported=Abisua: inprimatzeko euskarria ez da erabatekoa nabigatzaile honetan. printing_not_ready=Abisua: PDFa ez dago erabat kargatuta inprimatzeko. web_fonts_disabled=Webeko letra-tipoak desgaituta daude: ezin dira kapsulatutako PDF letra-tipoak erabili. -document_colors_disabled=PDF dokumentuek ez dute beraien koloreak erabiltzeko baimenik: 'Baimendu orriak beraien letra-tipoak aukeratzea' desaktibatuta dago nabigatzailean. +document_colors_not_allowed=PDF dokumentuek ez dute beraien koloreak erabiltzeko baimenik: 'Baimendu orriak beraien letra-tipoak aukeratzea' desaktibatuta dago nabigatzailean. diff --git a/l10n/fa/viewer.properties b/l10n/fa/viewer.properties index b9029e81..28f2cb65 100644 --- a/l10n/fa/viewer.properties +++ b/l10n/fa/viewer.properties @@ -38,7 +38,7 @@ print.title=چاپ print_label=چاپ download.title=بارگیری download_label=بارگیری -bookmark.title=نمای فعلی (کپی کن، یا در پنجرۀ دیگری نشان بده) +bookmark.title=نمای فعلی (رونوشت و یا نشان دادن در پنجره جدید) bookmark_label=نمای فعلی # Secondary toolbar and context menu @@ -170,4 +170,4 @@ password_cancel=انصراف printing_not_supported=هشدار: قابلیت چاپ به‌طور کامل در این مرورگر پشتیبانی نمی‌شود. printing_not_ready=اخطار: پرونده PDF بطور کامل بارگیری نشده و امکان چاپ وجود ندارد. web_fonts_disabled=فونت های تحت وب غیر فعال شده اند: امکان استفاده از نمایش دهنده داخلی PDF وجود ندارد. -document_colors_disabled=فایلهای PDF نمیتوانند که رنگ های خود را داشته باشند. لذا گزینه 'اجازه تغییر رنگ" در مرورگر غیر فعال شده است. +document_colors_not_allowed=فایلهای PDF نمیتوانند که رنگ های خود را داشته باشند. لذا گزینه 'اجازه تغییر رنگ" در مرورگر غیر فعال شده است. diff --git a/l10n/ff/viewer.properties b/l10n/ff/viewer.properties index 5e9781a9..026c4bf2 100644 --- a/l10n/ff/viewer.properties +++ b/l10n/ff/viewer.properties @@ -170,4 +170,4 @@ password_cancel=Haaytu printing_not_supported=Reentino: Winnditagol tammbitaaka no feewi e ndee wanngorde. printing_not_ready=Reentino: PDF oo loowaaki haa timmi ngam winnditagol. web_fonts_disabled=Ponte geese ko daaƴaaɗe: horiima huutoraade ponte PDF coomtoraaɗe. -document_colors_disabled=Piilanɗe PDF njamiraaka yoo kuutoro goobuuji mum'en keeriiɗi: 'Yamir kello yoo kuutoro goobuuki keeriiɗi' koko daaƴaa e wanngorde ndee. +document_colors_not_allowed=Piilanɗe PDF njamiraaka yoo kuutoro goobuuji mum'en keeriiɗi: 'Yamir kello yoo kuutoro goobuuki keeriiɗi' koko daaƴaa e wanngorde ndee. diff --git a/l10n/ga-IE/viewer.properties b/l10n/ga-IE/viewer.properties index 0a638bdc..7fa5076f 100644 --- a/l10n/ga-IE/viewer.properties +++ b/l10n/ga-IE/viewer.properties @@ -170,4 +170,4 @@ password_cancel=Cealaigh printing_not_supported=Rabhadh: Ní thacaíonn an brabhsálaí le priontáil go hiomlán. printing_not_ready=Rabhadh: Ní féidir an PDF a phriontáil go dtí go mbeidh an cháipéis iomlán luchtaithe. web_fonts_disabled=Tá clófhoirne Gréasáin díchumasaithe: ní féidir clófhoirne leabaithe PDF a úsáid. -document_colors_disabled=Níl cead ag cáipéisí PDF a ndathanna féin a roghnú; tá 'Tabhair cead do leathanaigh a ndathanna féin a roghnú' díchumasaithe sa mbrabhsálaí. +document_colors_not_allowed=Níl cead ag cáipéisí PDF a ndathanna féin a roghnú; tá 'Tabhair cead do leathanaigh a ndathanna féin a roghnú' díchumasaithe sa mbrabhsálaí. diff --git a/l10n/gd/viewer.properties b/l10n/gd/viewer.properties index 5826d2e7..509b71b2 100644 --- a/l10n/gd/viewer.properties +++ b/l10n/gd/viewer.properties @@ -170,4 +170,4 @@ password_cancel=Sguir dheth printing_not_supported=Rabhadh: Chan eil am brabhsair seo a' cur làn-taic ri clò-bhualadh. printing_not_ready=Rabhadh: Cha deach am PDF a luchdadh gu tur airson clò-bhualadh. web_fonts_disabled=Tha cruthan-clò lìn à comas: Chan urrainn dhuinn cruthan-clò PDF leabaichte a chleachdadh. -document_colors_disabled=Chan fhaod sgrìobhainnean PDF na dathan aca fhèin a chleachdadh: Tha "Leig le duilleagan na dathan aca fhèin a chleachdadh" à comas sa bhrabhsair. +document_colors_not_allowed=Chan fhaod sgrìobhainnean PDF na dathan aca fhèin a chleachdadh: Tha "Leig le duilleagan na dathan aca fhèin a chleachdadh" à comas sa bhrabhsair. diff --git a/l10n/gu-IN/viewer.properties b/l10n/gu-IN/viewer.properties index e0d371ef..df6bb15b 100644 --- a/l10n/gu-IN/viewer.properties +++ b/l10n/gu-IN/viewer.properties @@ -164,4 +164,4 @@ password_cancel=રદ કરો printing_not_supported=ચેતવણી: છાપવાનું આ બ્રાઉઝર દ્દારા સંપૂર્ણપણે આધારભૂત નથી. printing_not_ready=Warning: PDF એ છાપવા માટે સંપૂર્ણપણે લાવેલ છે. web_fonts_disabled=વેબ ફોન્ટ નિષ્ક્રિય થયેલ છે: ઍમ્બેડ થયેલ PDF ફોન્ટને વાપરવાનું અસમર્થ. -document_colors_disabled=PDF દસ્તાવેજો તેનાં પોતાના રંગોને વાપરવા પરવાનગી આપતા નથી: 'તેનાં પોતાનાં રંગોને પસંદ કરવા માટે પાનાંને પરવાનગી આપો' બ્રાઉઝરમાં નિષ્ક્રિય થયેલ છે. +document_colors_not_allowed=PDF દસ્તાવેજો તેનાં પોતાના રંગોને વાપરવા પરવાનગી આપતા નથી: 'તેનાં પોતાનાં રંગોને પસંદ કરવા માટે પાનાંને પરવાનગી આપો' બ્રાઉઝરમાં નિષ્ક્રિય થયેલ છે. diff --git a/l10n/hi-IN/viewer.properties b/l10n/hi-IN/viewer.properties index 98e5f25d..d65eb921 100644 --- a/l10n/hi-IN/viewer.properties +++ b/l10n/hi-IN/viewer.properties @@ -170,4 +170,4 @@ password_cancel=रद्द करें printing_not_supported=चेतावनी: इस ब्राउज़र पर छपाई पूरी तरह से समर्थित नहीं है. printing_not_ready=\u0020चेतावनी: पीडीएफ छपाई के लिए पूरी तरह से लोड नहीं है. web_fonts_disabled=वेब फॉन्ट्स निष्क्रिय हैं: अंतःस्थापित PDF फॉन्टस के उपयोग में असमर्थ. -document_colors_disabled=PDF दस्तावेज़ उनके अपने रंग को उपयोग करने के लिए अनुमति प्राप्त नहीं है: 'पृष्ठों को उनके अपने रंग को चुनने के लिए स्वीकृति दें कि वह उस ब्राउज़र में निष्क्रिय है. +document_colors_not_allowed=PDF दस्तावेज़ उनके अपने रंग को उपयोग करने के लिए अनुमति प्राप्त नहीं है: 'पृष्ठों को उनके अपने रंग को चुनने के लिए स्वीकृति दें कि वह उस ब्राउज़र में निष्क्रिय है. diff --git a/l10n/hr/viewer.properties b/l10n/hr/viewer.properties index c60ea853..b163fdb6 100644 --- a/l10n/hr/viewer.properties +++ b/l10n/hr/viewer.properties @@ -170,4 +170,4 @@ password_cancel=Odustani printing_not_supported=Upozorenje: Ispisivanje nije potpuno podržano u ovom pregledniku. printing_not_ready=Upozorenje: PDF nije u potpunosti učitan za ispis. web_fonts_disabled=Web fontovi su onemogućeni: nije moguće koristiti umetnute PDF fontove. -document_colors_disabled=PDF dokumenti nemaju dopuštene koristiti vlastite boje: opcija 'Dopusti stranicama da koriste vlastite boje' je deaktivirana. +document_colors_not_allowed=PDF dokumenti nemaju dopuštene koristiti vlastite boje: opcija 'Dopusti stranicama da koriste vlastite boje' je deaktivirana. diff --git a/l10n/hu/viewer.properties b/l10n/hu/viewer.properties index 384da310..549137ce 100644 --- a/l10n/hu/viewer.properties +++ b/l10n/hu/viewer.properties @@ -170,4 +170,4 @@ password_cancel=Mégse printing_not_supported=Figyelmeztetés: Ez a böngésző nem teljesen támogatja a nyomtatást. printing_not_ready=Figyelmeztetés: A PDF nincs teljesen betöltve a nyomtatáshoz. web_fonts_disabled=Webes betűkészletek letiltva: nem használhatók a beágyazott PDF betűkészletek. -document_colors_disabled=A PDF dokumentumok nem használhatják saját színeiket: „Az oldalak a saját maguk által kiválasztott színeket használhatják” beállítás ki van kapcsolva a böngészőben. +document_colors_not_allowed=A PDF dokumentumok nem használhatják saját színeiket: „Az oldalak a saját maguk által kiválasztott színeket használhatják” beállítás ki van kapcsolva a böngészőben. diff --git a/l10n/hy-AM/viewer.properties b/l10n/hy-AM/viewer.properties index c28a9e71..d4905171 100644 --- a/l10n/hy-AM/viewer.properties +++ b/l10n/hy-AM/viewer.properties @@ -170,4 +170,4 @@ password_cancel=Չեղարկել printing_not_supported=Զգուշացում. Տպելը ամբողջությամբ չի աջակցվում դիտարկիչի կողմից։ printing_not_ready=Զգուշացում. PDF-ը ամբողջությամբ չի բեռնավորվել տպելու համար: web_fonts_disabled=Վեբ-տառատեսակները անջատված են. հնարավոր չէ օգտագործել ներկառուցված PDF տառատեսակները: -document_colors_disabled=PDF փաստաթղթերին թույլատրված չէ օգտագործել իրենց սեփական գույները: 'Թույլատրել էջերին ընտրել իրենց սեփական գույները' ընտրանքը անջատված է դիտարկիչում: +document_colors_not_allowed=PDF փաստաթղթերին թույլատրված չէ օգտագործել իրենց սեփական գույները: 'Թույլատրել էջերին ընտրել իրենց սեփական գույները' ընտրանքը անջատված է դիտարկիչում: diff --git a/l10n/id/viewer.properties b/l10n/id/viewer.properties index 26475f44..762a472e 100644 --- a/l10n/id/viewer.properties +++ b/l10n/id/viewer.properties @@ -170,4 +170,4 @@ password_cancel=Batal printing_not_supported=Peringatan: Pencetakan tidak didukung secara lengkap pada peramban ini. printing_not_ready=Peringatan: Berkas PDF masih belum dimuat secara lengkap untuk dapat dicetak. web_fonts_disabled=Font web dinonaktifkan: tidak dapat menggunakan font PDF yang tersemat. -document_colors_disabled=Dokumen PDF tidak diizinkan untuk menggunakan warnanya sendiri karena setelan 'Izinkan laman memilih warna sendiri' dinonaktifkan pada pengaturan. +document_colors_not_allowed=Dokumen PDF tidak diizinkan untuk menggunakan warnanya sendiri karena setelan 'Izinkan laman memilih warna sendiri' dinonaktifkan pada pengaturan. diff --git a/l10n/is/viewer.properties b/l10n/is/viewer.properties index faa8829b..e969f4eb 100644 --- a/l10n/is/viewer.properties +++ b/l10n/is/viewer.properties @@ -170,4 +170,4 @@ password_cancel=Hætta við printing_not_supported=Aðvörun: Prentun er ekki með fyllilegan stuðning á þessum vafra. printing_not_ready=Aðvörun: Ekki er búið að hlaða inn allri PDF skránni fyrir prentun. web_fonts_disabled=Vef leturgerðir eru óvirkar: get ekki notað innbyggðar PDF leturgerðir. -document_colors_disabled=PDF skjöl hafa ekki leyfi til að nota sína eigin liti: 'Leyfa síðum að velja eigin liti' er óvirkt í vafranum. +document_colors_not_allowed=PDF skjöl hafa ekki leyfi til að nota sína eigin liti: 'Leyfa síðum að velja eigin liti' er óvirkt í vafranum. diff --git a/l10n/kk/viewer.properties b/l10n/kk/viewer.properties index 5a15a9a1..39e7118b 100644 --- a/l10n/kk/viewer.properties +++ b/l10n/kk/viewer.properties @@ -170,4 +170,4 @@ password_cancel=Бас тарту printing_not_supported=Ескерту: Баспаға шығаруды бұл браузер толығымен қолдамайды. printing_not_ready=Ескерту: Баспаға шығару үшін, бұл PDF толығымен жүктеліп алынбады. web_fonts_disabled=Веб қаріптері сөндірілген: құрамына енгізілген PDF қаріптерін қолдану мүмкін емес. -document_colors_disabled=PDF құжаттарына өздік түстерді қолдану рұқсат етілмеген: бұл браузерде 'Веб-сайттарға өздерінің түстерін қолдануға рұқсат беру' мүмкіндігі сөндірулі тұр. +document_colors_not_allowed=PDF құжаттарына өздік түстерді қолдану рұқсат етілмеген: бұл браузерде 'Веб-сайттарға өздерінің түстерін қолдануға рұқсат беру' мүмкіндігі сөндірулі тұр. diff --git a/l10n/km/viewer.properties b/l10n/km/viewer.properties index 69a0670c..87f700e6 100644 --- a/l10n/km/viewer.properties +++ b/l10n/km/viewer.properties @@ -170,4 +170,4 @@ password_cancel=បោះបង់ printing_not_supported=ការ​ព្រមាន ៖ កា​រ​បោះពុម្ព​មិន​ត្រូវ​បាន​គាំទ្រ​ពេញលេញ​ដោយ​កម្មវិធី​រុករក​នេះ​ទេ ។ printing_not_ready=ព្រមាន៖ PDF មិន​ត្រូវ​បាន​ផ្ទុក​ទាំងស្រុង​ដើម្បី​បោះពុម្ព​ទេ។ web_fonts_disabled=បាន​បិទ​ពុម្ពអក្សរ​បណ្ដាញ ៖ មិន​អាច​ប្រើ​ពុម្ពអក្សរ PDF ដែល​បាន​បង្កប់​បាន​ទេ ។ -document_colors_disabled=ឯកសារ PDF មិន​ត្រូវ​បាន​អនុញ្ញាត​ឲ្យ​ប្រើ​ពណ៌​ផ្ទាល់​របស់​វា​ទេ៖ 'អនុញ្ញាត​​ឲ្យ​ទំព័រ​ជ្រើស​ពណ៌​ផ្ទាល់​ខ្លួន' ត្រូវ​បាន​ធ្វើ​ឲ្យ​អសកម្ម​ក្នុង​​កម្មវិធី​រុករក។ +document_colors_not_allowed=ឯកសារ PDF មិន​ត្រូវ​បាន​អនុញ្ញាត​ឲ្យ​ប្រើ​ពណ៌​ផ្ទាល់​របស់​វា​ទេ៖ 'អនុញ្ញាត​​ឲ្យ​ទំព័រ​ជ្រើស​ពណ៌​ផ្ទាល់​ខ្លួន' ត្រូវ​បាន​ធ្វើ​ឲ្យ​អសកម្ម​ក្នុង​​កម្មវិធី​រុករក។ diff --git a/l10n/kn/viewer.properties b/l10n/kn/viewer.properties index ba130234..f206717d 100644 --- a/l10n/kn/viewer.properties +++ b/l10n/kn/viewer.properties @@ -170,4 +170,4 @@ password_cancel=ರದ್ದು ಮಾಡು printing_not_supported=ಎಚ್ಚರಿಕೆ: ಈ ಜಾಲವೀಕ್ಷಕದಲ್ಲಿ ಮುದ್ರಣಕ್ಕೆ ಸಂಪೂರ್ಣ ಬೆಂಬಲವಿಲ್ಲ. printing_not_ready=ಎಚ್ಚರಿಕೆ: PDF ಕಡತವು ಮುದ್ರಿಸಲು ಸಂಪೂರ್ಣವಾಗಿ ಲೋಡ್ ಆಗಿಲ್ಲ. web_fonts_disabled=ಜಾಲ ಅಕ್ಷರಶೈಲಿಯನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ: ಅಡಕಗೊಳಿಸಿದ PDF ಅಕ್ಷರಶೈಲಿಗಳನ್ನು ಬಳಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ. -document_colors_disabled=PDF ದಸ್ತಾವೇಜುಗಳು ತಮ್ಮದೆ ಆದ ಬಣ್ಣಗಳನ್ನು ಬಳಸಲು ಅನುಮತಿ ಇರುವುದಿಲ್ಲ: 'ಪುಟಗಳು ತಮ್ಮದೆ ಆದ ಬಣ್ಣವನ್ನು ಆಯ್ಕೆ ಮಾಡಲು ಅನುಮತಿಸು' ಅನ್ನು ಜಾಲವೀಕ್ಷಕದಲ್ಲಿ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿರುತ್ತದೆ. +document_colors_not_allowed=PDF ದಸ್ತಾವೇಜುಗಳು ತಮ್ಮದೆ ಆದ ಬಣ್ಣಗಳನ್ನು ಬಳಸಲು ಅನುಮತಿ ಇರುವುದಿಲ್ಲ: 'ಪುಟಗಳು ತಮ್ಮದೆ ಆದ ಬಣ್ಣವನ್ನು ಆಯ್ಕೆ ಮಾಡಲು ಅನುಮತಿಸು' ಅನ್ನು ಜಾಲವೀಕ್ಷಕದಲ್ಲಿ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿರುತ್ತದೆ. diff --git a/l10n/ku/viewer.properties b/l10n/ku/viewer.properties index 1f8e177d..8f40dbac 100644 --- a/l10n/ku/viewer.properties +++ b/l10n/ku/viewer.properties @@ -144,4 +144,4 @@ password_cancel=Betal printing_not_supported=Hişyarî: Çapkirin ji hêla vê gerokê ve bi temamî nayê destekirin. printing_not_ready=Hişyarî: PDF bi temamî nehat barkirin û ji bo çapê ne amade ye. web_fonts_disabled=Fontên Webê neçalak in: Fontên PDFê yên veşartî nayên bikaranîn. -document_colors_disabled=Destûr tune ye ku belgeyên PDFê rengên xwe bi kar bînin: Di gerokê de 'destûrê bide rûpelan ku rengên xwe bi kar bînin' nehatiye çalakirin. +document_colors_not_allowed=Destûr tune ye ku belgeyên PDFê rengên xwe bi kar bînin: Di gerokê de 'destûrê bide rûpelan ku rengên xwe bi kar bînin' nehatiye çalakirin. diff --git a/l10n/lij/viewer.properties b/l10n/lij/viewer.properties index ec3c5237..04445c0e 100644 --- a/l10n/lij/viewer.properties +++ b/l10n/lij/viewer.properties @@ -73,7 +73,7 @@ invalid_file_error = O file PDF o l'é no valido ò aroinou. web_fonts_disabled = I font do web en dizativæ: inposcibile adeuviâ i carateri do PDF. printing_not_ready = Atençion: o PDF o no l'é ancon caregou conpletamente pe-a stanpa. -document_colors_disabled = No l'é poscibile adeuviâ i pròpi coî pe-i documenti PDF: l'opçion do navegatô 'Permetti a-e pagine de çerne i pròpi coî in cangio de quelli inpostæ' a l'é dizativa. +document_colors_not_allowed = No l'é poscibile adeuviâ i pròpi coî pe-i documenti PDF: l'opçion do navegatô “Permetti a-e pagine de çerne i pròpi coî in cangio de quelli inpostæ” a l'é dizativâ. text_annotation_type.alt = [Anotaçion: {{type}}] first_page.title = Vanni a-a primma pagina diff --git a/l10n/lt/viewer.properties b/l10n/lt/viewer.properties index 81310c2c..e2f50b9c 100644 --- a/l10n/lt/viewer.properties +++ b/l10n/lt/viewer.properties @@ -170,4 +170,4 @@ password_cancel=Atsisakyti printing_not_supported=Dėmesio! Spausdinimas šioje naršyklėje nėra pilnai realizuotas. printing_not_ready=Dėmesio! PDF failas dar nėra pilnai įkeltas spausdinimui. web_fonts_disabled=Neįgalinti saityno šriftai – šiame PDF faile esančių šriftų naudoti negalima. -document_colors_disabled=PDF dokumentams neleidžiama nurodyti savo spalvų, nes išjungta naršyklės nuostata „Leisti tinklalapiams nurodyti spalvas“. +document_colors_not_allowed=PDF dokumentams neleidžiama nurodyti savo spalvų, nes išjungta naršyklės nuostata „Leisti tinklalapiams nurodyti spalvas“. diff --git a/l10n/lv/viewer.properties b/l10n/lv/viewer.properties index 1418687c..58aa9532 100644 --- a/l10n/lv/viewer.properties +++ b/l10n/lv/viewer.properties @@ -170,4 +170,4 @@ password_cancel=Atcelt printing_not_supported=Uzmanību: Drukāšana no šī pārlūka darbojas tikai daļēji. printing_not_ready=Uzmanību: PDF nav pilnībā ielādēts drukāšanai. web_fonts_disabled=Tīmekļa fonti nav aktivizēti: Nevar iegult PDF fontus. -document_colors_disabled=PDF dokumentiem nav atļauts izmantot pašiem savas krāsas: „Atļaut lapām izvēlēties pašām savas krāsas“ ir deaktivēts pārlūkā. +document_colors_not_allowed=PDF dokumentiem nav atļauts izmantot pašiem savas krāsas: „Atļaut lapām izvēlēties pašām savas krāsas“ ir deaktivēts pārlūkā. diff --git a/l10n/mai/viewer.properties b/l10n/mai/viewer.properties index b84cbba5..4eb0b17a 100644 --- a/l10n/mai/viewer.properties +++ b/l10n/mai/viewer.properties @@ -170,4 +170,4 @@ password_cancel=रद्द करू\u0020 printing_not_supported=चेतावनी: ई ब्राउजर पर छपाइ पूर्ण तरह सँ समर्थित नहि अछि. printing_not_ready=चेतावनी: पीडीएफ छपाइक लेल पूर्ण तरह सँ लोड नहि अछि. web_fonts_disabled=वेब फॉन्ट्स निष्क्रिय अछि: अंतःस्थापित PDF फान्टसक उपयोगमे असमर्थ. -document_colors_disabled=PDF दस्तावेज़ हुकर अपन रंग केँ उपयोग करबाक लेल अनुमति प्राप्त नहि अछि: 'पृष्ठ केँ हुकर अपन रंग केँ चुनबाक लेल स्वीकृति दिअ जे ओ ओहि ब्राउज़र मे निष्क्रिय अछि. +document_colors_not_allowed=PDF दस्तावेज़ हुकर अपन रंग केँ उपयोग करबाक लेल अनुमति प्राप्त नहि अछि: 'पृष्ठ केँ हुकर अपन रंग केँ चुनबाक लेल स्वीकृति दिअ जे ओ ओहि ब्राउज़र मे निष्क्रिय अछि. diff --git a/l10n/ml/viewer.properties b/l10n/ml/viewer.properties index 27fa99b5..084d8772 100644 --- a/l10n/ml/viewer.properties +++ b/l10n/ml/viewer.properties @@ -170,4 +170,4 @@ password_cancel=റദ്ദാക്കുക printing_not_supported=മുന്നറിയിപ്പു്: ഈ ബ്രൌസര്‍ പൂര്‍ണ്ണമായി പ്രിന്റിങ് പിന്തുണയ്ക്കുന്നില്ല. printing_not_ready=മുന്നറിയിപ്പു്: പ്രിന്റ് ചെയ്യുന്നതിനു് പിഡിഎഫ് പൂര്‍ണ്ണമായി ലഭ്യമല്ല. web_fonts_disabled=വെബിനുള്ള അക്ഷരസഞ്ചയങ്ങള്‍ പ്രവര്‍ത്തന രഹിതം: എംബഡ്ഡ് ചെയ്ത പിഡിഎഫ് അക്ഷരസഞ്ചയങ്ങള്‍ ഉപയോഗിയ്ക്കുവാന്‍ സാധ്യമല്ല. -document_colors_disabled=സ്വന്തം നിറങ്ങള്‍ ഉപയോഗിയ്ക്കുവാന്‍ പിഡിഎഫ് രേഖകള്‍ക്കു് അനുവാദമില്ല: 'സ്വന്തം നിറങ്ങള്‍ ഉപയോഗിയ്ക്കുവാന്‍ താളുകളെ അനുവദിയ്ക്കുക' എന്നതു് ബ്രൌസറില്‍ നിര്‍ജീവമാണു്. +document_colors_not_allowed=സ്വന്തം നിറങ്ങള്‍ ഉപയോഗിയ്ക്കുവാന്‍ പിഡിഎഫ് രേഖകള്‍ക്കു് അനുവാദമില്ല: 'സ്വന്തം നിറങ്ങള്‍ ഉപയോഗിയ്ക്കുവാന്‍ താളുകളെ അനുവദിയ്ക്കുക' എന്നതു് ബ്രൌസറില്‍ നിര്‍ജീവമാണു്. diff --git a/l10n/mr/viewer.properties b/l10n/mr/viewer.properties index 417c6d4c..b96782d3 100644 --- a/l10n/mr/viewer.properties +++ b/l10n/mr/viewer.properties @@ -170,4 +170,4 @@ password_cancel=रद्द करा printing_not_supported=सावधानता: या ब्राउजरतर्फे छपाइ पूर्णपणे समर्थीत नाही. printing_not_ready=सावधानता: छपाईकरिता PDF पूर्णतया लोड झाले नाही. web_fonts_disabled=वेब फाँट्स असमर्थीत आहेत: एम्बेडेड PDF फाँट्स्चा वापर अशक्य. -document_colors_disabled=PDF दस्ताएवजांना त्यांचे रंग वापरण्यास अनुमती नाही: ब्राउजरमध्ये ' पानांना त्यांचे रंग निवडण्यास अनुमती द्या' बंद केले आहे. +document_colors_not_allowed=PDF दस्ताएवजांना त्यांचे रंग वापरण्यास अनुमती नाही: ब्राउजरमध्ये ' पानांना त्यांचे रंग निवडण्यास अनुमती द्या' बंद केले आहे. diff --git a/l10n/ms/viewer.properties b/l10n/ms/viewer.properties index d5e8dec3..cc6b70b0 100644 --- a/l10n/ms/viewer.properties +++ b/l10n/ms/viewer.properties @@ -168,4 +168,4 @@ password_cancel=Batal printing_not_supported=Amaran: Cetakan ini tidak sepenuhnya disokong oleh pelayar ini. printing_not_ready=Amaran: PDF tidak sepenuhnya dimuatkan untuk dicetak. web_fonts_disabled=Fon web dilumpuhkan: tidak dapat fon PDF terbenam. -document_colors_disabled=Dokumen PDF tidak dibenarkan untuk menggunakan warna sendiri: 'Benarkan muka surat untuk memilih warna sendiri' telah dinyahaktif dalam pelayar. +document_colors_not_allowed=Dokumen PDF tidak dibenarkan untuk menggunakan warna sendiri: 'Benarkan muka surat untuk memilih warna sendiri' telah dinyahaktif dalam pelayar. diff --git a/l10n/my/viewer.properties b/l10n/my/viewer.properties index 2723a944..303a9db8 100644 --- a/l10n/my/viewer.properties +++ b/l10n/my/viewer.properties @@ -170,4 +170,4 @@ password_cancel=ပယ်​ဖျက်ပါ printing_not_supported=သတိပေးချက်၊ပရင့်ထုတ်ခြင်းကိုဤဘယောက်ဆာသည် ပြည့်ဝစွာထောက်ပံ့မထားပါ ။ printing_not_ready=သတိပေးချက်: ယခု PDF ဖိုင်သည် ပုံနှိပ်ရန် မပြည့်စုံပါ web_fonts_disabled=Web fonts are disabled: unable to use embedded PDF fonts. -document_colors_disabled=PDF ဖိုင်အား ၎င်းဤ ကိုယ်ပိုင်အရောင်များကို အသုံးပြုခွင့်မပေးထားပါ ။ 'စာမျက်နှာအားလုံးအားအရောင်ရွေးချယ်ခွင့်' အား ယခု ဘယောက်ဆာတွင် ပိတ်ထားခြင်းကြောင့်ဖြစ် သှ် +document_colors_not_allowed=PDF ဖိုင်အား ၎င်းဤ ကိုယ်ပိုင်အရောင်များကို အသုံးပြုခွင့်မပေးထားပါ ။ 'စာမျက်နှာအားလုံးအားအရောင်ရွေးချယ်ခွင့်' အား ယခု ဘယောက်ဆာတွင် ပိတ်ထားခြင်းကြောင့်ဖြစ် သှ် diff --git a/l10n/oc/viewer.properties b/l10n/oc/viewer.properties index aa445711..d9a91657 100644 --- a/l10n/oc/viewer.properties +++ b/l10n/oc/viewer.properties @@ -30,7 +30,7 @@ zoom_out_label=Zoom arrièr zoom_in.title=Zoom avant zoom_in_label=Zoom avant zoom.title=Zoom -presentation_mode.title=Bascuolar en mòde presentacion +presentation_mode.title=Bascular en mòde presentacion presentation_mode_label=Mòde Presentacion open_file.title=Dobrir lo fichièr open_file_label=Dobrir @@ -168,4 +168,4 @@ password_cancel=Anullar printing_not_supported=Atencion : l'estampatge es pas completament gerit per aqueste navigador. printing_not_ready=Atencion : lo PDF es pas entièrament cargat per lo poder imprimir. web_fonts_disabled=Las poliças web son desactivadas : impossible d'utilizar las poliças integradas al PDF. -document_colors_disabled=Los documents PDF pòdon pas utilizar lors pròprias colors : « Autorizar las paginas web d'utilizar lors pròprias colors » es desactivat dins lo navigador. +document_colors_not_allowed=Los documents PDF pòdon pas utilizar lors pròprias colors : « Autorizar las paginas web d'utilizar lors pròprias colors » es desactivat dins lo navigador. diff --git a/l10n/or/viewer.properties b/l10n/or/viewer.properties index 8258c563..279407d9 100644 --- a/l10n/or/viewer.properties +++ b/l10n/or/viewer.properties @@ -169,4 +169,4 @@ password_cancel=ବାତିଲ କରନ୍ତୁ printing_not_supported=ଚେତାବନୀ: ଏହି ବ୍ରାଉଜର ଦ୍ୱାରା ମୁଦ୍ରଣ କ୍ରିୟା ସମ୍ପୂର୍ଣ୍ଣ ଭାବରେ ସହାୟତା ପ୍ରାପ୍ତ ନୁହଁ। printing_not_ready=ଚେତାବନୀ: PDF ଟି ମୁଦ୍ରଣ ପାଇଁ ସମ୍ପୂର୍ଣ୍ଣ ଭାବରେ ଧାରଣ ହୋଇ ନାହିଁ। web_fonts_disabled=ୱେବ ଅକ୍ଷରରୂପଗୁଡ଼ିକୁ ନିଷ୍କ୍ରିୟ କରାଯାଇଛି: ସନ୍ନିହିତ PDF ଅକ୍ଷରରୂପଗୁଡ଼ିକୁ ବ୍ୟବହାର କରିବାରେ ଅସମର୍ଥ। -document_colors_disabled=PDF ଦଲିଲଗୁଡ଼ିକ ସେମାନଙ୍କର ନିଜର ରଙ୍ଗ ବ୍ୟବହାର କରିବା ପାଇଁ ଅନୁମତି ପ୍ରାପ୍ତ ନୁହଁ: 'ସେମାନଙ୍କର ନିଜ ରଙ୍ଗ ବାଛିବା ପାଇଁ ପୃଷ୍ଠାଗୁଡ଼ିକୁ ଅନୁମତି ଦିଅନ୍ତୁ' କୁ ବ୍ରାଉଜରରେ ନିଷ୍କ୍ରିୟ କରାଯାଇଛି। +document_colors_not_allowed=PDF ଦଲିଲଗୁଡ଼ିକ ସେମାନଙ୍କର ନିଜର ରଙ୍ଗ ବ୍ୟବହାର କରିବା ପାଇଁ ଅନୁମତି ପ୍ରାପ୍ତ ନୁହଁ: 'ସେମାନଙ୍କର ନିଜ ରଙ୍ଗ ବାଛିବା ପାଇଁ ପୃଷ୍ଠାଗୁଡ଼ିକୁ ଅନୁମତି ଦିଅନ୍ତୁ' କୁ ବ୍ରାଉଜରରେ ନିଷ୍କ୍ରିୟ କରାଯାଇଛି। diff --git a/l10n/pl/viewer.properties b/l10n/pl/viewer.properties index 143c52ae..d52c8801 100644 --- a/l10n/pl/viewer.properties +++ b/l10n/pl/viewer.properties @@ -149,4 +149,4 @@ password_cancel=Anuluj printing_not_supported=Ostrzeżenie: Drukowanie nie jest w pełni wspierane przez przeglądarkę. printing_not_ready=Ostrzeżenie: Dokument PDF nie jest całkowicie wczytany, więc nie można go wydrukować. web_fonts_disabled=Czcionki sieciowe są wyłączone: nie można użyć osadzonych czcionek PDF. -document_colors_disabled=Dokumenty PDF nie mogą używać własnych kolorów: Opcja „Pozwalaj stronom stosować inne kolory” w przeglądarce jest nieaktywna. +document_colors_not_allowed=Dokumenty PDF nie mogą używać własnych kolorów: Opcja „Pozwalaj stronom stosować inne kolory” w przeglądarce jest nieaktywna. diff --git a/l10n/pt-BR/viewer.properties b/l10n/pt-BR/viewer.properties index 6f0dbfa7..cdfd8f0c 100644 --- a/l10n/pt-BR/viewer.properties +++ b/l10n/pt-BR/viewer.properties @@ -170,4 +170,4 @@ password_cancel=Cancelar printing_not_supported=Alerta: a impressão não é totalmente suportada neste navegador. printing_not_ready=Alerta: o PDF não está totalmente carregado para impressão. web_fonts_disabled=Fontes da web estão desativadas: não é possível usar fontes incorporadas do PDF. -document_colors_disabled=Documentos PDF não estão permitidos a usar suas próprias cores: “Páginas podem usar outras cores” está desativado no navegador. +document_colors_not_allowed=Documentos PDF não estão autorizados a usar suas próprias cores: “Páginas podem usar outras cores” está desativado no navegador. diff --git a/l10n/pt-PT/viewer.properties b/l10n/pt-PT/viewer.properties index 74460206..06c68ed4 100644 --- a/l10n/pt-PT/viewer.properties +++ b/l10n/pt-PT/viewer.properties @@ -170,4 +170,4 @@ password_cancel=Cancelar printing_not_supported=Aviso: a impressão não é totalmente suportada por este navegador. printing_not_ready=Aviso: o PDF ainda não está totalmente carregado. web_fonts_disabled=Os tipos de letra web estão desativados: não é possível utilizar os tipos de letra PDF incorporados. -document_colors_disabled=Os documentos PDF não permitem a utilização das suas próprias cores: 'Autorizar as páginas a escolher as suas próprias cores' está desativada no navegador. +document_colors_not_allowed=Os documentos PDF não permitem a utilização das suas próprias cores: 'Autorizar as páginas a escolher as suas próprias cores' está desativada no navegador. diff --git a/l10n/ro/viewer.properties b/l10n/ro/viewer.properties index 69804a19..c47c93fe 100644 --- a/l10n/ro/viewer.properties +++ b/l10n/ro/viewer.properties @@ -170,4 +170,4 @@ password_cancel=Renunță printing_not_supported=Atenție: Tipărirea nu este suportată în totalitate de acest browser. printing_not_ready=Atenție: Fișierul PDF nu este încărcat complet pentru tipărire. web_fonts_disabled=Fonturile web sunt dezactivate: nu pot utiliza fonturile PDF încorporate. -document_colors_disabled=Documentele PDF nu sunt autorizate să folosească propriile culori: 'Permite paginilor să aleagă propriile culori' este dezactivată în browser. +document_colors_not_allowed=Documentele PDF nu sunt autorizate să folosească propriile culori: 'Permite paginilor să aleagă propriile culori' este dezactivată în browser. diff --git a/l10n/ru/viewer.properties b/l10n/ru/viewer.properties index 349f2cbe..c1af9769 100644 --- a/l10n/ru/viewer.properties +++ b/l10n/ru/viewer.properties @@ -108,4 +108,4 @@ password_cancel = Отмена printing_not_supported = Предупреждение: В этом браузере не полностью поддерживается печать. printing_not_ready = Предупреждение: PDF не полностью загружен для печати. web_fonts_disabled = Веб-шрифты отключены: невозможно использовать встроенные PDF-шрифты. -document_colors_disabled = PDF-документам не разрешено использовать свои цвета: в браузере отключён параметр «Разрешить веб-сайтам использовать свои цвета». +document_colors_not_allowed = PDF-документам не разрешено использовать свои цвета: в браузере отключён параметр «Разрешить веб-сайтам использовать свои цвета». diff --git a/l10n/sah/viewer.properties b/l10n/sah/viewer.properties index b35dcfff..d0e08614 100644 --- a/l10n/sah/viewer.properties +++ b/l10n/sah/viewer.properties @@ -168,4 +168,4 @@ password_cancel=Салҕаама printing_not_supported=Сэрэтии: Бу браузер бэчээттиири толору өйөөбөт. printing_not_ready=Сэрэтии: PDF бэчээттииргэ толору хачайдана илик. web_fonts_disabled=Ситим-бичиктэр араарыллыахтара: PDF бичиктэрэ кыайан көстүбэттэр. -document_colors_disabled=PDF-дөкүмүөүннэргэ бэйэлэрин өҥнөрүн туттар көҥүллэммэтэ: "Ситим-сирдэр бэйэлэрин өҥнөрүн тутталларын көҥүллүүргэ" диэн браузерга арахса сылдьар эбит. +document_colors_not_allowed=PDF-дөкүмүөүннэргэ бэйэлэрин өҥнөрүн туттар көҥүллэммэтэ: "Ситим-сирдэр бэйэлэрин өҥнөрүн тутталларын көҥүллүүргэ" диэн браузерга арахса сылдьар эбит. diff --git a/l10n/son/viewer.properties b/l10n/son/viewer.properties index 2c8460f1..c7742e40 100644 --- a/l10n/son/viewer.properties +++ b/l10n/son/viewer.properties @@ -170,4 +170,4 @@ password_cancel=Naŋ printing_not_supported=Yaamar: Karyan ši tee ka timme nda ceecikaa woo. printing_not_ready=Yaamar: PDF ši zunbu ka timme karyan še. web_fonts_disabled=Interneti šigirawey kay: ši hin ka goy nda PDF šigira hurantey. -document_colors_disabled=PDF takaddawey ši duu fondo ka ngey boŋ noonawey zaa: 'Naŋ moɲey ma ngey boŋ noonawey suuba' ši dira ceecikaa ga. +document_colors_not_allowed=PDF takaddawey ši duu fondo ka ngey boŋ noonawey zaa: 'Naŋ moɲey ma ngey boŋ noonawey suuba' ši dira ceecikaa ga. diff --git a/l10n/sr/viewer.properties b/l10n/sr/viewer.properties index 0603d887..185496ba 100644 --- a/l10n/sr/viewer.properties +++ b/l10n/sr/viewer.properties @@ -67,7 +67,11 @@ document_properties.title=Параметри документа… document_properties_label=Параметри документа… document_properties_file_name=Име датотеке: document_properties_file_size=Величина датотеке: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. document_properties_kb={{size_kb}} KB ({{size_b}} B) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. document_properties_mb={{size_mb}} MB ({{size_b}} B) document_properties_title=Наслов: document_properties_author=Аутор: @@ -75,6 +79,8 @@ document_properties_subject=Тема: document_properties_keywords=Кључне речи: document_properties_creation_date=Датум креирања: document_properties_modification_date=Датум модификације: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. document_properties_date_string={{date}}, {{time}} document_properties_creator=Стваралац: document_properties_producer=PDF произвођач: @@ -164,4 +170,4 @@ password_cancel=Откажи printing_not_supported=Упозорење: Штампање није у потпуности подржано у овом прегледачу. printing_not_ready=Упозорење: PDF није у потпуности учитан за штампу. web_fonts_disabled=Веб фонтови су онемогућени: не могу користити уграђене PDF фонтове. -document_colors_disabled=PDF документи не могу да користе сопствене боје: “Дозволи страницама да изаберу своје боје” је деактивирано у прегледачу. +document_colors_not_allowed=PDF документи не могу да користе сопствене боје: “Дозволи страницама да изаберу своје боје” је деактивирано у прегледачу. diff --git a/l10n/sv-SE/viewer.properties b/l10n/sv-SE/viewer.properties index 2236e77a..97be61df 100644 --- a/l10n/sv-SE/viewer.properties +++ b/l10n/sv-SE/viewer.properties @@ -170,4 +170,4 @@ password_cancel=Avbryt printing_not_supported=Varning: Utskrifter stöds inte helt av den här webbläsaren. printing_not_ready=Varning: PDF:en är inte klar för utskrift. web_fonts_disabled=Webbtypsnitt är inaktiverade: kan inte använda inbäddade PDF-typsnitt. -document_colors_disabled=PDF-dokument tillåts inte använda egna färger: 'Låt sidor använda egna färger' är inaktiverat i webbläsaren. +document_colors_not_allowed=PDF-dokument tillåts inte använda egna färger: 'Låt sidor använda egna färger' är inaktiverat i webbläsaren. diff --git a/l10n/ta/viewer.properties b/l10n/ta/viewer.properties index 73f545d2..b0d40f1e 100644 --- a/l10n/ta/viewer.properties +++ b/l10n/ta/viewer.properties @@ -170,4 +170,4 @@ password_cancel=இரத்து printing_not_supported=எச்சரிக்கை: இந்த உலாவி அச்சிடுதலை முழுமையாக ஆதரிக்கவில்லை. printing_not_ready=எச்சரிக்கை: PDF அச்சிட முழுவதுமாக ஏற்றப்படவில்லை. web_fonts_disabled=வலை எழுத்துருக்கள் முடக்கப்பட்டுள்ளன: உட்பொதிக்கப்பட்ட PDF எழுத்துருக்களைப் பயன்படுத்த முடியவில்லை. -document_colors_disabled=PDF ஆவணங்களுக்கு அவற்றின் சொந்த நிறங்களைப் பயன்படுத்த அனுமதியில்லை: உலாவியில் 'பக்கங்கள் தங்கள் சொந்த நிறங்களைத் தேர்வு செய்துகொள்ள அனுமதி' என்னும் விருப்பம் முடக்கப்பட்டுள்ளது. +document_colors_not_allowed=PDF ஆவணங்களுக்கு அவற்றின் சொந்த நிறங்களைப் பயன்படுத்த அனுமதியில்லை: உலாவியில் 'பக்கங்கள் தங்கள் சொந்த நிறங்களைத் தேர்வு செய்துகொள்ள அனுமதி' என்னும் விருப்பம் முடக்கப்பட்டுள்ளது. diff --git a/l10n/te/viewer.properties b/l10n/te/viewer.properties index df0edbe8..e08d5e7d 100644 --- a/l10n/te/viewer.properties +++ b/l10n/te/viewer.properties @@ -170,4 +170,4 @@ password_cancel=రద్దుచేయి printing_not_supported=హెచ్చరిక: ఈ విహారిణి చేత ముద్రణ పూర్తిగా తోడ్పాటునీయబడుట లేదు printing_not_ready=హెచ్చరిక: ముద్రణ కొరకు ఈ PDF పూర్తిగా లోడవలేదు. web_fonts_disabled=వెబ్ ఫాంట్లు అచేతనపరచ బడెను: ఎంబెడెడ్ PDF ఫాంట్లు వుపయోగించలేక పోయింది. -document_colors_disabled=PDF పత్రాలు వాటి స్వంత రంగులను వుపయోగించుకొనుటకు అనుమతించబడవు: విహరణి నందు 'పేజీలను వాటి స్వంత రంగులను యెంచుకొనుటకు అనుమతించు' అనునది అచేతనం చేయబడివుంది. +document_colors_not_allowed=PDF పత్రాలు వాటి స్వంత రంగులను వుపయోగించుకొనుటకు అనుమతించబడవు: విహరణి నందు 'పేజీలను వాటి స్వంత రంగులను యెంచుకొనుటకు అనుమతించు' అనునది అచేతనం చేయబడివుంది. diff --git a/l10n/th/viewer.properties b/l10n/th/viewer.properties index 24cdff31..151e6b86 100644 --- a/l10n/th/viewer.properties +++ b/l10n/th/viewer.properties @@ -170,4 +170,4 @@ password_cancel=ยกเลิก printing_not_supported=คำเตือน: เบราว์เซอร์นี้ไม่ได้สนับสนุนการพิมพ์อย่างเต็มที่ printing_not_ready=คำเตือน: PDF ไม่ได้รับการโหลดอย่างเต็มที่สำหรับการพิมพ์ web_fonts_disabled=แบบอักษรเว็บถูกปิดการใช้งาน: ไม่สามารถใช้แบบอักษรฝังตัวใน PDF -document_colors_disabled=เอกสาร PDF ไม่ได้รับอนุญาตให้ใช้สีของตัวเอง: 'อนุญาตให้หน้าเอกสารสามารถเลือกสีของตัวเอง' ถูกปิดใช้งานในเบราว์เซอร์ +document_colors_not_allowed=เอกสาร PDF ไม่ได้รับอนุญาตให้ใช้สีของตัวเอง: 'อนุญาตให้หน้าเอกสารสามารถเลือกสีของตัวเอง' ถูกปิดใช้งานในเบราว์เซอร์ diff --git a/l10n/tr/viewer.properties b/l10n/tr/viewer.properties index 256123ef..19b47732 100644 --- a/l10n/tr/viewer.properties +++ b/l10n/tr/viewer.properties @@ -170,4 +170,4 @@ password_cancel=İptal printing_not_supported=Uyarı: Yazdırma bu tarayıcı tarafından tam olarak desteklenmemektedir. printing_not_ready=Uyarı: PDF tamamen yüklenmedi ve yazdırmaya hazır değil. web_fonts_disabled=Web fontları devre dışı: Gömülü PDF fontları kullanılamıyor. -document_colors_disabled=PDF belgelerinin kendi renklerini kullanması için izin verilmiyor: 'Sayfalara kendi renklerini seçmesi için izin ver' tarayıcıda etkinleştirilmemiş. +document_colors_not_allowed=PDF belgelerinin kendi renklerini kullanması için izin verilmiyor: 'Sayfalara kendi renklerini seçmesi için izin ver' tarayıcıda etkinleştirilmemiş. diff --git a/l10n/uk/viewer.properties b/l10n/uk/viewer.properties index 4f53bb33..f899197d 100644 --- a/l10n/uk/viewer.properties +++ b/l10n/uk/viewer.properties @@ -170,4 +170,4 @@ password_cancel=Скасувати printing_not_supported=Попередження: Цей браузер не повністю підтримує друк. printing_not_ready=Попередження: PDF не повністю завантажений для друку. web_fonts_disabled=Веб-шрифти вимкнено: неможливо використати вбудовані у PDF шрифти. -document_colors_disabled=PDF-документам не дозволено використовувати свої власні кольори: в браузері вимкнено «Дозволити сторінкам використовувати свої власні кольори». +document_colors_not_allowed=PDF-документам не дозволено використовувати власні кольори: в браузері вимкнено параметр «Дозволити сторінкам використовувати власні кольори». diff --git a/l10n/ur/viewer.properties b/l10n/ur/viewer.properties index 3b5ec0be..4551f631 100644 --- a/l10n/ur/viewer.properties +++ b/l10n/ur/viewer.properties @@ -170,4 +170,4 @@ password_cancel=منسوخ کریں printing_not_supported=تنبیہ:چھاپنا اس براؤزر پر پوری طرح معاونت شدہ نہیں ہے۔ printing_not_ready=تنبیہ: PDF چھپائی کے لیے پوری طرح لوڈ نہیں ہوئی۔ web_fonts_disabled=ویب فانٹ نا اہل ہیں: شامل PDF فانٹ استعمال کرنے میں ناکام۔ -document_colors_disabled=PDF دستاویزات کو اپنے رنگ استعمال کرنے کی اجازت نہیں: 'صفحات کو اپنے رنگ چنیں' کی اِجازت براؤزر میں بے عمل ہے۔ +document_colors_not_allowed=PDF دستاویزات کو اپنے رنگ استعمال کرنے کی اجازت نہیں: 'صفحات کو اپنے رنگ چنیں' کی اِجازت براؤزر میں بے عمل ہے۔ diff --git a/l10n/vi/viewer.properties b/l10n/vi/viewer.properties index 8fc2807c..93a95403 100644 --- a/l10n/vi/viewer.properties +++ b/l10n/vi/viewer.properties @@ -170,4 +170,4 @@ password_cancel=Hủy bỏ printing_not_supported=Cảnh báo: In ấn không được hỗ trợ đầy đủ ở trình duyệt này. printing_not_ready=Cảnh báo: PDF chưa được tải hết để in. web_fonts_disabled=Phông chữ Web bị vô hiệu hóa: không thể sử dụng các phông chữ PDF được nhúng. -document_colors_disabled=Tài liệu PDF không được cho phép dùng màu riêng: 'Cho phép trang chọn màu riêng' đã bị tắt trên trình duyệt. +document_colors_not_allowed=Tài liệu PDF không được cho phép dùng màu riêng: 'Cho phép trang chọn màu riêng' đã bị tắt trên trình duyệt. diff --git a/l10n/xh/viewer.properties b/l10n/xh/viewer.properties index 3cc2317d..db46b4c8 100644 --- a/l10n/xh/viewer.properties +++ b/l10n/xh/viewer.properties @@ -170,4 +170,4 @@ password_cancel=Rhoxisa printing_not_supported=Isilumkiso: Ukuprinta akuxhaswa ngokupheleleyo yile bhrawuza. printing_not_ready=Isilumkiso: IPDF ayihlohlwanga ngokupheleleyo ukwenzela ukuprinta. web_fonts_disabled=Iifonti zewebhu ziqhwalelisiwe: ayikwazi ukusebenzisa iifonti ze-PDF ezincanyathelisiweyo. -document_colors_disabled=Amaxwebhu ePDF akavumelekanga ukuba asebenzise imibala yawo: 'Ukuvumela amaphepha ukuba asebenzise eyawo imibala' kuvaliwe ukuba kungasebenzi kwibhrawuza. +document_colors_not_allowed=Amaxwebhu ePDF akavumelekanga ukuba asebenzise imibala yawo: 'Ukuvumela amaphepha ukuba asebenzise eyawo imibala' kuvaliwe ukuba kungasebenzi kwibhrawuza. diff --git a/l10n/zh-CN/viewer.properties b/l10n/zh-CN/viewer.properties index 03866813..b3d0de92 100644 --- a/l10n/zh-CN/viewer.properties +++ b/l10n/zh-CN/viewer.properties @@ -170,4 +170,4 @@ password_cancel=取消 printing_not_supported=警告:打印功能不完全支持此浏览器。 printing_not_ready=警告:该 PDF 未完全加载以供打印。 web_fonts_disabled=Web 字体已被禁用:无法使用嵌入的PDF字体。 -document_colors_disabled=不允许 PDF 文档使用自己的颜色:浏览器中“允许页面选择自己的颜色”的选项已停用。 +document_colors_not_allowed=不允许 PDF 文档使用自己的颜色:浏览器中“允许页面选择自己的颜色”的选项已停用。 diff --git a/l10n/zh-TW/viewer.properties b/l10n/zh-TW/viewer.properties index 13e884bd..495ce107 100644 --- a/l10n/zh-TW/viewer.properties +++ b/l10n/zh-TW/viewer.properties @@ -170,5 +170,5 @@ password_cancel=取消 printing_not_supported=警告: 此瀏覽器未完整支援列印功能。 printing_not_ready=警告: 此 PDF 未完成下載以供列印。 web_fonts_disabled=已停用網路字型 (Web fonts): 無法使用 PDF 內嵌字型。 -document_colors_disabled=瀏覽器的「優先使用網頁指定的色彩」未被勾選,PDF 文件無法使用自己的色彩。 +document_colors_not_allowed=不允許 PDF 文件使用自訂色彩: 已停用瀏覽器的「優先使用網頁指定的色彩」設定。 diff --git a/l10n/zu/viewer.properties b/l10n/zu/viewer.properties index b19ca5fd..2ccf70c4 100644 --- a/l10n/zu/viewer.properties +++ b/l10n/zu/viewer.properties @@ -129,4 +129,4 @@ password_cancel=Khansela printing_not_supported=Isixwayiso: Ukuphrinta akuxhasiwe yilesisiphequluli ngokugcwele. printing_not_ready=Isixwayiso: I-PDF ayikalayishwa ngokuphelele yiPhrinta. web_fonts_disabled=Amafonti e-webhu akutshaziwe: ayikwazi ukusebenzisa amafonti abekiwe e-PDF.\u0020 -document_colors_disabled=Amadokhumenti we-PDF awavumelekile ukusebenzisa imibalo yayo: 'Vumela amakhasi ukukhetha imibala yayo' ayisebenzi kusiphequluli. +document_colors_not_allowed=Amadokhumenti we-PDF awavumelekile ukusebenzisa imibalo yayo: 'Vumela amakhasi ukukhetha imibala yayo' ayisebenzi kusiphequluli. From 3c7088dc44c504cad487631fd96ba9cc4fa4e23e Mon Sep 17 00:00:00 2001 From: Jonas Jenwald Date: Sun, 27 Dec 2015 12:46:20 +0100 Subject: [PATCH 023/654] Do not modify `data.rect` in `AnnotationElement_createContainer`, since that will corrupt the annotation position on subsequent calls Fixes 6804; this regressed in PR 6714. --- src/display/annotation_layer.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/display/annotation_layer.js b/src/display/annotation_layer.js index 9a1545d8..17cbb2a7 100644 --- a/src/display/annotation_layer.js +++ b/src/display/annotation_layer.js @@ -109,7 +109,9 @@ var AnnotationElement = (function AnnotationElementClosure() { container.setAttribute('data-annotation-id', data.id); - data.rect = Util.normalizeRect([ + // Do *not* modify `data.rect`, since that will corrupt the annotation + // position on subsequent calls to `_createContainer` (see issue 6804). + var rect = Util.normalizeRect([ data.rect[0], page.view[3] - data.rect[1] + page.view[1], data.rect[2], @@ -119,7 +121,7 @@ var AnnotationElement = (function AnnotationElementClosure() { CustomStyle.setProp('transform', container, 'matrix(' + viewport.transform.join(',') + ')'); CustomStyle.setProp('transformOrigin', container, - -data.rect[0] + 'px ' + -data.rect[1] + 'px'); + -rect[0] + 'px ' + -rect[1] + 'px'); if (data.borderStyle.width > 0) { container.style.borderWidth = data.borderStyle.width + 'px'; @@ -174,8 +176,8 @@ var AnnotationElement = (function AnnotationElementClosure() { } } - container.style.left = data.rect[0] + 'px'; - container.style.top = data.rect[1] + 'px'; + container.style.left = rect[0] + 'px'; + container.style.top = rect[1] + 'px'; container.style.width = width + 'px'; container.style.height = height + 'px'; @@ -461,7 +463,7 @@ var PopupAnnotationElement = (function PopupAnnotationElementClosure() { /** * @class - * @alias PopupElement + * @alias PopupElement */ var PopupElement = (function PopupElementClosure() { var BACKGROUND_ENLIGHT = 0.7; From 26379ddae29f8ee6d8f4356c2a23d1e939b2fae0 Mon Sep 17 00:00:00 2001 From: Tim van der Meij Date: Sun, 27 Dec 2015 15:51:58 +0100 Subject: [PATCH 024/654] Rename and reorder link annotation CSS --- src/display/annotation_layer.js | 2 +- test/annotation_layer_test.css | 2 +- web/annotation_layer_builder.css | 28 ++++++++++++++-------------- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/display/annotation_layer.js b/src/display/annotation_layer.js index 17cbb2a7..07d20033 100644 --- a/src/display/annotation_layer.js +++ b/src/display/annotation_layer.js @@ -217,7 +217,7 @@ var LinkAnnotationElement = (function LinkAnnotationElementClosure() { * @returns {HTMLSectionElement} */ render: function LinkAnnotationElement_render() { - this.container.className = 'annotLink'; + this.container.className = 'linkAnnotation'; var link = document.createElement('a'); link.href = link.title = this.data.url || ''; diff --git a/test/annotation_layer_test.css b/test/annotation_layer_test.css index 9ea5dc10..6a1cf8dc 100644 --- a/test/annotation_layer_test.css +++ b/test/annotation_layer_test.css @@ -27,7 +27,7 @@ position: absolute; } -.annotationLayer .annotLink > a { +.annotationLayer .linkAnnotation > a { position: absolute; font-size: 1em; top: 0; diff --git a/web/annotation_layer_builder.css b/web/annotation_layer_builder.css index daeb48fd..4e041f51 100644 --- a/web/annotation_layer_builder.css +++ b/web/annotation_layer_builder.css @@ -17,7 +17,20 @@ position: absolute; } -.annotationLayer .annotLink > a:hover { +.annotationLayer .linkAnnotation > a { + position: absolute; + font-size: 1em; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +.annotationLayer .linkAnnotation > a /* -ms-a */ { + background: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7") 0 0 repeat; +} + +.annotationLayer .linkAnnotation > a:hover { opacity: 0.2; background: #ff0; box-shadow: 0px 2px 10px #ff0; @@ -55,16 +68,3 @@ .annotationLayer .popup p { padding-top: 0.2em; } - -.annotationLayer .annotLink > a { - position: absolute; - font-size: 1em; - top: 0; - left: 0; - width: 100%; - height: 100%; -} - -.annotationLayer .annotLink > a /* -ms-a */ { - background: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7") 0 0 repeat; -} From cd28dd34fe733a123443de96a2f7130b512fe70e Mon Sep 17 00:00:00 2001 From: Tim van der Meij Date: Mon, 28 Dec 2015 00:33:41 +0100 Subject: [PATCH 025/654] Implement support for Underline annotations --- src/core/annotation.js | 19 ++++++++++++++++++ src/display/annotation_layer.js | 30 +++++++++++++++++++++++++++++ test/pdfs/.gitignore | 1 + test/pdfs/annotation-underline.pdf | Bin 0 -> 92151 bytes test/test_manifest.json | 7 +++++++ web/annotation_layer_builder.css | 4 ++++ 6 files changed, 61 insertions(+) create mode 100644 test/pdfs/annotation-underline.pdf diff --git a/src/core/annotation.js b/src/core/annotation.js index 7c941009..e33573cc 100644 --- a/src/core/annotation.js +++ b/src/core/annotation.js @@ -96,6 +96,9 @@ AnnotationFactory.prototype = /** @lends AnnotationFactory.prototype */ { case 'Popup': return new PopupAnnotation(parameters); + case 'Underline': + return new UnderlineAnnotation(parameters); + default: warn('Unimplemented annotation type "' + subtype + '", ' + 'falling back to base annotation'); @@ -786,6 +789,22 @@ var PopupAnnotation = (function PopupAnnotationClosure() { return PopupAnnotation; })(); +var UnderlineAnnotation = (function UnderlineAnnotationClosure() { + function UnderlineAnnotation(parameters) { + Annotation.call(this, parameters); + + this.data.annotationType = AnnotationType.UNDERLINE; + this.data.hasHtml = true; + + // PDF viewers completely ignore any border styles. + this.data.borderStyle.setWidth(0); + } + + Util.inherit(UnderlineAnnotation, Annotation, {}); + + return UnderlineAnnotation; +})(); + exports.Annotation = Annotation; exports.AnnotationBorderStyle = AnnotationBorderStyle; exports.AnnotationFactory = AnnotationFactory; diff --git a/src/display/annotation_layer.js b/src/display/annotation_layer.js index 07d20033..2fe96b36 100644 --- a/src/display/annotation_layer.js +++ b/src/display/annotation_layer.js @@ -72,6 +72,9 @@ AnnotationElementFactory.prototype = case AnnotationType.POPUP: return new PopupAnnotationElement(parameters); + case AnnotationType.UNDERLINE: + return new UnderlineAnnotationElement(parameters); + default: throw new Error('Unimplemented annotation type "' + subtype + '"'); } @@ -593,6 +596,33 @@ var PopupElement = (function PopupElementClosure() { return PopupElement; })(); +/** + * @class + * @alias UnderlineAnnotationElement + */ +var UnderlineAnnotationElement = ( + function UnderlineAnnotationElementClosure() { + function UnderlineAnnotationElement(parameters) { + AnnotationElement.call(this, parameters); + } + + Util.inherit(UnderlineAnnotationElement, AnnotationElement, { + /** + * Render the underline annotation's HTML element in the empty container. + * + * @public + * @memberof UnderlineAnnotationElement + * @returns {HTMLSectionElement} + */ + render: function UnderlineAnnotationElement_render() { + this.container.className = 'underlineAnnotation'; + return this.container; + } + }); + + return UnderlineAnnotationElement; +})(); + /** * @typedef {Object} AnnotationLayerParameters * @property {PageViewport} viewport diff --git a/test/pdfs/.gitignore b/test/pdfs/.gitignore index d3a76808..09a811aa 100644 --- a/test/pdfs/.gitignore +++ b/test/pdfs/.gitignore @@ -200,3 +200,4 @@ !openoffice.pdf !annotation-link-text-popup.pdf !annotation-text-without-popup.pdf +!annotation-underline.pdf diff --git a/test/pdfs/annotation-underline.pdf b/test/pdfs/annotation-underline.pdf new file mode 100644 index 0000000000000000000000000000000000000000..8bc4c95207dac8f689fee3a24e13a4e7b5875e69 GIT binary patch literal 92151 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�BG;dB1|ra=!rlTHFQy>paw;Jo^R-{TqM*Yr;M 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 f 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%0AH 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 Date: Sun, 27 Dec 2015 15:07:18 +0100 Subject: [PATCH 027/654] Ensure that hidden popups do not use any space --- src/display/annotation_layer.js | 45 +++++++++++++++++++-------------- test/annotation_layer_test.css | 6 ++++- 2 files changed, 31 insertions(+), 20 deletions(-) diff --git a/src/display/annotation_layer.js b/src/display/annotation_layer.js index 17cbb2a7..8cf53bd7 100644 --- a/src/display/annotation_layer.js +++ b/src/display/annotation_layer.js @@ -321,11 +321,12 @@ var TextAnnotationElement = (function TextAnnotationElementClosure() { if (!this.data.hasPopup) { var popupElement = new PopupElement({ - parentContainer: this.container, - parentTrigger: image, + container: this.container, + trigger: image, color: this.data.color, title: this.data.title, - contents: this.data.contents + contents: this.data.contents, + hideWrapper: true }); var popup = popupElement.render(); @@ -437,8 +438,8 @@ var PopupAnnotationElement = (function PopupAnnotationElementClosure() { } var popup = new PopupElement({ - parentContainer: parentElement, - parentTrigger: parentElement, + container: this.container, + trigger: parentElement, color: this.data.color, title: this.data.title, contents: this.data.contents @@ -469,11 +470,12 @@ var PopupElement = (function PopupElementClosure() { var BACKGROUND_ENLIGHT = 0.7; function PopupElement(parameters) { - this.parentContainer = parameters.parentContainer; - this.parentTrigger = parameters.parentTrigger; + this.container = parameters.container; + this.trigger = parameters.trigger; this.color = parameters.color; this.title = parameters.title; this.contents = parameters.contents; + this.hideWrapper = parameters.hideWrapper || false; this.pinned = false; } @@ -490,9 +492,15 @@ var PopupElement = (function PopupElementClosure() { var wrapper = document.createElement('div'); wrapper.className = 'popupWrapper'; - var popup = this.popup = document.createElement('div'); + // For Popup annotations we hide the entire section because it contains + // only the popup. However, for Text annotations without a separate Popup + // annotation, we cannot hide the entire container as the image would + // disappear too. In that special case, hiding the wrapper suffices. + this.hideElement = (this.hideWrapper ? wrapper : this.container); + this.hideElement.setAttribute('hidden', true); + + var popup = document.createElement('div'); popup.className = 'popup'; - popup.setAttribute('hidden', true); var color = this.color; if (color) { @@ -508,10 +516,9 @@ var PopupElement = (function PopupElementClosure() { title.textContent = this.title; // Attach the event listeners to the trigger element. - var trigger = this.parentTrigger; - trigger.addEventListener('click', this._toggle.bind(this)); - trigger.addEventListener('mouseover', this._show.bind(this, false)); - trigger.addEventListener('mouseout', this._hide.bind(this, false)); + this.trigger.addEventListener('click', this._toggle.bind(this)); + this.trigger.addEventListener('mouseover', this._show.bind(this, false)); + this.trigger.addEventListener('mouseout', this._hide.bind(this, false)); popup.addEventListener('click', this._hide.bind(this, true)); popup.appendChild(title); @@ -566,9 +573,9 @@ var PopupElement = (function PopupElementClosure() { if (pin) { this.pinned = true; } - if (this.popup.hasAttribute('hidden')) { - this.popup.removeAttribute('hidden'); - this.parentContainer.style.zIndex += 1; + if (this.hideElement.hasAttribute('hidden')) { + this.hideElement.removeAttribute('hidden'); + this.container.style.zIndex += 1; } }, @@ -583,9 +590,9 @@ var PopupElement = (function PopupElementClosure() { if (unpin) { this.pinned = false; } - if (!this.popup.hasAttribute('hidden') && !this.pinned) { - this.popup.setAttribute('hidden', true); - this.parentContainer.style.zIndex -= 1; + if (!this.hideElement.hasAttribute('hidden') && !this.pinned) { + this.hideElement.setAttribute('hidden', true); + this.container.style.zIndex -= 1; } } }; diff --git a/test/annotation_layer_test.css b/test/annotation_layer_test.css index 9ea5dc10..0abca9cb 100644 --- a/test/annotation_layer_test.css +++ b/test/annotation_layer_test.css @@ -43,7 +43,12 @@ position: absolute; } +.annotationLayer .popupAnnotation { + display: block !important; +} + .annotationLayer .popupWrapper { + display: block !important; position: absolute; width: 20em; } @@ -57,7 +62,6 @@ border-radius: 2px; padding: 0.6em; margin-left: 5px; - display: block !important; font: message-box; word-wrap: break-word; } From c5f4b9750e4641184216216fd19155f8d7f5e5a2 Mon Sep 17 00:00:00 2001 From: Tim van der Meij Date: Tue, 29 Dec 2015 15:09:28 +0100 Subject: [PATCH 028/654] Implement support for StrikeOut annotations --- src/core/annotation.js | 19 ++++++++++++++++++ src/display/annotation_layer.js | 30 +++++++++++++++++++++++++++++ test/pdfs/.gitignore | 1 + test/pdfs/annotation-strikeout.pdf | Bin 0 -> 91804 bytes test/test_manifest.json | 7 +++++++ web/annotation_layer_builder.css | 4 ++++ 6 files changed, 61 insertions(+) create mode 100644 test/pdfs/annotation-strikeout.pdf diff --git a/src/core/annotation.js b/src/core/annotation.js index e33573cc..41805847 100644 --- a/src/core/annotation.js +++ b/src/core/annotation.js @@ -99,6 +99,9 @@ AnnotationFactory.prototype = /** @lends AnnotationFactory.prototype */ { case 'Underline': return new UnderlineAnnotation(parameters); + case 'StrikeOut': + return new StrikeOutAnnotation(parameters); + default: warn('Unimplemented annotation type "' + subtype + '", ' + 'falling back to base annotation'); @@ -805,6 +808,22 @@ var UnderlineAnnotation = (function UnderlineAnnotationClosure() { return UnderlineAnnotation; })(); +var StrikeOutAnnotation = (function StrikeOutAnnotationClosure() { + function StrikeOutAnnotation(parameters) { + Annotation.call(this, parameters); + + this.data.annotationType = AnnotationType.STRIKEOUT; + this.data.hasHtml = true; + + // PDF viewers completely ignore any border styles. + this.data.borderStyle.setWidth(0); + } + + Util.inherit(StrikeOutAnnotation, Annotation, {}); + + return StrikeOutAnnotation; +})(); + exports.Annotation = Annotation; exports.AnnotationBorderStyle = AnnotationBorderStyle; exports.AnnotationFactory = AnnotationFactory; diff --git a/src/display/annotation_layer.js b/src/display/annotation_layer.js index d0b23e0c..fc974f23 100644 --- a/src/display/annotation_layer.js +++ b/src/display/annotation_layer.js @@ -75,6 +75,9 @@ AnnotationElementFactory.prototype = case AnnotationType.UNDERLINE: return new UnderlineAnnotationElement(parameters); + case AnnotationType.STRIKEOUT: + return new StrikeOutAnnotationElement(parameters); + default: throw new Error('Unimplemented annotation type "' + subtype + '"'); } @@ -630,6 +633,33 @@ var UnderlineAnnotationElement = ( return UnderlineAnnotationElement; })(); +/** + * @class + * @alias StrikeOutAnnotationElement + */ +var StrikeOutAnnotationElement = ( + function StrikeOutAnnotationElementClosure() { + function StrikeOutAnnotationElement(parameters) { + AnnotationElement.call(this, parameters); + } + + Util.inherit(StrikeOutAnnotationElement, AnnotationElement, { + /** + * Render the strikeout annotation's HTML element in the empty container. + * + * @public + * @memberof StrikeOutAnnotationElement + * @returns {HTMLSectionElement} + */ + render: function StrikeOutAnnotationElement_render() { + this.container.className = 'strikeoutAnnotation'; + return this.container; + } + }); + + return StrikeOutAnnotationElement; +})(); + /** * @typedef {Object} AnnotationLayerParameters * @property {PageViewport} viewport diff --git a/test/pdfs/.gitignore b/test/pdfs/.gitignore index 78943c4a..252702f6 100644 --- a/test/pdfs/.gitignore +++ b/test/pdfs/.gitignore @@ -202,3 +202,4 @@ !annotation-link-text-popup.pdf !annotation-text-without-popup.pdf !annotation-underline.pdf +!annotation-strikeout.pdf diff --git a/test/pdfs/annotation-strikeout.pdf b/test/pdfs/annotation-strikeout.pdf new file mode 100644 index 0000000000000000000000000000000000000000..ede841870fc81bacb41c2cd642a264a91a70cb32 GIT binary patch literal 91804 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�bR>9q3-`4bnW$V~CbU6~ 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 @zR&fXUfF6(!T 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 literal 0 HcmV?d00001 diff --git a/test/test_manifest.json b/test/test_manifest.json index 244aeedf..fef94af4 100644 --- a/test/test_manifest.json +++ b/test/test_manifest.json @@ -2645,6 +2645,13 @@ "type": "eq", "annotations": true }, + { "id": "annotation-strikeout", + "file": "pdfs/annotation-strikeout.pdf", + "md5": "6624e6b5bedd2f2855b6ab12bbf93c57", + "rounds": 1, + "type": "eq", + "annotations": true + }, { "id": "issue6108", "file": "pdfs/issue6108.pdf", "md5": "8961cb55149495989a80bf0487e0f076", diff --git a/web/annotation_layer_builder.css b/web/annotation_layer_builder.css index a2fe4e78..b48e4c69 100644 --- a/web/annotation_layer_builder.css +++ b/web/annotation_layer_builder.css @@ -72,3 +72,7 @@ .annotationLayer .underlineAnnotation { cursor: pointer; } + +.annotationLayer .strikeoutAnnotation { + cursor: pointer; +} From 85e95d34edd0e907e393beb2b4bce52b0bfa7fcb Mon Sep 17 00:00:00 2001 From: Yury Delendik Date: Wed, 16 Dec 2015 15:03:06 -0600 Subject: [PATCH 029/654] Use RequireJS in the viewer, examples and tests. --- examples/acroforms/forms.js | 32 ++++++---- examples/acroforms/index.html | 22 +------ examples/helloworld/hello.js | 52 +++++++-------- examples/helloworld/index.html | 21 +------ examples/svgviewer/index.html | 19 +----- examples/svgviewer/viewer.js | 20 +++--- external/umdutils/genhtml.js | 51 --------------- package.json | 3 +- src/display/text_layer.js | 20 +++--- src/expose_to_global.js | 35 ----------- test/font/font_test.html | 61 +++++------------- test/test_slave.html | 31 +++++---- test/unit/font_spec.js | 11 ++-- test/unit/unit_test.html | 112 ++++++++++++++++++++------------- web/pdf_page_view.js | 5 +- web/viewer.html | 13 +--- web/viewer.js | 24 +++++-- 17 files changed, 201 insertions(+), 331 deletions(-) delete mode 100644 external/umdutils/genhtml.js delete mode 100644 src/expose_to_global.js diff --git a/examples/acroforms/forms.js b/examples/acroforms/forms.js index eda30662..d7c40c8c 100644 --- a/examples/acroforms/forms.js +++ b/examples/acroforms/forms.js @@ -5,6 +5,9 @@ 'use strict'; +// Specify the PDF with AcroForm here +var pdfWithFormsPath = '../../test/pdfs/f1040.pdf'; + var formFields = {}; function setupForm(div, content, viewport) { @@ -135,16 +138,23 @@ function renderPage(div, pdf, pageNumber, callback) { }); } -// Fetch the PDF document from the URL using promices -PDFJS.getDocument(pdfWithFormsPath).then(function getPdfForm(pdf) { - // Rendering all pages starting from first - var viewer = document.getElementById('viewer'); - var pageNumber = 1; - renderPage(viewer, pdf, pageNumber++, function pageRenderingComplete() { - if (pageNumber > pdf.numPages) { - return; // All pages rendered - } - // Continue rendering of the next page - renderPage(viewer, pdf, pageNumber++, pageRenderingComplete); +// In production, the bundled pdf.js shall be used instead of RequireJS. +require.config({paths: {'pdfjs': '../../src'}}); +require(['pdfjs/display/api'], function (api) { + // In production, change this to point to the built `pdf.worker.js` file. + PDFJS.workerSrc = '../../src/worker_loader.js'; + + // Fetch the PDF document from the URL using promises. + api.getDocument(pdfWithFormsPath).then(function getPdfForm(pdf) { + // Rendering all pages starting from first + var viewer = document.getElementById('viewer'); + var pageNumber = 1; + renderPage(viewer, pdf, pageNumber++, function pageRenderingComplete() { + if (pageNumber > pdf.numPages) { + return; // All pages rendered + } + // Continue rendering of the next page + renderPage(viewer, pdf, pageNumber++, pageRenderingComplete); + }); }); }); diff --git a/examples/acroforms/index.html b/examples/acroforms/index.html index 15b9fde6..6a217edd 100644 --- a/examples/acroforms/index.html +++ b/examples/acroforms/index.html @@ -2,27 +2,7 @@ - - - - - - - - - - - - - - + ' + - ''; - elem[shadowRoot].lastChild.src = getEmbeddedViewerURL(path); + if (!isUpdating) { + isUpdating = true; + try { + if (lastSrc !== elem[srcAttribute]) { + updateEmbedOrObject(elem); + lastSrc = elem[srcAttribute]; + } + } finally { + isUpdating = false; + } } } @@ -128,6 +108,81 @@ function watchObjectOrEmbed(elem) { }); } +// Display the PDF Viewer in an . +function updateEmbedElement(elem) { + if (elem.type === 'text/html' && elem.src.lastIndexOf(VIEWER_URL, 0) === 0) { + // The viewer is already shown. + return; + } + // The tag needs to be removed and re-inserted before any src changes + // are effective. + var parentNode = elem.parentNode; + var nextSibling = elem.nextSibling; + if (parentNode) { + parentNode.removeChild(elem); + } + elem.type = 'text/html'; + elem.src = getEmbeddedViewerURL(elem.src); + if (parentNode) { + parentNode.insertBefore(elem, nextSibling); + } +} + +// Display the PDF Viewer in an . +function updateObjectElement(elem) { + // elements are terrible. Experiments (in49.0.2623.75) show that the + // following happens: + // - When fallback content is shown (e.g. because the built-in PDF Viewer is + // disabled), updating the "data" attribute has no effect. Not surprising + // considering that HTMLObjectElement::m_useFallbackContent is not reset + // once it is set to true. Source: + // WebKit/Source/core/html/HTMLObjectElement.cpp#378 (rev 749fe30d676b6c14). + // - When the built-in PDF Viewer plugin is enabled, updating the "data" + // attribute reloads the content (provided that the type was correctly set). + // - When is used + // (tested with a data-URL, data:text/html,, the extension's + // origin whitelist is not set up, so the viewer can't load the PDF file. + // - The content of the tag may be affected by tags. + // + // To make sure that our solution works for all cases, we will insert a frame + // as fallback content and force the tag to render its fallback + // content. + var iframe = elem.firstElementChild; + if (!iframe || !iframe.__inserted_by_pdfjs) { + iframe = createFullSizeIframe(); + elem.textContent = ''; + elem.appendChild(iframe); + iframe.__inserted_by_pdfjs = true; + } + iframe.src = getEmbeddedViewerURL(elem.data); + + // Some bogus content type that is not handled by any plugin. + elem.type = 'application/not-a-pee-dee-eff-type'; + // Force the to reload and render its fallback content. + elem.data += ''; +} + +// Create an

E6 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%0A-R%rOG-u(= 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 z zC)z|*LbQ#jOsAbh6-3oU2Z#<6)e|)mog_L#bY6dF%NJZP>DTLe|29cVkcB*E{Jfa0eZe5;76e5ZV zy$MT*mJ<~bts&Y#R7|vmsFbK&zwYXEjrXr4+NWQ)=+EuzbianEmZ*W~7||)BvmIBq zOF|P->)&yW+u{n*4Pnc_=L(y2zRnW=C-tl!>!i!^zD{(Pg{W7@6>E7$*GqI)B2kLI z-Xy;(t>b#vK%ybiuWb#sW42Sav$iH%E9i>thF!8-?7i%X_7r=XeV~1aeWZP?eS&?8 zJ_B#7f`w9DL z(s+)vHQO)RuYztWMkPV9DoIMJlCBI=hAElKIQsWQWvXIRW+`)(`HD;NDM2NoELN5( zE0xvCdS#PRqHI&jl$}b2Qmq_N4lDIaBkq?dCzUhGd8I|Uq+D0p9I~S)sE;Gr(Z5^D za13^guw8MC(c5@x-SLyDO>-!Y*~HJ&+X9Chlt(Q@E#_F_SneottO0Fs@c*v8U$?*G zAnCv3kbvKD=!xHP=!M^Lu;ODMxyc6NGah5qkqX{c>BwRyG$Hn%O0S_qhDi&0x*TW%|| zt+8#;+iY90ZHukcR!-7gBrmm9+V)Z38e1*Jq=?ET6qmOmRvKVkXbns0*2UHzN*UJW)*nfOtku?P zX|VM@>wD6}))s4vH01xWc0=3u;75ZWBSx#^V&HS=LpneIU-D4GGy05%;_mk_D$G=V4D<41-kJ_5%9XQPiB`YWKHEMt6< z-)G)z{~UZ0v|R?CLH`@_zmwc3zfU+@ZsfNxZ}4DlZ@8c%_*1~vd+mgn;t zSuOx8fMviUU@K#f6nfVfv4ZINl7)YV#RYy6u(yt7z#R0b7AnX)gQCMergYBi?=- zcp1;G)3E|r1}p-yhIO#U&$*9j6Y%F4^JU-}=sCk-1+iF2eBnzWo37P49XQ7y{-1-v_n;S?4J{dkWTQfVKwkFN1$wN48!q#`$Cq z*4A5~@HFtH0?qGYWkXm;zIz$`1-_%m`^Z;=nVr=h3WOL!l$*$QA^SYrqJ3_~n@2>wanc0C8u zUSoiMV-H5l5ng@EPuUt~zH+JP3Xr?*3VyV;JM{;MrfH|F2+YWEgW3+lP^IHKSOs;TGB} zjWP7^4Za5b3-#<#hCEQjy8~j-1NqCqdw~z)EysbkdSvlx_9(}D`R)_E$`rZGC+WyK zAJubm3GpfL$s>@Y15aA+=k-OteI5S%H1hUt&Z6d{@W}@5X&wyUOJE7D9s6(+=W|1y zh+;Z7(~f|3Im#BMJWvH6t3p%?d>`>r1$-Yn2v5vcCH~XjYRpJ|=?Nc3D+w0KtD0F7ZGT|qT&+c7}=Z0kGk`YE38LoYp2m^D z@#f>$N0^@`s!-@T0z3pghoI*W^!y3^J?QUYi7^Dp1W25sYGq!!$|E8C5V#le4Dj5) zx2SCKmc0T|N6mnq8T_pADezATp7jv!g**c|0FwUjAJiMr`3baL0d5Dr1uU0&2b>O_ z)1h-ZbWVrP>CibHR+`S5O+&b+X$UNE02&T}e+T?KJPWdF3C7R(8!=zzX>29XQ-Y^1 zLjz03VVu`=tVLw;7-pLvLA3JfER(s~+^?Sw_$}|t#}KnP9dJ)cRPyIg+xNpMAPe|= zXzK_4SAoZX<#=`;a2lSig#1%rolIV8$>4ce${6K5?jzTm_fVwcU6zGr-lyinRv}p6 zZ|HAjt6Its*P}4nBk+??fNS-0%5kjDLHOixtlDu{2L8!WMiv;vD`oCWxEW_6BYLKx z=MnHL@b(G9->?>MvczPiVs z_&*@u&h?o5Igs0wN2_Z{n zvBbOpUNIlF?(;x9Foeo*A?nX*IFq7+l?TCp-o?An(^SN{REC6*XVC=B59(L}ECUt+ zNt^j$K9gGBgU=i?C(~1RL)#Xh3dH$TPQu(@0AHbF1+WZQgu6Vi7uZ(vUgmoYu)G4C z$NKSwJc_ydiv^ zBf@wN+U^E!L4~jsag>Dm;W_yKX59Tq$Jc-%U=Hwo^dWo75Aa*ezvFL=gxqHjp4tOG z2^P2tE1fi#Ar{j3u0Whv&+~~@ZeodfFONj70RI_y8Ga(8{}S^Btb#y3y?(%_SF#3s zMZLTfV`Gn%!0*Ax_u#I`q7#94o0AA7UN3V$%ag=!Wx4qQc=E@<7xY}pnWq}LbRGJv zLjN}raeqY|-HnVo4jH%@{JWfi$*<@s^M0($LFmNk)wCX(1JE`Ud>4eL7L+Dw} zn6Q^UJVC-~>le_BZzerNw*PmWZi*10&4{3P5FL*KaXL1=1r2XNn*z@H_?9s#@v&42RV_yQ^}8*Q{g|%8+mNz7G8Zh5wWvGoHyYQ z<>tfeCoGpg(a+TU#j*@%oW~H?(|M2Rk%hJU5G(aK^Om0G-gNgm_N+a8A|~(UoG_K| z_Q=A{vW26G@>Lb^edMJoAn&0zd`B7z`Dw^cL;e}$=OF(G^7+vAG2S9hUQ4huHUjtX zd(CHfMizXJHSNNQdn@+1P2Au3Z+yO{ESCcdU&EL=FFnR*ZA))NeJi4SA0t_^4teGg zjD)csckf1BbT?N%ln*~gEWCz{!FLORMSAw&r;a0UyvOHm>QfAPF~*O4WqFbK3XJ&) z`F_Ix$tb78{yQ<#KVfxZ=<~GRlO<_52mPMsDBsIxWD~wBo5ZQ@1Ws*-k&}M_JM_o8 z568Le6?jXEnR1aO0Z&~+h45=WkDK#kI$6kTkYj^*Hi&0egWt~YGJX?pbYWdy$En|q z8T}Y1+(tx%49U;2Jdmrep4pn5t=B*{sJB0WM~gx5#fHb83h`)F2 zMK&|@T~nBMF|z@B`oR8sFv4H*x!ZIS{AYYxH;n>6olongUtuoy@JP&vAo*#zA4y6u z{-vhR2wyajC&rg4g5aby@K)l1tZ)A`G4YX8R={p%V4~HA}|N@%?FOvYfIi$ z`{AiNKDitJ$R~Hxk71vF_BYXyE!|MD5>uBdyBkv_Nz6D8tjI$W0n03HOg2xGE z9b#=APCD!OR7H2`Bw~ID74?4f{1NaS^GnEw%v*tWfzV)w20JuNN6%KA^@g%U9tz2E zNQz}zaRZ(;4g{{mdHFjyFMkK8u*Yz|dxg(R>U`R-4E{UMnsuOL1o^Vo(%f_y6vz*_tj_@9iX zT1Im{qdXkAjGr}+z+1isoil*rf!m<1NZ1M*J_8PhgyF7uwd7FhVPmmf`x0*b1Ha^`5uQ@TY{4-6LTBRgO6ce!Z*fYm8W7|HiJ)sh6(8N zEB-!U%4Pe@saS=b@Qnv}7c-sb*_qw~-v@jl`kV$1$5R==B&=pKKWpB~D{kHf`DpZf z1FQTK=8b=aUkZby^aXQU+r(b zDH$Zwt>1%xi~m{;%)Ipm_=kZ-{1n;JrG}e>FIcXD>st4)_F~ z`Z@R{+&u%l0SVq>oDIom;D!DPc>7i0N4Wbp;9h7mq0bE9Q;>h6^E`&_kh}%Sbnv(E z)DZCJfd_!^0571Y0{%L93-~r*3h->(5Uva{9`u*~izOyunf}03mKZQ=!_&YIAU_4Z z8rXn7!g^1(eVa6l5o^J`aT2fuxJ9f2_)MS#d>L5U#?|S5VSknwehs{gyMKV@O=5Q7 z`wGjWPaFC?Am#$e8I0;Y_#^sUzKwY$(6fv2>=Kqpu#e$I+#Lu$v(1UQ6l46w7;`a3 z$hZ!Y%fJheJisUkzCSP(cnjz~6`UT_HS^<;ET0 zhqdt;{6p~LA%|}mdoWtyZ>V0>-sstv|oSafg}4bTk6f3Ht&k0Sj@r5ZVe^LiS|&G{`f7l8))T zJAi*#NABr_wU6tTPsb{h0GWS+<))wG?iD=sC`Ks!{0e3S`x{P*6~Rnj7hVnCjXt|! zrK2K;u&v}qSWHB568QeG%mMU2&^DRBO@WU=PZa!Xj3&ggX$Ji8I_$O%cd?p=0gzu{ z8yaq6%obQL6*EeJmD(7|uLRF?gslue1qwfWM#pqKTLL}Y{{!eeio0(DVNdBIX59>Y z4fuy!_Yr=MIrfC)ZSVuYr(@M-fv?BNn{c-u^OQHXlVmdPhJnSnTLKHf+fAdui+E3E ziy0q=Ttvk0fv-Zd1`QfCAJeVGyvT2Li0&H1?59`-2>i8M(`lSyH`$7u^C8=6jMY9(LJ>)snkAK?L5e2H5Sc<`3}r42B9t*>G7kwMZgoYJjHQxH zsnd6__wL^7x%WQL^Zowu{GQkEdfm78`K-_Stj}8Ovp#$8wFer&&A|J>3qWLb;c?7Y z8+abD8Fe4<^97EP6xM?W0v$0*U%)$|G#`94aDwy;@euNtu$chN0cN+aU%o98`L_`H zU$7!30PP{a3T_Gg<*-6AIlw85k zlv;aU)kSQR%wPqH6-LhrS>+4loiGmh?MQMj4b9Q*NGxQbG^ZVPaoh>P80x}Ll9zN* zdKY*KqwPf*kkKH!0dzkmm>kQP403!YoT_6!k{BRJH!}MLWN(Ml6g(v;3_>jjf}%s% zPY?r*m>9AmU?Gd)&N*oxSZE=oVt3SX1)Aa6fNwxqMvIIyy@>cpUne?*Q_IMkCR7MP zI)bi%HBM7dKv1a1*Mg*&AX7__>jlAddIRYN?2IH=^wdq>4oW=o98Red33ZknFNCkikq)R0G$P1Z<52JtJOQX8 ztbk?(Ii7+)6)q$>95(L@_i>mgEGI_+;)&o5EPN)OP%Q!hc^aH)AShM?uLSRer^Gvg z4}|4P0ZP3ynrKtwFK$6z#M`idB|G`QVehdBz>SWnV`57n*D&|P^t&+2kr^Y z*N{NYtR*PZ4ZJr>F9Dk%K`Znf@af>ofX7zd+Lr9Q~qypvBqX*WphI@I53Muoi$?me4GOya)IZ z@MMh1S@8M5y}-Vxl_taGd~sKPb_i!`fo=R85iXL4qy^lDpCd@N@H0g?JsIc+jDWQ% z{CuI73_ok&7!z?lKWos>0lr459zmIIkX(Xq#?V|3oXL+5TDOIVm-#Uv5=tAKA2EzG zlMb{(ix_R;N0eeDsSB`xs1qduZ$dv6SPUEwM6Ve>(vsol66p7W1&p~!0X`spCv%X!0>O0;oVx_Asd{+Zle+(6NVwGe9-SyQ0^9FfxVEPeLiy2=f@V^wAc^ zmQLi?9mcQ}buqTgT3~P3ISCyW_A#E+aMaC(9IH&k$7>#XofKK5Ye9ym0qc+{$a z&Q>5FAs9V6l83nsuf!0(X9p)G%KH`qbH zL}*=P0nLrDvjZF>Pa!`r`+)O+6QIMl_z1{HNFGXO0WmMMCRz*!V&r8YVLqY7g^=?( z4Qr6$S2tF!ND&ehATk4usGwnu;xiSp3e^C8)McW82Z33T^SKe6z7NSQ@Cvk!xT3Lk zs7BO6)QR}j#P=v4I&#q80|`Ix7a?~AY60Ohjhrc71Dm{8hzh10h&9C^HiYn8ycD$- zLBAOsE0Ku-mO+j=r7`{@AIOoT7-TI5@jxM~Gl9VK&~HM_EJOV8`RWi5xk!X{M6ZB^ z&zyCr%g-t1oyJUw5lgf;5NnN203v#2iU`UgDnvMbi4g5#jJ6E=E=DN>eHuB69t3nE ztqTO?%%4e&aOg7jNp4ndJTs$L(g^S=kjntk7jZq%7^UlhGl90Kbs6ny!$aP4^p{Bo zTA?m_E&Pa5^oY8Ex|n@YBJd{kQ-Q_6@j%`~e#ZHJEdlm|1@v8{0GpUc$^bFY0s7U@ zISf7wn*3ak0HT&GN@Y94PZ~P*uy6*bhSDT(L?-hXI{L7Tk)h!~eG;WC>|kW5;gIJ- zj_4KfF%Sf6e1!9{dJl5wQ1Ot|pmZw`vqNDV=t$shSmWo>95@8%g3<@zrl@5Cd;|Or zc^qu|gS){FJQtxAkp(n2!p;tGj1`5I#q0yl15SVr-{K=6Kc{&podv{5(wb;79Ej1A zfrR;l78gR!X9Gkp!>puoW2jq zE$|Aoj!2*p;Z!4PAx=bm%=10UhmIWd_dvqW>_y03fm%TLOe5Qf*T5$473Q5O2Vxa4 zn0+BU7cWJvMbK{s$J$|HfMt+lPHBw4$Om$)ZU&J+Armrz!1K^SR5N@gsRQR{3bRRL z{Kbe6+8c&{t@{TI4OP&p*cVI7tA`Mh|+D~6fD#M=K-_OcX@);GK_#b*&(5BV%Ne9+>Aa$>JlA68}=(y z+xJg66jTx&kqPX$qSi?4kPIdgp(?Y7ldHGyjbvjFBpdr797?yek$o!Xwjz>y!9B^f zE%ktKp&hsvN=Jg{gO@=w23!_=FiNkX)_X`)cx#YUNy(M|0O+Wo77O%4X$g-g)dFuu z=}uVChddK<3-Ep@6@$+JU(NeKxbRor2b3-#TU z^iW_UB+cMEp!uAjsF)xlgq#9qqg0llunD{l$UK#Cl$MZEuJ2@a4y8gQj`oh2lK_pA^abQzEr}87l;Htk`qayIBdRePWMqUvu)Ga<;37uv zYI|G6jtOQ;ozGOLRfk$vp(#bQv(U^%WU3J^))Ocq((*9l#Q#0~if&&c#F`K0NFO*2 z9@e&JJWU*HNGo^S*X$0i^ccUEi8U@;Zi81QsKw`1VtFNYiR%Obh^qi{OmB1HxCf%{ zJ#>%TTnf26Mm~`smzVO8D@a!1XCw{r zSF&0$r{mEtJ^r{Ry@tEwor$;bJQjV?g{G?%=RByZE$GJC)M}quj<@Cz%K`zuwbNBhRsO@(9QeflnpR zZjqN z0Qvq5@vZd*@3VM2^wYulTJPa=6Xg1kD-o2jLGO%!_2})EoM1(PAM+sTsHwtq+H0f7B(KEI12pA})aZ8+d=%;pGPK!~?u9_$1gV zB`7NcjxXxS%A(X8l6Y7ACjrS8^9)%cHz)i<|z0v*t`h79y%w1TOrQ{F9!caJS1Ph;JhVqXo|bxbZZ+p z#*N&+mP%UR5r0}S7vz37Cut<5t@&gmd5Lr>P#1_=upnu@4o%c;MXy_v!K-2O8h8nK z9ZC^Vt-nI@26o7^1kQL{rwMPvY2%$8ZShHx2im_=LB8`~iLYC<;w`PdWOWGd6QmB| zP3jwXiW~2G2wySe8yA=HY%|_lq(+K6k|QtPg)AbRx&q$Fl#%@hyv^E1o^%!b_MZ@c z$ln58k|Wi4v91prtLrK5&@av*?rSHZ43!$IJDL;OQQWC+N4A4l)L((7v_t~dS1i|G z%v~kK4y1%ksvGOV4){r;o!)JkHvZ{AD}j^1PcTOiE(j4!7esOYlYdHZDBI&FV~kp$ z`mvDAz7De@AAcJ9e&0RI`#}j#sj*$Vv$4!IHkLk|N>f6LQZ?mVoOiXz@14TrRYT$M zJhs#C-U_)ZTXsI&q$e<9RceBpM3q%0KV((qCi>0^3J#kQ6&@y0Vikx`MpedjdO&D+ zSb(G(t4$4t7mzM&Di z&bGtZZe2P_%vlT8Oft}nHM8{Mep;}De*eiXKlvZ=tP|Ujly_8R#ydH?N_w-s_@CXv zY=a|$rbp_IbhFd7b8{R#aQLX_EVW8Fm?JQ&gk6N~ie;XH0g?+97j2c&9`8{@D-L-dfdTL9S~5&37MN@jfndu5wz{-t(UWb;jBT z80(#B$gPiAaYI?j`DWVcIrpaJx5RDh+QbZX8Fr!Qc=yQG+&gy4f(a{*EYF(Z6Rc<* z|LM{;-(ebO`|gQ)bHmNkqho9A$ps5%yJ@aT6?OHQzc2aeJ!ZXT!B?mAzn0F_54z{8 zwc=ifiNQ99a>_jQH3|yXZIAv|^1-;qoT9mPlo2cJz>SEA)!~LzM}bji)V56!O%5vZ z*)y|E!nhos(6w#tKsUsYPESUIRbQso)9l-?uA?I4KG^)2_v2*$W7o`2DzffGp*u64 z9m|eRwNJH+vki)hiWqEc>>n9o6#Cmd8Tp5Y8b{0uCQ{>w$nb!<{!w#`f1gG&iACYEliO}M#!B-+r@HoK<@R^XJe1y9TC5{tL@dtSa%h7bDNg{brJu z{nLV^NtBG3dGS)pN?)DeNA52yJ6HAG*?p*%-9^QuCT3}dOw|{ z5MePA=$howual2y9l0GdCv!KK#%j4V_V|x9CX^cxeWWyc(SEYA#r^to8jJpqB#WMG z4}Q^W{ahX}UDqvmMi^)HFNw^=%>3s>Mt-u(SNy+7WbNwoKT-d;iD^qqxJ6zieXdW* zsE6sk=QBtB@K+yd^xeMrR_%vdJC7T<%*}stS5d5{ye~vEP{x zSAE|b_((%mS z64NwpM11~kq0&EPt9YrLMe+$;o&%!Uza8Q7WpTs|aH6LVY_74g0j`G{W z;#_r4;q8G&rt0eF#_f{p&U)|((23EXVI zUHZIPZ)(}U%=RX|Zf=d~mZpPMGg_(gOdUsCyUATgzkK1O-mqj-!y4tn*qnVo_8*-3 zdHb}2Mb|II><<3WJ@(4Sdm9&w_4{1fNxRfdrDU6Hy?MUo##EcFX>yr{>U*w^iju7< zZz{_iZQ-t>Jb^yBNd1Ss^hZ$3Wjmj$VJgw4>GiQUDr_`m>N?+$+dWA%{NRJ_Da%u6 z@0KwywTwjB&i2OZo1@FR>3$Ra=sQb8tvQl8)A7KrfLi6rPIjX=^wl!_@!)g^x2a}{ zFVwG}dq2ng?Zo=Z8ue=$x5Ouh-1l8sb$VocVn!SrE85BByXAboQ;N<}PaBh(nKN#V zXOoPo(eytjyQ#<_avio9#BXgJ5Fpf4r@7&mXtG`YLD=E<*^wBs{rT*m|3`Lk4G-s1 z1UFs5fx-U1QPXvY&y5NSj|`5ACMk`ZEpv8|iK%3ei3yj|Oxk~%SV~O2{__sRQh&`> z6v0uav~ueKqFA zTzyf{YhI#)XES4F@%s7EuglKA^X%Av>#JnZ%lUenznTSD>221TQrRKlf||5tuBT>Y z^ck5g8AsMkk}caSQ%HNZ1oaIyDJ{;rGq$C&ql1al>zcDUPSrl)s);+xlYW_7o~3mr zadYl`@6QhMn`TBYR*PU3haOG%{3N2x{>-J_#vyM+XDXGaWk+vTi@8yXnxEnfbC` z_v6*~=wb6`Gq-eGMl0&rt=U(4XUUqJjfS;$<=0)9+x=Q<<5G4hZ}+Y!a$EDd>P%~P z($zjT<@HR$^W~<4em!BA*>klxb3(i%Pi#0%VYtTP?nbA!-%+mV{EL2OVtr?|_|~y= znoYc09-0ciPx6b9F?nxv*v4>C;jbRFy-AA*DGwI_EdUKzcQ`c zLT}50O?iw#%wu(%SEpx%9ExidTq?TKe%)MWP*YvEwjqKP1p#Ri5h)4;2)%?Jq$>~* zBb|gEAcWooq)P8iq7(sX(mROs-lR8?UP6%)z(6j(_kQ1e_s)Cg{=M^^A8Xc`y=L!q zp4sPF&zv)RF>HJjf7rdrDL__@LY9Rs2S2HGp)M7~O=xn#9!j{RMkwuKOFZ(c4h!O) zR8w^tqo7o-md!V|xY=lL_$q6pZwLKy^VqAfh%-o7vloxCc;O(2=EAAzrXb6ro_N24 zmFO2*`_z3U?DPJ12ncPb1`BkOe@bLRQ>ZjP_Y&UTsdSwh6x!wK%D9)nY>9Ae+#0&m z>-dSZP$ie_dj7k#57@k@fB?JF573vn!$0AJpAb&dQtdJggDWEV14a^zf{J z61z>EVk_>fC3mqFR>T!>-q3dwT9op^NyBSf1<&0&^1~+e3GGvsSq<+I1XIJ0wt_%S zYn2tCZ$EAq;P@kwstg;kIR3z z4H%K$*^t=Nh{-{g3?h8R?Zp-QZlXo`Z0@-j?ZPUirD`!TfSi;kKguUNL)CqaXsBXWI0adIPSV`zBP;}JI zaj|NsaiK;vglF7D>bu8mm5*bQGq!MX~w?;N@hyb{cbYk4$g5|C$xTQTEf&N~2y2Ku^)U)YUr*c3( zCHAFF+cnLFK@&GASKZzX3_8q3yR%N7gd&tS67!m%2jO#={L;848v8w)Mkmir&d`I} z`Ojm*+viCskr3F^YPCK}h{PzOJ^1_g*J5X3mx{d48Z_V6f3U1d9{3zF_ z6~fAsH17Mb`As8D-denr)zDDR&8*1rw=+y4VnXGR7Ex}S!->>$^e=8tV~soOra%Zxk8ZQGXSJttg^tT*drMrFhluK=)rX26&Q6456ypb5nLg&H~ zhx;lF6a%xK)MJId|q$;`j*;G7R&VvSEIC89-Mq-wYtU;t|vfMX{B4O90Ts} z*q;n})k(>*rkK>7;(Tk&kbT22=f}l1bUI4!SVior#B};tgeh;R2X~WebMY{ z=dGDS)q~c8PZf|gu_oT}Whqm%4W6(BtwgOI8H=e{n{nI1mqEP?N6jntM*z^WJ(kd8 zbtJR%Evk2N_0u-sq9PS92=5*w%o}bu_s)Bc%0)^8T_;C?h{PBK+-IzpQNqAOeC?jp zsKa-?LQl6Ji#6$-x_Y&cRXSYuKo)g<Gn9^oXfo}_&iJx|(Z!aP3iwrucpW98| zEYU#Prhb(A03S{h65m}AMPwUnZ0Oc}oZ9gTCf1GwiwgTI6Pl#Wx57ujno70I?>zTD z4{~PBPdRE(zg{WWxGIfcXZvDOAgyj1mzET7D}7qkdHi@G3@Y87;dpr{vr=_(3vl0z zC2zLg-gx|YQ|af5*+_GV2N)g_{kS613HIH39fTP-n+xd z+d-}EyTZ@x5kTAVK#Z~ zGVkBvOlci_YwI&FGM1Xg)*;W@VGG~4v6r|h!icyi+wR$FgOu(+Ih$McIrF$H-Bh6i zoV5DBQJ@BGBO>oyjwoMdjT`txJ`HN!3wrm>QyOEkDKWl5Q4l*UaO$HcfXHa8^EL1E z$K4&bD_GXS7$qFcO+NRiQjJ)u%Mt1Ot=V0p<7DF4dH3Cedd1^Bv)c!>YPfw`ml$nr zPM^%GrSh>_nZdZA4*RB(u==f^`@&+Z{A`{>HJwJ8K<1H`>l4*rZ&xGGz86pP%=nyK zeWx(GK?tzhgzeT_u%W|v)B>OO;0u=`rlg=`tIicD1L+x?_@e2+IF6_Y%!@Cs3NvNv z4|=u4%l+(?^3;Z(JR9EH|9WgdaCKLwa3z-H1?dY9e82=;=#=0d9Q}Uk!cIp)F=#X| zp;Gu-q@*)vu2j#X9s>rCii7Pk?2#{1H!oC!w;6T5!6s7QrbmNaxn3?DxETAC4Ok~! z>6zYJ&sMi6@N5uwE*z3}^{ZdscX+h6-DZ|@n*yUYC#<(M!BYTT+oVr3?+(iGDA{%9 zs`P=IM8&2eHL6|5B7F9tqEeDgOF#X8_)nPZQrZGz5AC#T7O~pGO*XIe%N=|8vPd?| zkp+kf6;pa735b~UWAw^pP2Kf6-NjW9YFd-(@Zw?yHc<-{6$%$?Gr{TCees)|FN}S8 zv1%GOeG9st)np3_virbr1Fdqpsm$342%NwaLDEi~aZj7ZJ(PGWW7=MyrNvG5%U7d2 zT(>%zyJTeJW%PdVhR`ZFG$R~PMv+7$nWJQh8-&qz1{&tO;721OtemfKn#45hx}3Mh zx1kIZACvk+-d8gkt@T=sNML@C7sjJ4K`eAr&KLa!9y`b7Dw(Zx+enRVqiTa`(;0R! z-MPobRN__89E!WBp<;qYoNP?|vVUxasaN0mfK4DM-E1DLqK?bRi?7O3c!D)7G;DHH zkn__{%JhM~lJLf0_&283sUl{>y4Z=z6YR8gw{`MoeOt6jI3AW ztCJhQzaL*2Gfe8MBW6I^Prc8n&Z=v(q^QF_C~(@3LFndrOvLj=+4!-H?!by|l3iB6 zR_r-PQP-&(HnN&7>})N*KT0Sj>vgQ4@yzAj$l;-Of;zU8rH%tCfx4QpuCrp6W#W_oo>%`j}0W8~#pGT}$dp1nFR6j`RAjInf1y zOp9Nu`MJ1a=2(IJ4utPgHkT3To>C+%%YfdSjZ0ATA$Q9Um#GNzLC>`)(rW^mc+D#* zR}h4+alD4vGy37O-s*>ntebtTYCJh7Wv$9X!{U<0$hzBVha}N&ro6+?(Tw6MV}tW; zT6YRREH9|;H*hw7OY)T_`PSF{=w9}5m&e?&R-RNvV3XlZ+gQ`DG%tB!rwVEacAUd^#B4b!qQgap4%LUj-YG;}6}H zV28&CHyp`H;Yf2QGzxBF_m^vLYE4cmzz^U9{N+hX0(IOS;J}xfrq*yXG*H{w6#eHO zVvn->%lsJy@B`)K?A>4h5k6i~VStE$7_YFH2!LM<#49Qa5CMtt^79EB0M$*C41kJmXeDj52^#(LIMvPHvD zK#1+-oClF@lTT(*Y%U>Ig=T$TRE8pz9y1aHIur1`|YzxIX=284sWR1{~lh!e-n8BJFFnS z{|i^>u!P19S+ci_UYf%kd{|^P3&$i=&6T?(cfMSm$b~%Xs*I`BK7*XCZ5;i^ZaMmf z<2sYedUU9R2e(9YRu}fYn)5ABPU!g`dq+;Hei}Pzd#pMU0{ywNWY!k5wC3w4EvJ&j zLsb$sMO)jZCo+=gykGZ ze4J$Oe9qm?e{W`a5*nT!U=w~6Gn zipGaz4!dI0!f$A*1H zc6D{~?(WVa^XcA>LeQ;Wcau0}1j%9){NHja$nj-IM}K(Cd5bIao^tn{K;YFID|^cy zX!pV2~UJX)nE~ zeZrl2qMrC&FQk=faQJ9(k$Js>n>(YJb?farYd8Zo#qdq&&qoGnH~A$Qm@(-M_ctWp zeI~=)b4)RBCo@8{f5|KNobroOXV#kzg?u(Pf4=m^K8n4?*gAKyr?9(!6pY;>=+ zkR-|rvj4IK=BLt<=9a{xb;sX#rVj=FG|oN$E&iqxTBo=qdX0Mi#+yepZKqAh!d!ji zkG^ljo)Y>qEV;U{fT)g>!a`c{&Qi$XLCCN}!2ROwhC&azscYUtL@H{59qgXf!Ac3k zGP=7Z%@Ru*-8|#u=^{V|iQ((1$n+FVZ0*$NcvCA-JI}#DE z7Z#hQul6St(BC)6V%|#8pAlIdFFnMH{5ZSkMf2FfZS~^)E0#LN``_DWn*|s| zZ99f&XgmDm#8ld~sZWVJT()&>k?zD8M>+c$W8_rFB)u(Tww*f3MoixeC9=2Xl{&eQ&A6e+OaO6^a7Jp*`S9CCO zEw<}1+4D)^sl+CBtGyFhyHk7^ z2UELFh77B#p1wZcX{&L|gyG9Zy0iO8VGH)9bE5$~KBj~sw+N+ZYH!hC9~tNsAjs0Y zSX<0+{%A*es#OV2v{bNqWnCyEzISY-ad-!2rdp*5mtKBIYB{Or5Oyak=Hry8d#~$~ zaqp1@3F4#K{XSVLj+mqqwwtLbyNZ{8#`)Dp6(A-(hx0ohD~pJPQivb=7^Ys!5ijW< z@Mz|~JXc*(HpSh19y=TT7TiZpO$1iW+szTUlkpski`VUY6nZFcnp~2JPGkJJ;AAG! zQN9*L^}X@hZ$Al~9dg$3SN``s43`jiwOXBAI!v1@`BzPemu7aD#}l^cxNu^J6;}4p zuDJXbf|IoubRk;OEuAsw%-F`d|%@n;4Xr=cA05pVYzmV|DeYw|Bx&}-wo#P=6wXAkY&nhO!hPjdD=kaX_V zMC9Z77q@Pq0t%OE^)1OVlPnAPYdZNj#sU_Xk7nvW$h(y)O;d0tKlCvxNn!`D3q1d_ zvv@)ESl@Z5-;PMG@rIm@XIff7abQ{qvEGC}f0w$o@3Y0}^|2`ygv``04fK%g@ayZa zesw42M(uXEp>DwLvjeNE`G)4FSmT#1?=wB!G&#arZiUuI%`s5m_Nja#3*>7^sy@}> zZZ+bV6geNzncR`r8|~31c_;bs(S{WbDe!~x4SG3k>F^BhZ$BLGUR>`rDV6`*+6nrj zJpWbL0)Q{I;0T}|j2|Ef5HJ8LBhBG%Fg^f?-vFp>@A@IOn0fCx~_-u|*|TrRH#xLgHc5BO7O{`d+oNdY+# zVNr+>1OgHig+K)PL3{%IAOTr9 zh@zs1AfJ#B2yF1L`qj+ziXVZHa^Ei=@aR$Us)@1j8D(~_pJ24<_iH0E`-FY6a5dv2 zoovF@?oKkJ6q##fWRd{S6k$HEtHXqFKid#dVD#Yq_q}`c>yZRi4$xl9(e-w-0Y0xA zp+J60LR7NKevbWkayUg8)V=d}?zh1dAT@E1qTj0q_ozNyIv>OVJASV^O Rd Date: Mon, 28 Dec 2015 14:10:30 +0100 Subject: [PATCH 026/654] Ensure that the `baseTransform` is applied when rendering annotations Fixes 3350. Fixes 5946. Fixes 6334. Fixes 6722. Probably fixes 3826 (since the PDF files are no longer available, I cannot confirm it). --- src/display/canvas.js | 4 ++++ test/pdfs/.gitignore | 1 + test/pdfs/issue5946.pdf | Bin 0 -> 239220 bytes test/test_manifest.json | 7 +++++++ 4 files changed, 12 insertions(+) create mode 100644 test/pdfs/issue5946.pdf diff --git a/src/display/canvas.js b/src/display/canvas.js index 8f058d17..3cbf0c2c 100644 --- a/src/display/canvas.js +++ b/src/display/canvas.js @@ -1839,6 +1839,10 @@ var CanvasGraphics = (function CanvasGraphicsClosure() { beginAnnotations: function CanvasGraphics_beginAnnotations() { this.save(); this.current = new CanvasExtraState(); + + if (this.baseTransform) { + this.ctx.setTransform.apply(this.ctx, this.baseTransform); + } }, endAnnotations: function CanvasGraphics_endAnnotations() { diff --git a/test/pdfs/.gitignore b/test/pdfs/.gitignore index d3a76808..34e5dc65 100644 --- a/test/pdfs/.gitignore +++ b/test/pdfs/.gitignore @@ -11,6 +11,7 @@ !issue2391-2.pdf !issue4665.pdf !issue5801.pdf +!issue5946.pdf !issue5972.pdf !issue5874.pdf !filled-background.pdf diff --git a/test/pdfs/issue5946.pdf b/test/pdfs/issue5946.pdf new file mode 100644 index 0000000000000000000000000000000000000000..af925d98a65e604a3ef83bfd1562d7deab3368da GIT binary patch literal 239220 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