|
@@ -22,8 +22,8 @@ if (typeof PDFJS === 'undefined') {
|
|
|
(typeof window !== 'undefined' ? window : this).PDFJS = {};
|
|
|
}
|
|
|
|
|
|
-PDFJS.version = '1.0.1017';
|
|
|
-PDFJS.build = 'a17735d';
|
|
|
+PDFJS.version = '1.0.1019';
|
|
|
+PDFJS.build = '6e994b1';
|
|
|
|
|
|
(function pdfjsWrapper() {
|
|
|
// Use strict in our context only - users might not want it
|
|
@@ -6361,26 +6361,27 @@ var AnnotationUtils = (function AnnotationUtilsClosure() {
|
|
|
style.fontFamily = fontFamily + fallbackName;
|
|
|
}
|
|
|
|
|
|
- // TODO(mack): Remove this, it's not really that helpful.
|
|
|
- function getEmptyContainer(tagName, rect, borderWidth) {
|
|
|
- var bWidth = borderWidth || 0;
|
|
|
- var element = document.createElement(tagName);
|
|
|
- element.style.borderWidth = bWidth + 'px';
|
|
|
- var width = rect[2] - rect[0] - 2 * bWidth;
|
|
|
- var height = rect[3] - rect[1] - 2 * bWidth;
|
|
|
- element.style.width = width + 'px';
|
|
|
- element.style.height = height + 'px';
|
|
|
- return element;
|
|
|
- }
|
|
|
-
|
|
|
- function initContainer(item) {
|
|
|
- var container = getEmptyContainer('section', item.rect, item.borderWidth);
|
|
|
- container.style.backgroundColor = item.color;
|
|
|
+ function initContainer(item, drawBorder) {
|
|
|
+ var container = document.createElement('section');
|
|
|
+ var cstyle = container.style;
|
|
|
+ var width = item.rect[2] - item.rect[0];
|
|
|
+ var height = item.rect[3] - item.rect[1];
|
|
|
|
|
|
- var color = item.color;
|
|
|
- item.colorCssRgb = Util.makeCssRgb(Math.round(color[0] * 255),
|
|
|
- Math.round(color[1] * 255),
|
|
|
- Math.round(color[2] * 255));
|
|
|
+ var bWidth = item.borderWidth || 0;
|
|
|
+ if (bWidth) {
|
|
|
+ width = width - 2 * bWidth;
|
|
|
+ height = height - 2 * bWidth;
|
|
|
+ cstyle.borderWidth = bWidth + 'px';
|
|
|
+ var color = item.color;
|
|
|
+ if (drawBorder && color) {
|
|
|
+ cstyle.borderStyle = 'solid';
|
|
|
+ cstyle.borderColor = Util.makeCssRgb(Math.round(color[0] * 255),
|
|
|
+ Math.round(color[1] * 255),
|
|
|
+ Math.round(color[2] * 255));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ cstyle.width = width + 'px';
|
|
|
+ cstyle.height = height + 'px';
|
|
|
|
|
|
var highlight = document.createElement('div');
|
|
|
highlight.className = 'annotationHighlight';
|
|
@@ -6395,7 +6396,11 @@ var AnnotationUtils = (function AnnotationUtilsClosure() {
|
|
|
}
|
|
|
|
|
|
function getHtmlElementForTextWidgetAnnotation(item, commonObjs) {
|
|
|
- var element = getEmptyContainer('div', item.rect, 0);
|
|
|
+ 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';
|
|
|
|
|
|
var content = document.createElement('div');
|
|
@@ -6425,7 +6430,7 @@ var AnnotationUtils = (function AnnotationUtilsClosure() {
|
|
|
rect[2] = rect[0] + (rect[3] - rect[1]); // make it square
|
|
|
}
|
|
|
|
|
|
- var container = initContainer(item);
|
|
|
+ var container = initContainer(item, false);
|
|
|
container.className = 'annotText';
|
|
|
|
|
|
var image = document.createElement('img');
|
|
@@ -6534,12 +6539,9 @@ var AnnotationUtils = (function AnnotationUtilsClosure() {
|
|
|
}
|
|
|
|
|
|
function getHtmlElementForLinkAnnotation(item) {
|
|
|
- var container = initContainer(item);
|
|
|
+ var container = initContainer(item, true);
|
|
|
container.className = 'annotLink';
|
|
|
|
|
|
- container.style.borderColor = item.colorCssRgb;
|
|
|
- container.style.borderStyle = 'solid';
|
|
|
-
|
|
|
var link = document.createElement('a');
|
|
|
link.href = link.title = item.url || '';
|
|
|
|
|
@@ -11063,12 +11065,26 @@ var Annotation = (function AnnotationClosure() {
|
|
|
data.annotationFlags = dict.get('F');
|
|
|
|
|
|
var color = dict.get('C');
|
|
|
- if (isArray(color) && color.length === 3) {
|
|
|
- // TODO(mack): currently only supporting rgb; need support different
|
|
|
- // colorspaces
|
|
|
- data.color = color;
|
|
|
- } else {
|
|
|
+ if (!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;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
// Some types of annotations have border style dict which has more
|
|
@@ -11085,7 +11101,7 @@ var Annotation = (function AnnotationClosure() {
|
|
|
if (data.borderWidth > 0 && dashArray) {
|
|
|
if (!isArray(dashArray)) {
|
|
|
// Ignore the border if dashArray is not actually an array,
|
|
|
- // this is consistent with the behaviour in Adobe Reader.
|
|
|
+ // this is consistent with the behaviour in Adobe Reader.
|
|
|
data.borderWidth = 0;
|
|
|
} else {
|
|
|
var dashArrayLength = dashArray.length;
|