From e581240ab39f5029039c5b3270939c8645008208 Mon Sep 17 00:00:00 2001 From: Tim van der Meij Date: Sun, 2 Apr 2017 20:50:17 +0200 Subject: [PATCH] Annotations: implement support for line annotations This patch implements support for line annotations. Other viewers only show the popup annotation when hovering over the line, which may have any orientation. To make this possible, we render an invisible line (SVG element) over the line on the canvas that acts as the trigger for the popup annotation. This invisible line has the same starting coordinates, ending coordinates and width of the line on the canvas. --- src/core/annotation.js | 21 +++++++++ src/display/annotation_layer.js | 72 ++++++++++++++++++++++++++++++- test/pdfs/.gitignore | 1 + test/pdfs/annotation-line.pdf | Bin 0 -> 84943 bytes test/test_manifest.json | 7 +++ test/unit/annotation_spec.js | 21 +++++++++ web/annotation_layer_builder.css | 1 + 7 files changed, 122 insertions(+), 1 deletion(-) create mode 100755 test/pdfs/annotation-line.pdf diff --git a/src/core/annotation.js b/src/core/annotation.js index 0ca76bf6a6d798..a0fefdfc3f7cc0 100644 --- a/src/core/annotation.js +++ b/src/core/annotation.js @@ -115,6 +115,9 @@ AnnotationFactory.prototype = /** @lends AnnotationFactory.prototype */ { case 'Popup': return new PopupAnnotation(parameters); + case 'Line': + return new LineAnnotation(parameters); + case 'Highlight': return new HighlightAnnotation(parameters); @@ -955,6 +958,8 @@ var PopupAnnotation = (function PopupAnnotationClosure() { return; } + var parentSubtype = parentItem.get('Subtype'); + this.data.parentType = isName(parentSubtype) ? parentSubtype.name : null; this.data.parentId = dict.getRaw('Parent').toString(); this.data.title = stringToPDFString(parentItem.get('T') || ''); this.data.contents = stringToPDFString(parentItem.get('Contents') || ''); @@ -983,6 +988,22 @@ var PopupAnnotation = (function PopupAnnotationClosure() { return PopupAnnotation; })(); +var LineAnnotation = (function LineAnnotationClosure() { + function LineAnnotation(parameters) { + Annotation.call(this, parameters); + + this.data.annotationType = AnnotationType.LINE; + + var dict = parameters.dict; + this.data.lineCoordinates = Util.normalizeRect(dict.getArray('L')); + this._preparePopup(dict); + } + + Util.inherit(LineAnnotation, Annotation, {}); + + return LineAnnotation; +})(); + var HighlightAnnotation = (function HighlightAnnotationClosure() { function HighlightAnnotation(parameters) { Annotation.call(this, parameters); diff --git a/src/display/annotation_layer.js b/src/display/annotation_layer.js index 65fd7cacd30199..adc0684563811f 100644 --- a/src/display/annotation_layer.js +++ b/src/display/annotation_layer.js @@ -93,6 +93,9 @@ AnnotationElementFactory.prototype = case AnnotationType.POPUP: return new PopupAnnotationElement(parameters); + case AnnotationType.LINE: + return new LineAnnotationElement(parameters); + case AnnotationType.HIGHLIGHT: return new HighlightAnnotationElement(parameters); @@ -681,6 +684,10 @@ var ChoiceWidgetAnnotationElement = ( * @alias PopupAnnotationElement */ var PopupAnnotationElement = (function PopupAnnotationElementClosure() { + // Do not render popup annotations for parent elements with these types as + // they create the popups themselves (because of custom trigger divs). + var IGNORE_TYPES = ['Line']; + function PopupAnnotationElement(parameters) { var isRenderable = !!(parameters.data.title || parameters.data.contents); AnnotationElement.call(this, parameters, isRenderable); @@ -699,7 +706,7 @@ var PopupAnnotationElement = (function PopupAnnotationElementClosure() { var selector = '[data-annotation-id="' + this.data.parentId + '"]'; var parentElement = this.layer.querySelector(selector); - if (!parentElement) { + if (!parentElement || IGNORE_TYPES.indexOf(this.data.parentType) >= 0) { return this.container; } @@ -866,6 +873,69 @@ var PopupElement = (function PopupElementClosure() { return PopupElement; })(); +/** + * @class + * @alias LineAnnotationElement + */ +var LineAnnotationElement = (function LineAnnotationElementClosure() { + var SVG_NS = 'http://www.w3.org/2000/svg'; + + function LineAnnotationElement(parameters) { + var isRenderable = !!(parameters.data.hasPopup || + parameters.data.title || parameters.data.contents); + AnnotationElement.call(this, parameters, isRenderable, + /* ignoreBorder = */ true); + } + + Util.inherit(LineAnnotationElement, AnnotationElement, { + /** + * Render the line annotation's HTML element in the empty container. + * + * @public + * @memberof LineAnnotationElement + * @returns {HTMLSectionElement} + */ + render: function LineAnnotationElement_render() { + this.container.className = 'lineAnnotation'; + + // Create an invisible line with the same starting and ending coordinates + // that acts as the trigger for the popup. Only the line itself should + // trigger the popup, not the entire container. + var data = this.data; + var width = data.rect[2] - data.rect[0]; + var height = data.rect[3] - data.rect[1]; + + var svg = document.createElementNS(SVG_NS, 'svg:svg'); + svg.setAttributeNS(null, 'version', '1.1'); + svg.setAttributeNS(null, 'width', width + 'px'); + svg.setAttributeNS(null, 'height', height + 'px'); + svg.setAttributeNS(null, 'preserveAspectRatio', 'none'); + svg.setAttributeNS(null, 'viewBox', '0 0 ' + width + ' ' + height); + + // PDF coordinates are calculated from a bottom left origin, so transform + // the line coordinates to a top left origin for the SVG element. + var line = document.createElementNS(SVG_NS, 'svg:line'); + line.setAttributeNS(null, 'x1', data.rect[2] - data.lineCoordinates[0]); + line.setAttributeNS(null, 'y1', data.rect[3] - data.lineCoordinates[1]); + line.setAttributeNS(null, 'x2', data.rect[2] - data.lineCoordinates[2]); + line.setAttributeNS(null, 'y2', data.rect[3] - data.lineCoordinates[3]); + line.setAttributeNS(null, 'stroke-width', data.borderStyle.width); + line.setAttributeNS(null, 'stroke', 'transparent'); + + svg.appendChild(line); + this.container.append(svg); + + // Create the popup ourselves so that we can bind it to the line instead + // of to the entire container (which is the default). + this._createPopup(this.container, line, this.data); + + return this.container; + } + }); + + return LineAnnotationElement; +})(); + /** * @class * @alias HighlightAnnotationElement diff --git a/test/pdfs/.gitignore b/test/pdfs/.gitignore index 0f7eabc304ed7d..35aef99f15b96f 100644 --- a/test/pdfs/.gitignore +++ b/test/pdfs/.gitignore @@ -268,6 +268,7 @@ !annotation-strikeout.pdf !annotation-squiggly.pdf !annotation-highlight.pdf +!annotation-line.pdf !annotation-fileattachment.pdf !annotation-text-widget.pdf !annotation-choice-widget.pdf diff --git a/test/pdfs/annotation-line.pdf b/test/pdfs/annotation-line.pdf new file mode 100755 index 0000000000000000000000000000000000000000..2a81992e723586c97abd7301121b00e40cbf2b1e GIT binary patch literal 84943 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≫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 bO)X;|y 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%0D2VuB`D3j$#I!TnWMGDPEsfay5vOC`-;iLm7m@3g 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 literal 0 HcmV?d00001 diff --git a/test/test_manifest.json b/test/test_manifest.json index bf7aee0bde94e3..ac3f4ac953ec67 100644 --- a/test/test_manifest.json +++ b/test/test_manifest.json @@ -3357,6 +3357,13 @@ "type": "eq", "annotations": true }, + { "id": "annotation-line", + "file": "pdfs/annotation-line.pdf", + "md5": "fde60608be2748f10fb6522cba425ca1", + "rounds": 1, + "type": "eq", + "annotations": true + }, { "id": "annotation-fileattachment", "file": "pdfs/annotation-fileattachment.pdf", "md5": "d20ecee4b53c81b2dd44c8715a1b4a83", diff --git a/test/unit/annotation_spec.js b/test/unit/annotation_spec.js index 9693b4e58fac8e..7b7af73b4f152e 100644 --- a/test/unit/annotation_spec.js +++ b/test/unit/annotation_spec.js @@ -1287,6 +1287,27 @@ describe('annotation', function() { }); }); + describe('LineAnnotation', function() { + it('should set the line coordinates', function() { + var lineDict = new Dict(); + lineDict.set('Type', Name.get('Annot')); + lineDict.set('Subtype', Name.get('Line')); + lineDict.set('L', [1, 2, 3, 4]); + + var lineRef = new Ref(122, 0); + var xref = new XRefMock([ + { ref: lineRef, data: lineDict, } + ]); + + var annotation = annotationFactory.create(xref, lineRef, pdfManagerMock, + idFactoryMock); + var data = annotation.data; + expect(data.annotationType).toEqual(AnnotationType.LINE); + + expect(data.lineCoordinates).toEqual([1, 2, 3, 4]); + }); + }); + describe('FileAttachmentAnnotation', function() { it('should correctly parse a file attachment', function() { var fileStream = new StringStream( diff --git a/web/annotation_layer_builder.css b/web/annotation_layer_builder.css index 982f661340fea7..234d3d70eea761 100644 --- a/web/annotation_layer_builder.css +++ b/web/annotation_layer_builder.css @@ -143,6 +143,7 @@ .annotationLayer .underlineAnnotation, .annotationLayer .squigglyAnnotation, .annotationLayer .strikeoutAnnotation, +.annotationLayer .lineAnnotation svg line, .annotationLayer .fileAttachmentAnnotation { cursor: pointer; }