|
|
@ -22,8 +22,8 @@ if (typeof PDFJS === 'undefined') { |
|
|
|
(typeof window !== 'undefined' ? window : this).PDFJS = {}; |
|
|
|
(typeof window !== 'undefined' ? window : this).PDFJS = {}; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
PDFJS.version = '1.1.299'; |
|
|
|
PDFJS.version = '1.1.301'; |
|
|
|
PDFJS.build = '2817f00'; |
|
|
|
PDFJS.build = 'cf6d40f'; |
|
|
|
|
|
|
|
|
|
|
|
(function pdfjsWrapper() { |
|
|
|
(function pdfjsWrapper() { |
|
|
|
// Use strict in our context only - users might not want it
|
|
|
|
// Use strict in our context only - users might not want it
|
|
|
@ -6657,12 +6657,12 @@ var AnnotationUtils = (function AnnotationUtilsClosure() { |
|
|
|
// Border color
|
|
|
|
// Border color
|
|
|
|
if (item.color) { |
|
|
|
if (item.color) { |
|
|
|
container.style.borderColor = |
|
|
|
container.style.borderColor = |
|
|
|
Util.makeCssRgb(Math.round(item.color[0] * 255), |
|
|
|
Util.makeCssRgb(item.color[0] | 0, |
|
|
|
Math.round(item.color[1] * 255), |
|
|
|
item.color[1] | 0, |
|
|
|
Math.round(item.color[2] * 255)); |
|
|
|
item.color[2] | 0); |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
// Default color is black, but that's not obvious from the spec.
|
|
|
|
// Transparent (invisible) border, so do not draw it at all.
|
|
|
|
container.style.borderColor = 'rgb(0,0,0)'; |
|
|
|
container.style.borderWidth = 0; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -6729,17 +6729,15 @@ var AnnotationUtils = (function AnnotationUtilsClosure() { |
|
|
|
content.setAttribute('hidden', true); |
|
|
|
content.setAttribute('hidden', true); |
|
|
|
|
|
|
|
|
|
|
|
var i, ii; |
|
|
|
var i, ii; |
|
|
|
if (item.hasBgColor) { |
|
|
|
if (item.hasBgColor && item.color) { |
|
|
|
var color = item.color; |
|
|
|
var color = item.color; |
|
|
|
|
|
|
|
|
|
|
|
// Enlighten the color (70%)
|
|
|
|
// Enlighten the color (70%)
|
|
|
|
var BACKGROUND_ENLIGHT = 0.7; |
|
|
|
var BACKGROUND_ENLIGHT = 0.7; |
|
|
|
var r = BACKGROUND_ENLIGHT * (1.0 - color[0]) + color[0]; |
|
|
|
var r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0]; |
|
|
|
var g = BACKGROUND_ENLIGHT * (1.0 - color[1]) + color[1]; |
|
|
|
var g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1]; |
|
|
|
var b = BACKGROUND_ENLIGHT * (1.0 - color[2]) + color[2]; |
|
|
|
var b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2]; |
|
|
|
content.style.backgroundColor = Util.makeCssRgb((r * 255) | 0, |
|
|
|
content.style.backgroundColor = Util.makeCssRgb(r | 0, g | 0, b | 0); |
|
|
|
(g * 255) | 0, |
|
|
|
|
|
|
|
(b * 255) | 0); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
var title = document.createElement('h1'); |
|
|
|
var title = document.createElement('h1'); |
|
|
@ -11387,28 +11385,8 @@ var Annotation = (function AnnotationClosure() { |
|
|
|
data.rect = Util.normalizeRect(rect); |
|
|
|
data.rect = Util.normalizeRect(rect); |
|
|
|
data.annotationFlags = dict.get('F'); |
|
|
|
data.annotationFlags = dict.get('F'); |
|
|
|
|
|
|
|
|
|
|
|
var color = dict.get('C'); |
|
|
|
this.setColor(dict.get('C')); |
|
|
|
if (!color) { |
|
|
|
data.color = this.color; |
|
|
|
// The PDF spec does not mention how a missing color array is interpreted.
|
|
|
|
|
|
|
|
// Adobe Reader seems to default to black in this case.
|
|
|
|
|
|
|
|
data.color = [0, 0, 0]; |
|
|
|
|
|
|
|
} else if (isArray(color)) { |
|
|
|
|
|
|
|
switch (color.length) { |
|
|
|
|
|
|
|
case 0: |
|
|
|
|
|
|
|
// Empty array denotes transparent border.
|
|
|
|
|
|
|
|
data.color = null; |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case 1: |
|
|
|
|
|
|
|
// TODO: implement DeviceGray
|
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case 3: |
|
|
|
|
|
|
|
data.color = color; |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case 4: |
|
|
|
|
|
|
|
// TODO: implement DeviceCMYK
|
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
this.borderStyle = data.borderStyle = new AnnotationBorderStyle(); |
|
|
|
this.borderStyle = data.borderStyle = new AnnotationBorderStyle(); |
|
|
|
this.setBorderStyle(dict); |
|
|
|
this.setBorderStyle(dict); |
|
|
@ -11419,6 +11397,48 @@ var Annotation = (function AnnotationClosure() { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
Annotation.prototype = { |
|
|
|
Annotation.prototype = { |
|
|
|
|
|
|
|
/** |
|
|
|
|
|
|
|
* Set the color and take care of color space conversion. |
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* @public |
|
|
|
|
|
|
|
* @memberof Annotation |
|
|
|
|
|
|
|
* @param {Array} color - The color array containing either 0 |
|
|
|
|
|
|
|
* (transparent), 1 (grayscale), 3 (RGB) or |
|
|
|
|
|
|
|
* 4 (CMYK) elements |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
setColor: function Annotation_setColor(color) { |
|
|
|
|
|
|
|
var rgbColor = new Uint8Array(3); // Black in RGB color space (default)
|
|
|
|
|
|
|
|
if (!isArray(color)) { |
|
|
|
|
|
|
|
this.color = rgbColor; |
|
|
|
|
|
|
|
return; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
switch (color.length) { |
|
|
|
|
|
|
|
case 0: // Transparent, which we indicate with a null value
|
|
|
|
|
|
|
|
this.color = null; |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
case 1: // Convert grayscale to RGB
|
|
|
|
|
|
|
|
ColorSpace.singletons.gray.getRgbItem(color, 0, rgbColor, 0); |
|
|
|
|
|
|
|
this.color = rgbColor; |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
case 3: // Convert RGB percentages to RGB
|
|
|
|
|
|
|
|
ColorSpace.singletons.rgb.getRgbItem(color, 0, rgbColor, 0); |
|
|
|
|
|
|
|
this.color = rgbColor; |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
case 4: // Convert CMYK to RGB
|
|
|
|
|
|
|
|
ColorSpace.singletons.cmyk.getRgbItem(color, 0, rgbColor, 0); |
|
|
|
|
|
|
|
this.color = rgbColor; |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
default: |
|
|
|
|
|
|
|
this.color = rgbColor; |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
* Set the border style (as AnnotationBorderStyle object). |
|
|
|
* Set the border style (as AnnotationBorderStyle object). |
|
|
|
* |
|
|
|
* |
|
|
|