PeachBrackets
PeachBrackets.Tagging
IStructureTagSink Interface
What the fragment painter needs from a structure (tagged-PDF) recorder while it walks the page: open the structure element a
box maps to, around the marked content it paints. The painter knows nothing about how the structure is stored or written;
PeachPDF.PdfFeatures.StructureTagBuilder is the implementation that builds a PDF structure tree. Each Open* call returns a
scope whose disposal closes what it opened.
public interface IStructureTagSink
| Properties | |
|---|---|
| IsInMarkedContent | Whether content painted now already lands inside a marked-content sequence; marked content must not nest. |
| Methods | |
|---|---|
| AttachMathMlSource(StructureNode, string) | Attaches the MathML source of a formula to its structure element. |
| LinkAdded(StructureNode, object) | Called by HtmlDocument.PaintLinks for each link it has put on a canvas whose AddLink handed back a handle, with the structure node of the content the link covers, so a tagged format can tie the link to that element. Does nothing by default. |
| OpenArtifact(Canvas) | Opens an artifact sequence on g: content that is not part of the document structure. |
| OpenContentElement(Canvas, StructureNode, string, string) | Opens a content element for node and the marked-content sequence g paints it in. |
| OpenGroupingElement(StructureNode, string) | Opens a grouping element for node that nests everything painted until the scope is disposed. |
| OpenListItemBodyElement(StructureNode) | Opens the body element of a list item, inside its list item element. |
| OpenPhantomAncestors(IReadOnlyList<PhantomAncestor>) | Re-opens the elements of the display: contents ancestors some content was lifted out of (outermost first). |