|
|
|
@ -28,8 +28,8 @@ factory((root.pdfjsDistBuildPdfCombined = {}));
@@ -28,8 +28,8 @@ factory((root.pdfjsDistBuildPdfCombined = {}));
|
|
|
|
|
// Use strict in our context only - users might not want it
|
|
|
|
|
'use strict'; |
|
|
|
|
|
|
|
|
|
var pdfjsVersion = '1.6.214'; |
|
|
|
|
var pdfjsBuild = '7b2a9ee'; |
|
|
|
|
var pdfjsVersion = '1.6.217'; |
|
|
|
|
var pdfjsBuild = '9b3a91f'; |
|
|
|
|
|
|
|
|
|
var pdfjsFilePath = |
|
|
|
|
typeof document !== 'undefined' && document.currentScript ? |
|
|
|
@ -1878,15 +1878,15 @@ var Util = (function UtilClosure() {
@@ -1878,15 +1878,15 @@ var Util = (function UtilClosure() {
|
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
Util.getInheritableProperty = function Util_getInheritableProperty(dict, |
|
|
|
|
name) { |
|
|
|
|
Util.getInheritableProperty = |
|
|
|
|
function Util_getInheritableProperty(dict, name, getArray) { |
|
|
|
|
while (dict && !dict.has(name)) { |
|
|
|
|
dict = dict.get('Parent'); |
|
|
|
|
} |
|
|
|
|
if (!dict) { |
|
|
|
|
return null; |
|
|
|
|
} |
|
|
|
|
return dict.get(name); |
|
|
|
|
return getArray ? dict.getArray(name) : dict.get(name); |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
Util.inherit = function Util_inherit(sub, base, prototype) { |
|
|
|
@ -24229,6 +24229,8 @@ AnnotationElementFactory.prototype =
@@ -24229,6 +24229,8 @@ AnnotationElementFactory.prototype =
|
|
|
|
|
switch (fieldType) { |
|
|
|
|
case 'Tx': |
|
|
|
|
return new TextWidgetAnnotationElement(parameters); |
|
|
|
|
case 'Ch': |
|
|
|
|
return new ChoiceWidgetAnnotationElement(parameters); |
|
|
|
|
} |
|
|
|
|
return new WidgetAnnotationElement(parameters); |
|
|
|
|
|
|
|
|
@ -24553,9 +24555,7 @@ var TextAnnotationElement = (function TextAnnotationElementClosure() {
@@ -24553,9 +24555,7 @@ var TextAnnotationElement = (function TextAnnotationElementClosure() {
|
|
|
|
|
* @alias WidgetAnnotationElement |
|
|
|
|
*/ |
|
|
|
|
var WidgetAnnotationElement = (function WidgetAnnotationElementClosure() { |
|
|
|
|
function WidgetAnnotationElement(parameters) { |
|
|
|
|
var isRenderable = parameters.renderInteractiveForms || |
|
|
|
|
(!parameters.data.hasAppearance && !!parameters.data.fieldValue); |
|
|
|
|
function WidgetAnnotationElement(parameters, isRenderable) { |
|
|
|
|
AnnotationElement.call(this, parameters, isRenderable); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -24585,7 +24585,9 @@ var TextWidgetAnnotationElement = (
@@ -24585,7 +24585,9 @@ var TextWidgetAnnotationElement = (
|
|
|
|
|
var TEXT_ALIGNMENT = ['left', 'center', 'right']; |
|
|
|
|
|
|
|
|
|
function TextWidgetAnnotationElement(parameters) { |
|
|
|
|
WidgetAnnotationElement.call(this, parameters); |
|
|
|
|
var isRenderable = parameters.renderInteractiveForms || |
|
|
|
|
(!parameters.data.hasAppearance && !!parameters.data.fieldValue); |
|
|
|
|
WidgetAnnotationElement.call(this, parameters, isRenderable); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Util.inherit(TextWidgetAnnotationElement, WidgetAnnotationElement, { |
|
|
|
@ -24681,6 +24683,64 @@ var TextWidgetAnnotationElement = (
@@ -24681,6 +24683,64 @@ var TextWidgetAnnotationElement = (
|
|
|
|
|
return TextWidgetAnnotationElement; |
|
|
|
|
})(); |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @class |
|
|
|
|
* @alias ChoiceWidgetAnnotationElement |
|
|
|
|
*/ |
|
|
|
|
var ChoiceWidgetAnnotationElement = ( |
|
|
|
|
function ChoiceWidgetAnnotationElementClosure() { |
|
|
|
|
function ChoiceWidgetAnnotationElement(parameters) { |
|
|
|
|
WidgetAnnotationElement.call(this, parameters, |
|
|
|
|
parameters.renderInteractiveForms); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Util.inherit(ChoiceWidgetAnnotationElement, WidgetAnnotationElement, { |
|
|
|
|
/** |
|
|
|
|
* Render the choice widget annotation's HTML element in the empty |
|
|
|
|
* container. |
|
|
|
|
* |
|
|
|
|
* @public |
|
|
|
|
* @memberof ChoiceWidgetAnnotationElement |
|
|
|
|
* @returns {HTMLSectionElement} |
|
|
|
|
*/ |
|
|
|
|
render: function ChoiceWidgetAnnotationElement_render() { |
|
|
|
|
this.container.className = 'choiceWidgetAnnotation'; |
|
|
|
|
|
|
|
|
|
var selectElement = document.createElement('select'); |
|
|
|
|
selectElement.disabled = this.data.readOnly; |
|
|
|
|
|
|
|
|
|
if (!this.data.combo) { |
|
|
|
|
// List boxes have a size and (optionally) multiple selection.
|
|
|
|
|
selectElement.size = this.data.options.length; |
|
|
|
|
|
|
|
|
|
if (this.data.multiSelect) { |
|
|
|
|
selectElement.multiple = true; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Insert the options into the choice field.
|
|
|
|
|
for (var i = 0, ii = this.data.options.length; i < ii; i++) { |
|
|
|
|
var option = this.data.options[i]; |
|
|
|
|
|
|
|
|
|
var optionElement = document.createElement('option'); |
|
|
|
|
optionElement.textContent = option.displayValue; |
|
|
|
|
optionElement.value = option.exportValue; |
|
|
|
|
|
|
|
|
|
if (this.data.fieldValue.indexOf(option.displayValue) >= 0) { |
|
|
|
|
optionElement.setAttribute('selected', true); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
selectElement.appendChild(optionElement); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
this.container.appendChild(selectElement); |
|
|
|
|
return this.container; |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
return ChoiceWidgetAnnotationElement; |
|
|
|
|
})(); |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @class |
|
|
|
|
* @alias PopupAnnotationElement |
|
|
|
@ -49229,6 +49289,8 @@ AnnotationFactory.prototype = /** @lends AnnotationFactory.prototype */ {
@@ -49229,6 +49289,8 @@ AnnotationFactory.prototype = /** @lends AnnotationFactory.prototype */ {
|
|
|
|
|
switch (fieldType) { |
|
|
|
|
case 'Tx': |
|
|
|
|
return new TextWidgetAnnotation(parameters); |
|
|
|
|
case 'Ch': |
|
|
|
|
return new ChoiceWidgetAnnotation(parameters); |
|
|
|
|
} |
|
|
|
|
warn('Unimplemented widget field type "' + fieldType + '", ' + |
|
|
|
|
'falling back to base field type.'); |
|
|
|
@ -49742,8 +49804,8 @@ var WidgetAnnotation = (function WidgetAnnotationClosure() {
@@ -49742,8 +49804,8 @@ var WidgetAnnotation = (function WidgetAnnotationClosure() {
|
|
|
|
|
var data = this.data; |
|
|
|
|
|
|
|
|
|
data.annotationType = AnnotationType.WIDGET; |
|
|
|
|
data.fieldValue = stringToPDFString( |
|
|
|
|
Util.getInheritableProperty(dict, 'V') || ''); |
|
|
|
|
data.fieldValue = Util.getInheritableProperty(dict, 'V', |
|
|
|
|
/* getArray = */ true); |
|
|
|
|
data.alternativeText = stringToPDFString(dict.get('TU') || ''); |
|
|
|
|
data.defaultAppearance = Util.getInheritableProperty(dict, 'DA') || ''; |
|
|
|
|
var fieldType = Util.getInheritableProperty(dict, 'FT'); |
|
|
|
@ -49755,6 +49817,8 @@ var WidgetAnnotation = (function WidgetAnnotationClosure() {
@@ -49755,6 +49817,8 @@ var WidgetAnnotation = (function WidgetAnnotationClosure() {
|
|
|
|
|
data.fieldFlags = 0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
data.readOnly = this.hasFieldFlag(AnnotationFieldFlag.READONLY); |
|
|
|
|
|
|
|
|
|
// Hide signatures because we cannot validate them.
|
|
|
|
|
if (data.fieldType === 'Sig') { |
|
|
|
|
this.setFlags(AnnotationFlag.HIDDEN); |
|
|
|
@ -49816,6 +49880,9 @@ var TextWidgetAnnotation = (function TextWidgetAnnotationClosure() {
@@ -49816,6 +49880,9 @@ var TextWidgetAnnotation = (function TextWidgetAnnotationClosure() {
|
|
|
|
|
function TextWidgetAnnotation(params) { |
|
|
|
|
WidgetAnnotation.call(this, params); |
|
|
|
|
|
|
|
|
|
// The field value is always a string.
|
|
|
|
|
this.data.fieldValue = stringToPDFString(this.data.fieldValue || ''); |
|
|
|
|
|
|
|
|
|
// Determine the alignment of text in the field.
|
|
|
|
|
var alignment = Util.getInheritableProperty(params.dict, 'Q'); |
|
|
|
|
if (!isInt(alignment) || alignment < 0 || alignment > 2) { |
|
|
|
@ -49831,7 +49898,6 @@ var TextWidgetAnnotation = (function TextWidgetAnnotationClosure() {
@@ -49831,7 +49898,6 @@ var TextWidgetAnnotation = (function TextWidgetAnnotationClosure() {
|
|
|
|
|
this.data.maxLen = maximumLength; |
|
|
|
|
|
|
|
|
|
// Process field flags for the display layer.
|
|
|
|
|
this.data.readOnly = this.hasFieldFlag(AnnotationFieldFlag.READONLY); |
|
|
|
|
this.data.multiLine = this.hasFieldFlag(AnnotationFieldFlag.MULTILINE); |
|
|
|
|
this.data.comb = this.hasFieldFlag(AnnotationFieldFlag.COMB) && |
|
|
|
|
!this.hasFieldFlag(AnnotationFieldFlag.MULTILINE) && |
|
|
|
@ -49875,6 +49941,62 @@ var TextWidgetAnnotation = (function TextWidgetAnnotationClosure() {
@@ -49875,6 +49941,62 @@ var TextWidgetAnnotation = (function TextWidgetAnnotationClosure() {
|
|
|
|
|
return TextWidgetAnnotation; |
|
|
|
|
})(); |
|
|
|
|
|
|
|
|
|
var ChoiceWidgetAnnotation = (function ChoiceWidgetAnnotationClosure() { |
|
|
|
|
function ChoiceWidgetAnnotation(params) { |
|
|
|
|
WidgetAnnotation.call(this, params); |
|
|
|
|
|
|
|
|
|
// Determine the options. The options array may consist of strings or
|
|
|
|
|
// arrays. If the array consists of arrays, then the first element of
|
|
|
|
|
// each array is the export value and the second element of each array is
|
|
|
|
|
// the display value. If the array consists of strings, then these
|
|
|
|
|
// represent both the export and display value. In this case, we convert
|
|
|
|
|
// it to an array of arrays as well for convenience in the display layer.
|
|
|
|
|
this.data.options = []; |
|
|
|
|
|
|
|
|
|
var options = params.dict.getArray('Opt'); |
|
|
|
|
if (isArray(options)) { |
|
|
|
|
for (var i = 0, ii = options.length; i < ii; i++) { |
|
|
|
|
var option = options[i]; |
|
|
|
|
|
|
|
|
|
this.data.options[i] = { |
|
|
|
|
exportValue: isArray(option) ? option[0] : option, |
|
|
|
|
displayValue: isArray(option) ? option[1] : option, |
|
|
|
|
}; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Determine the field value. In this case, it may be a string or an
|
|
|
|
|
// array of strings. For convenience in the display layer, convert the
|
|
|
|
|
// string to an array of one string as well.
|
|
|
|
|
if (!isArray(this.data.fieldValue)) { |
|
|
|
|
this.data.fieldValue = [this.data.fieldValue]; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Process field flags for the display layer.
|
|
|
|
|
this.data.combo = this.hasFieldFlag(AnnotationFieldFlag.COMBO); |
|
|
|
|
this.data.multiSelect = this.hasFieldFlag(AnnotationFieldFlag.MULTISELECT); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Util.inherit(ChoiceWidgetAnnotation, WidgetAnnotation, { |
|
|
|
|
getOperatorList: |
|
|
|
|
function ChoiceWidgetAnnotation_getOperatorList(evaluator, task, |
|
|
|
|
renderForms) { |
|
|
|
|
var operatorList = new OperatorList(); |
|
|
|
|
|
|
|
|
|
// Do not render form elements on the canvas when interactive forms are
|
|
|
|
|
// enabled. The display layer is responsible for rendering them instead.
|
|
|
|
|
if (renderForms) { |
|
|
|
|
return Promise.resolve(operatorList); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return Annotation.prototype.getOperatorList.call(this, evaluator, task, |
|
|
|
|
renderForms); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
return ChoiceWidgetAnnotation; |
|
|
|
|
})(); |
|
|
|
|
|
|
|
|
|
var TextAnnotation = (function TextAnnotationClosure() { |
|
|
|
|
var DEFAULT_ICON_SIZE = 22; // px
|
|
|
|
|
|
|
|
|
|