1
0
Fork 0
mirror of https://github.com/mozilla/pdf.js.git synced 2025-04-22 16:18:08 +02:00

Implement contents for every annotation type

The specification states that `Contents` can be available for every
annotation types instead of only for markup annotations.
This commit is contained in:
Tim van der Meij 2019-05-18 15:52:17 +02:00
parent 1421b2f205
commit cf07918ccb
No known key found for this signature in database
GPG key ID: 8C3FD2925A5F2762
2 changed files with 30 additions and 2 deletions

View file

@ -173,8 +173,9 @@ function getTransformMatrix(rect, bbox, matrix) {
class Annotation {
constructor(params) {
let dict = params.dict;
const dict = params.dict;
this.setContents(dict.get('Contents'));
this.setCreationDate(dict.get('CreationDate'));
this.setModificationDate(dict.get('M'));
this.setFlags(dict.get('F'));
@ -188,6 +189,7 @@ class Annotation {
annotationFlags: this.flags,
borderStyle: this.borderStyle,
color: this.color,
contents: this.contents,
creationDate: this.creationDate,
hasAppearance: !!this.appearance,
id: params.id,
@ -242,6 +244,19 @@ class Annotation {
return this._isPrintable(this.flags);
}
/**
* Set the contents.
*
* @public
* @memberof Annotation
* @param {string} contents - Text to display for the annotation or, if the
* type of annotation does not display text, a
* description of the annotation's contents
*/
setContents(contents) {
this.contents = stringToPDFString(contents || '');
}
/**
* Set the creation date.
*
@ -623,7 +638,6 @@ class MarkupAnnotation extends Annotation {
this.data.hasPopup = dict.has('Popup');
this.data.title = stringToPDFString(dict.get('T') || '');
this.data.contents = stringToPDFString(dict.get('Contents') || '');
}
}