public class TagStructureContext extends Object implements Serializable
TagStructureContext
class is used to track necessary information of document's tag structure. It is also used to make some global modifications of the tag tree like removing or flushing page tags, however these two methods and also others are called automatically and are for the most part for internal usage.
PdfDocument
. To obtain instance of this class use PdfDocument.getTagStructureContext()
.
Modifier and Type | Field and Description |
---|---|
protected TagTreePointer |
autoTaggingPointer |
Constructor and Description |
---|
TagStructureContext(PdfDocument document)
Do not use this constructor, instead use PdfDocument.getTagStructureContext() method.
|
TagStructureContext(PdfDocument document, PdfVersion tagStructureTargetVersion) |
Modifier and Type | Method and Description |
---|---|
void |
actualizeTagsProperties()
Method for internal usages.
|
TagTreePointer |
createPointerForStructElem(PdfStructElem structElem)
Creates a new TagTreePointer which points at given PdfStructElem .
|
TagStructureContext |
flushPageTags(PdfPage page)
Flushes the tags which are considered to belong to the given page.
|
TagTreePointer |
getAutoTaggingPointer()
All document auto tagging logic uses TagTreePointer returned by this method to manipulate tag structure.
|
PdfStructElem |
getPointerStructElem(TagTreePointer pointer)
Gets PdfStructElem at which TagTreePointer points.
|
PdfVersion |
getTagStructureTargetVersion() |
boolean |
isElementConnectedToTag(IAccessibleElement element)
Checks if given IAccessibleElement is connected to some tag.
|
TagStructureContext |
moveTagPointerToTag(IAccessibleElement element, TagTreePointer tagPointer)
Sets the tag, which is connected with the given accessible element, as a current tag for the given TagTreePointer .
|
void |
normalizeDocumentRootTag()
Transforms root tags in a way that complies with the PDF References.
|
TagStructureContext |
removeAllConnectionsToTags()
Destroys all the retained connections.
|
TagTreePointer |
removeAnnotationTag(PdfAnnotation annotation)
Removes annotation content item from the tag structure.
|
TagTreePointer |
removeContentItem(PdfPage page, int mcid)
Removes content item from the tag structure.
|
TagStructureContext |
removeElementConnectionToTag(IAccessibleElement element)
Destroys the connection between the given accessible element and the tag to which this element is connected to.
|
TagStructureContext |
removePageTags(PdfPage page)
Removes all tags that belong only to this page.
|
TagStructureContext |
setForbidUnknownRoles(boolean forbidUnknownRoles)
If forbidUnknownRoles is set to true, then if you would try to add new tag which has not a standard role and it's role is not mapped through RoleMap, an exception will be raised.
|
protected TagTreePointer autoTaggingPointer
public TagStructureContext(PdfDocument document)
PdfDocument.getTagStructureContext()
method.
TagStructureContext
for document. There shall be only one instance of this class per PdfDocument
.
document
- the document which tag structure will be manipulated with this class.
public TagStructureContext(PdfDocument document, PdfVersion tagStructureTargetVersion)
public TagStructureContext setForbidUnknownRoles(boolean forbidUnknownRoles)
forbidUnknownRoles
- new value of the flag
TagStructureContext
instance.
public PdfVersion getTagStructureTargetVersion()
public TagTreePointer getAutoTaggingPointer()
TagTreePointer
returned by this method to manipulate tag structure. Typically it points at the root tag. This pointer also could be used to tweak auto tagging process (e.g. move this pointer to the Sect tag, which would result in placing all automatically tagged content under Sect tag).
TagTreePointer
which is used for all auto tagging of the document.
public boolean isElementConnectedToTag(IAccessibleElement element)
IAccessibleElement
is connected to some tag.
element
- element to check if it has a connected tag.
public TagStructureContext removeElementConnectionToTag(IAccessibleElement element)
element
- IAccessibleElement
which connection to the tag (if there is one) will be removed.
TagStructureContext
instance.
public TagTreePointer removeAnnotationTag(PdfAnnotation annotation)
TagTreePointer
instance which points at annotation tag parent if annotation was removed, otherwise returns null.
public TagTreePointer removeContentItem(PdfPage page, int mcid)
page
- page, which contains this content item
mcid
- marked content id of this content item
TagTreePointer
which points at the parent of the removed content item, or null if there is no such mcid on given page.
public TagStructureContext removePageTags(PdfPage page)
flushPageTags(PdfPage)
.
page
- page that defines which tags are to be removed
TagStructureContext
instance.
public TagStructureContext moveTagPointerToTag(IAccessibleElement element, TagTreePointer tagPointer)
TagTreePointer
. An exception will be thrown, if given accessible element is not connected to any tag.
element
- an element which has a connection with some tag.
tagPointer
- TagTreePointer
which will be moved to the tag connected to the given accessible element.
TagStructureContext
instance.
public TagStructureContext removeAllConnectionsToTags()
TagStructureContext
instance.
public TagStructureContext flushPageTags(PdfPage page)
page
- a page which tags will be flushed.
public void normalizeDocumentRootTag()
public void actualizeTagsProperties()
public PdfStructElem getPointerStructElem(TagTreePointer pointer)
Gets PdfStructElem
at which TagTreePointer
points.
PdfStructElem
is a low level class, use it carefully, especially in conjunction with high level TagTreePointer
and TagStructureContext
classes.
pointer
- a TagTreePointer
which points at desired PdfStructElem
.
PdfStructElem
at which given TagTreePointer
points.
public TagTreePointer createPointerForStructElem(PdfStructElem structElem)
TagTreePointer
which points at given PdfStructElem
.
structElem
- a PdfStructElem
for which TagTreePointer
will be created.
TagTreePointer
.
Copyright © 1998–2018 iText Group NV. All rights reserved.