Adding and removing annotations (issue #165).
public sealed class PdfPage
ISO 32000-2 §12.5. Each Add…Annotation method writes the annotation dictionary (§12.5.2 and the subtype's table in
§12.5.6), appends it to the page's Annots and draws its normal appearance stream (§12.5.5), so viewers that do not
generate appearances show it as Broadside does; the new annotation is returned as its typed view. A failure changes nothing.
Each call records the versions its entries need, so a save raises an older document or refuses in strict mode.
kind:method, kind:property, kind:ctor. Press Esc to clear.AdditionalActionsGets the page's additional actions (AA, PDF 1.2): actions when the page opens and closes; null when absent.AnnotationsGets the page's annotations, in the order of its Annots array, each typed by its subtype.ArtBoxGets or sets the art box: the extent of the page's meaningful content.AssociatedFilesGets the files associated with the page (AF).BleedBoxGets or sets the bleed box: the region the contents are clipped to in a production environment.CropBoxGets or sets the crop box: the region the page's contents are clipped to when displayed or printed. Inheritable.DictionaryGets the page object.MediaBoxGets or sets the media box: the boundaries of the physical medium the page is displayed or printed on. Inheritable.OutputIntentsGets the page's own output intents (OutputIntents, PDF 2.0), in the order written; empty when it has none.ReferenceGets the indirect reference to the page object, or null when the page tree holds it directly (until a page edit through Pages makes it indirect).ResourcesGets the resource dictionary the page's content streams use, or null when the page has none. Inheritable.RotationGets or sets the number of degrees the page is rotated clockwise when displayed or printed: 0, 90, 180 or 270. Inheritable.TransparencyGroupGets the attributes of the page group when the page has a transparency Group, else null.TrimBoxGets or sets the trim box: the intended dimensions of the finished page after trimming.UserUnitGets the size of a default user space unit in multiples of 1/72 inch. 1.0 when absent or not positive.AddCircleAnnotation(PdfRectangle, PdfAnnotationOptions?)Adds a circle annotation: the ellipse inscribed in rect.AddFreeTextAnnotation(PdfRectangle, String, PdfAnnotationOptions?)Adds a free text annotation: text drawn on the page, wrapped inside rect.AddHighlightAnnotation(IReadOnlyList<PdfQuadrilateral>, PdfAnnotationOptions?)Adds a highlight annotation over the text in quadrilaterals, filled in its colour under the Multiply blend mode.AddInkAnnotation(IReadOnlyList<IReadOnlyList<PathPoint>>, PdfAnnotationOptions?)Adds an ink annotation: freehand strokes, each through its points with round caps and joins; its rectangle is fitted to them.AddLineAnnotation(PathPoint, PathPoint, PdfAnnotationOptions?)Adds a line annotation from start to end; its rectangle is fitted to the line.AddLinkAnnotation(PdfRectangle, PdfPage)Adds a link annotation to a page of the same document, shown whole (/Fit), with no border.AddLinkAnnotation(PdfRectangle, Uri)Adds a link annotation to a URI, with no border.AddPolygonAnnotation(IReadOnlyList<PathPoint>, PdfAnnotationOptions?)Adds a polygon annotation: the closed shape through vertices; its rectangle is fitted to them.AddPolyLineAnnotation(IReadOnlyList<PathPoint>, PdfAnnotationOptions?)Adds a polyline annotation: the open path through vertices; its rectangle is fitted to them.AddSquareAnnotation(PdfRectangle, PdfAnnotationOptions?)Adds a square annotation: a rectangle drawn inside rect.AddSquigglyAnnotation(IReadOnlyList<PdfQuadrilateral>, PdfAnnotationOptions?)Adds a squiggly underline annotation under the text in quadrilaterals.AddStampAnnotation(PdfRectangle, String, PdfAnnotationOptions?)Adds a rubber stamp annotation: name in capitals in a rounded frame, filling rect.AddStrikeOutAnnotation(IReadOnlyList<PdfQuadrilateral>, PdfAnnotationOptions?)Adds a strikeout annotation through the text in quadrilaterals.AddTextAnnotation(PdfRectangle, String, PdfAnnotationOptions?)Adds a text annotation: a note shown as an icon in rect, whose text a viewer shows when it is opened.AddUnderlineAnnotation(IReadOnlyList<PdfQuadrilateral>, PdfAnnotationOptions?)Adds an underline annotation under the text in quadrilaterals.CreateCanvas()Returns a canvas that draws on the page, after its existing content; dispose it to store what was drawn.CreateDisplayList()Builds the page's display list: its content interpreted once into resolved drawing operations any backend replays.CreateDisplayList(ContentOptions)Builds the page's display list, with limits and cancellation.CreateDisplayList(DisplayLayers, DisplayIntent, ContentOptions)Builds the display list of some of the page's layers for an intent, with limits and cancellation.CreateDisplayList(DisplayLayers)Builds the display list of some of the page's layers, for the screen: content, annotations, form fields, or any combination.CreateHitTestIndex()Builds the page's hit-test index: its display list's glyphs, images and paths, and its link annotations.CreateHitTestIndex(DisplayList, PdfOptionalContentState?)Builds the page's hit-test index from a display list the caller already has, adding the page's link annotations.CreateTransparencyGroup()Gives the page a page group, writing << /Type /Group /S /Transparency >> as its Group, and returns the group's attributes to set; returns the existing attributes when the page already has one.ExtractLayout()Builds the page's layout tree: the nodes of the document's layout tree that have content on this page.ExtractLayout(LayoutOptions)Builds the page's layout tree with options.ExtractText()Extracts the page's text: every glyph its content shows, with its Unicode text, position, font, size and rendering mode.ExtractText(TextExtractionOptions)Extracts the page's text with options.GetFont(String)Returns the font the page's resources name resourceName, as the Tf operator selects it.GetImage(String)Returns the image XObject the page's resources name resourceName, as the Do operator paints it.PrefetchAsync(CancellationToken)Fetches, asynchronously, the objects reading this page needs, so that interpreting it afterwards never waits on the network: the page object, its resources (inherited ones included), its content streams, annotations and their appearances, and everything they refer to, but not other pages.ProcessContent(ContentProcessor, ContentOptions)Runs the page's content through the content interpreter, with limits and cancellation.ProcessContent(ContentProcessor)Runs the page's content through the content interpreter and reports what it paints to processor.RemoveAnnotation(PdfAnnotation)Removes an annotation from the page with its pop-up, the replies to it (IRT) on the page and their pop-ups, and the structure tree's references to each; a pop-up removed on its own is removed from its parent's Popup.RewriteContent(ContentEditor, ContentOptions)Runs the page's content through editor with limits and cancellation, and stores the edited content.RewriteContent(ContentEditor)Runs the page's content through editor and, when it made edits, replaces the content with the result: one stream in which every byte the edits did not touch is as it was.