Foxit PDF SDK
foxit::addon::accessibility::TagTreeEditor Class Reference
Inheritance diagram for foxit::addon::accessibility::TagTreeEditor:
foxit::Base

Public Types

enum  ArtifactAttachToSideType {
  e_ArtifactAttachToSideTypeNone = 0, e_ArtifactAttachToSideTypeLeft = 1, e_ArtifactAttachToSideTypeTop = 2, e_ArtifactAttachToSideTypeRight = 3,
  e_ArtifactAttachToSideTypeBottom = 4
}
 Enumeration for artifact attach-to-side type. More...
 
enum  ArtifactType { e_ArtifactTypePage = 0, e_ArtifactTypePagination = 1, e_ArtifactTypeLayout = 2 }
 Enumeration for artifact type. More...
 

Public Member Functions

 TagTreeEditor (const foxit::pdf::PDFDoc &pdf_doc)
 Constructor. More...
 
 TagTreeEditor (const TagTreeEditor &other)
 Constructor, with another tag editor object. More...
 
 ~TagTreeEditor ()
 Destructor.
 
TagTreeItemArray AddNewTag (const char *selected_tag_id, const wchar_t *type, const wchar_t *title)
 Add a new tag to the tag tree. More...
 
TagTreeItemArray AddTagForAnnotation (bool is_tag_annotations, const pdf::annots::Annot &annot, int page_index, const char *selected_tag_id)
 Add tag for annotation. More...
 
bool ChangeTagToArtifact (const StringArray &selected_tag_ids, ArtifactType artifact_type, ArtifactAttachToSideType artifact_to_side)
 Change tag to artifact. More...
 
TagTreeItemArray CreateTagFromSelectionByContent (const foxit::StringArray &selected_content_ids, const char *selected_tag_id)
 Create tag from selection by content. More...
 
TagTreeItemArray CreateTagFromSelectionByElement (int page_index, const char *selected_tag_id)
 Create tag from selection by element. More...
 
TagTreeItemArray CreateTagFromSelectionByTag (const foxit::StringArray &selected_tag_ids, const char *last_selected_tag_id)
 Create tag from selection by tag. More...
 
TagTreeItemArray CreateTagFromSelectionByText (int page_index, const RectFArray &selected_text_rects, const char *selected_tag_id)
 Create tag from selection by text. More...
 
TagTreeItemArray DeleteEmptyTags (const foxit::StringArray &selected_tag_ids)
 Delete empty tags from the tag tree. More...
 
TagTreeItemArray DeleteTags (const foxit::StringArray &selected_tag_ids)
 Delete specified tags from the tag tree. More...
 
foxit::StringArray FindTagFromSelection (const foxit::StringArray &selected_tag_ids)
 Find tag from selection. More...
 
WString GetAllContents (const char *selected_tag_id)
 Get all contents of a specified tag item. More...
 
StringArray GetContentTreeItemIDsByTagItemID (const char *selected_tag_id)
 Get content tree item IDs by tag item ID. More...
 
TagProperty GetTagPropertyByID (const char *item_id)
 Get tag property by tag item ID. More...
 
TagTreeItemArray GetTagTree ()
 Get the tag tree of the current PDF document. More...
 
TagTreeMenuItemDataArray GetTagTreeContextMenuItems (const TagTreeMenuInputData &input_data)
 Get context menu items for tag tree. More...
 
bool IsEmpty () const
 Check whether current object is empty or not. More...
 
TagTreeItemArray MoveTags (const foxit::StringArray &source_tag_ids, const char *dest_tag_id, bool is_moved_as_child)
 Move tags in the tag tree. More...
 
bool operator!= (const TagTreeEditor &other) const
 Not equal operator. More...
 
TagTreeEditor & operator= (const TagTreeEditor &other)
 Assign operator. More...
 
bool operator== (const TagTreeEditor &other) const
 Equal operator. More...
 
bool SetDocAsTaggedPDF ()
 Set the current PDF document as a tagged PDF. More...
 
bool SetTagPropertyActualText (const char *item_id, const wchar_t *actual_text)
 Set tag property actual text for a specified tag item. More...
 
bool SetTagPropertyAlternateText (const char *item_id, const wchar_t *alternate_text)
 Set tag property alternate text for a specified tag item. More...
 
bool SetTagPropertyID (const char *item_id, const wchar_t *id)
 Set tag property ID for a specified tag item. More...
 
bool SetTagPropertyLanguage (const char *item_id, const wchar_t *language)
 Set tag property language for a specified tag item. More...
 
bool SetTagPropertyTitle (const char *item_id, const wchar_t *title)
 Set tag property title for a specified tag item. More...
 
bool SetTagPropertyType (const char *item_id, const wchar_t *type)
 Set tag property type for a specified tag item. More...
 
- Public Member Functions inherited from foxit::Base
FS_HANDLE Handle () const
 Get the handle of current object. More...
 

Detailed Description

This class lets user edit the tag tree (structure tree) of a PDF document: query and modify tag properties, add / delete / move tags, create tags from selection, change tags to artifacts and mark the document as a tagged PDF. Before using any class or methods in this module, please ensure Foxit PDF SDK has been initialized successfully by function common::Library::Initialize with a key including "Accessibility" module.

See also
common::Library

Member Enumeration Documentation

◆ ArtifactAttachToSideType

Enumeration for artifact attach-to-side type.

Values of this enumeration should be used alone.

Enumerator
e_ArtifactAttachToSideTypeNone 

Artifact attach side: none.

e_ArtifactAttachToSideTypeLeft 

Artifact attach side: left.

e_ArtifactAttachToSideTypeTop 

Artifact attach side: top.

e_ArtifactAttachToSideTypeRight 

Artifact attach side: right.

e_ArtifactAttachToSideTypeBottom 

Artifact attach side: bottom.

◆ ArtifactType

Enumeration for artifact type.

Values of this enumeration should be used alone.

Enumerator
e_ArtifactTypePage 

Artifact type: page-level artifact.

e_ArtifactTypePagination 

Artifact type: pagination-related artifact (e.g., headers/footers).

e_ArtifactTypeLayout 

Artifact type: layout artifact (visual layout elements).

Constructor & Destructor Documentation

◆ TagTreeEditor() [1/2]

foxit::addon::accessibility::TagTreeEditor::TagTreeEditor ( const foxit::pdf::PDFDoc &  pdf_doc)
explicit

Constructor.

Parameters
[in]pdf_docA valid PDF document object.

◆ TagTreeEditor() [2/2]

foxit::addon::accessibility::TagTreeEditor::TagTreeEditor ( const TagTreeEditor &  other)

Constructor, with another tag editor object.

Parameters
[in]otherAnother tag editor object.

Member Function Documentation

◆ AddNewTag()

TagTreeItemArray foxit::addon::accessibility::TagTreeEditor::AddNewTag ( const char *  selected_tag_id,
const wchar_t *  type,
const wchar_t *  title 
)

Add a new tag to the tag tree.

Parameters
[in]selected_tag_idThe selected tag ID as parent.
[in]typeThe tag type.
[in]titleThe tag title.
Returns
The updated tag tree item array.

◆ AddTagForAnnotation()

TagTreeItemArray foxit::addon::accessibility::TagTreeEditor::AddTagForAnnotation ( bool  is_tag_annotations,
const pdf::annots::Annot &  annot,
int  page_index,
const char *  selected_tag_id 
)

Add tag for annotation.

Parameters
[in]is_tag_annotationsWhether to tag annotations.
[in]annotThe annotation object.
[in]page_indexThe page index. Valid range: from 0 to (count-1), where count is returned by function pdf::PDFDoc::GetPageCount.
[in]selected_tag_idThe selected tag ID.
Returns
The updated tag tree item array.

◆ ChangeTagToArtifact()

bool foxit::addon::accessibility::TagTreeEditor::ChangeTagToArtifact ( const StringArray &  selected_tag_ids,
ArtifactType  artifact_type,
ArtifactAttachToSideType  artifact_to_side 
)

Change tag to artifact.

Parameters
[in]selected_tag_idsThe selected tag IDs.
[in]artifact_typeThe artifact type. Please refer to ArtifactType.
[in]artifact_to_sideThe artifact attach to side type. Please refer to ArtifactAttachToSideType.
Returns
true means success, while false means not.

◆ CreateTagFromSelectionByContent()

TagTreeItemArray foxit::addon::accessibility::TagTreeEditor::CreateTagFromSelectionByContent ( const foxit::StringArray &  selected_content_ids,
const char *  selected_tag_id 
)

Create tag from selection by content.

Parameters
[in]selected_content_idsThe selected content IDs.
[in]selected_tag_idThe selected tag ID.
Returns
The updated tag tree item array.

◆ CreateTagFromSelectionByElement()

TagTreeItemArray foxit::addon::accessibility::TagTreeEditor::CreateTagFromSelectionByElement ( int  page_index,
const char *  selected_tag_id 
)

Create tag from selection by element.

Parameters
[in]page_indexThe page index. Valid range: from 0 to (count-1), where count is returned by function pdf::PDFDoc::GetPageCount.
[in]selected_tag_idThe selected tag ID.
Returns
The updated tag tree item array.

◆ CreateTagFromSelectionByTag()

TagTreeItemArray foxit::addon::accessibility::TagTreeEditor::CreateTagFromSelectionByTag ( const foxit::StringArray &  selected_tag_ids,
const char *  last_selected_tag_id 
)

Create tag from selection by tag.

Parameters
[in]selected_tag_idsThe selected tag IDs.
[in]last_selected_tag_idThe last selected tag ID.
Returns
The updated tag tree item array.

◆ CreateTagFromSelectionByText()

TagTreeItemArray foxit::addon::accessibility::TagTreeEditor::CreateTagFromSelectionByText ( int  page_index,
const RectFArray &  selected_text_rects,
const char *  selected_tag_id 
)

Create tag from selection by text.

Parameters
[in]page_indexThe page index. Valid range: from 0 to (count-1), where count is returned by function pdf::PDFDoc::GetPageCount.
[in]selected_text_rectsThe selected text rectangles.
[in]selected_tag_idThe selected tag ID.
Returns
The updated tag tree item array.

◆ DeleteEmptyTags()

TagTreeItemArray foxit::addon::accessibility::TagTreeEditor::DeleteEmptyTags ( const foxit::StringArray &  selected_tag_ids)

Delete empty tags from the tag tree.

Parameters
[in]selected_tag_idsThe array of tag IDs to check for empty tags.
Returns
The updated tag tree item array.

◆ DeleteTags()

TagTreeItemArray foxit::addon::accessibility::TagTreeEditor::DeleteTags ( const foxit::StringArray &  selected_tag_ids)

Delete specified tags from the tag tree.

Parameters
[in]selected_tag_idsThe array of tag IDs to delete.
Returns
The updated tag tree item array.

◆ FindTagFromSelection()

foxit::StringArray foxit::addon::accessibility::TagTreeEditor::FindTagFromSelection ( const foxit::StringArray &  selected_tag_ids)

Find tag from selection.

Parameters
[in]selected_tag_idsThe selected tag IDs.
Returns
The array of found tag IDs.

◆ GetAllContents()

WString foxit::addon::accessibility::TagTreeEditor::GetAllContents ( const char *  selected_tag_id)

Get all contents of a specified tag item.

Parameters
[in]selected_tag_idThe selected tag ID.
Returns
The content text.

◆ GetContentTreeItemIDsByTagItemID()

StringArray foxit::addon::accessibility::TagTreeEditor::GetContentTreeItemIDsByTagItemID ( const char *  selected_tag_id)

Get content tree item IDs by tag item ID.

Parameters
[in]selected_tag_idThe selected tag ID.
Returns
The array of content tree item IDs.

◆ GetTagPropertyByID()

TagProperty foxit::addon::accessibility::TagTreeEditor::GetTagPropertyByID ( const char *  item_id)

Get tag property by tag item ID.

Parameters
[in]item_idThe tag item ID, obtained from TagTreeItemData::item_id of items returned by TagTreeEditor::GetTagTree.
Returns
The tag property object.
Note
The tag item referenced by item_id must be a structure element (TagTreeItemData::e_TagNodeTypeElement) node. Reference-type nodes such as marked content (TagTreeItemData::e_TagNodeTypeMarkedContentSeq) or object reference (TagTreeItemData::e_TagNodeTypeObject) do not carry this property and will cause the call to fail.

◆ GetTagTree()

TagTreeItemArray foxit::addon::accessibility::TagTreeEditor::GetTagTree ( )

Get the tag tree of the current PDF document.

Returns
The tag tree item array.

◆ GetTagTreeContextMenuItems()

TagTreeMenuItemDataArray foxit::addon::accessibility::TagTreeEditor::GetTagTreeContextMenuItems ( const TagTreeMenuInputData &  input_data)

Get context menu items for tag tree.

Parameters
[in]input_dataThe input data for context menu.
Returns
The array of menu item data.

◆ IsEmpty()

bool foxit::addon::accessibility::TagTreeEditor::IsEmpty ( ) const

Check whether current object is empty or not.

When the current object is empty, that means current object is useless.

Returns
true means current object is empty, while false means not.

◆ MoveTags()

TagTreeItemArray foxit::addon::accessibility::TagTreeEditor::MoveTags ( const foxit::StringArray &  source_tag_ids,
const char *  dest_tag_id,
bool  is_moved_as_child 
)

Move tags in the tag tree.

Parameters
[in]source_tag_idsThe source tag IDs to move.
[in]dest_tag_idThe destination tag ID.
[in]is_moved_as_childWhether to move as child of destination.
Returns
The updated tag tree item array.

◆ operator!=()

bool foxit::addon::accessibility::TagTreeEditor::operator!= ( const TagTreeEditor &  other) const

Not equal operator.

Parameters
[in]otherAnother tag editor object. This function will check if current object is not equal to this one.
Returns
true means not equal, while false means equal.

◆ operator=()

TagTreeEditor& foxit::addon::accessibility::TagTreeEditor::operator= ( const TagTreeEditor &  other)

Assign operator.

Parameters
[in]otherAnother tag editor object, whose value would be assigned to current object.
Returns
Reference to current object itself.

◆ operator==()

bool foxit::addon::accessibility::TagTreeEditor::operator== ( const TagTreeEditor &  other) const

Equal operator.

Parameters
[in]otherAnother tag editor object. This function will check if current object is equal to this one.
Returns
true means equal, while false means not equal.

◆ SetDocAsTaggedPDF()

bool foxit::addon::accessibility::TagTreeEditor::SetDocAsTaggedPDF ( )

Set the current PDF document as a tagged PDF.

Returns
true means success, while false means not.

◆ SetTagPropertyActualText()

bool foxit::addon::accessibility::TagTreeEditor::SetTagPropertyActualText ( const char *  item_id,
const wchar_t *  actual_text 
)

Set tag property actual text for a specified tag item.

Parameters
[in]item_idThe tag item ID, obtained from TagTreeItemData::item_id of items returned by TagTreeEditor::GetTagTree.
[in]actual_textThe actual text to set.
Returns
true means success, while false means not.
Note
The tag item referenced by item_id must be a structure element (TagTreeItemData::e_TagNodeTypeElement) node. Reference-type nodes such as marked content (TagTreeItemData::e_TagNodeTypeMarkedContentSeq) or object reference (TagTreeItemData::e_TagNodeTypeObject) do not carry this property and will cause the call to fail.

◆ SetTagPropertyAlternateText()

bool foxit::addon::accessibility::TagTreeEditor::SetTagPropertyAlternateText ( const char *  item_id,
const wchar_t *  alternate_text 
)

Set tag property alternate text for a specified tag item.

Parameters
[in]item_idThe tag item ID, obtained from TagTreeItemData::item_id of items returned by TagTreeEditor::GetTagTree.
[in]alternate_textThe alternate text to set.
Returns
true means success, while false means not.
Note
The tag item referenced by item_id must be a structure element (TagTreeItemData::e_TagNodeTypeElement) node. Reference-type nodes such as marked content (TagTreeItemData::e_TagNodeTypeMarkedContentSeq) or object reference (TagTreeItemData::e_TagNodeTypeObject) do not carry this property and will cause the call to fail.

◆ SetTagPropertyID()

bool foxit::addon::accessibility::TagTreeEditor::SetTagPropertyID ( const char *  item_id,
const wchar_t *  id 
)

Set tag property ID for a specified tag item.

Parameters
[in]item_idThe tag item ID, obtained from TagTreeItemData::item_id of items returned by TagTreeEditor::GetTagTree.
[in]idThe ID to set.
Returns
true means success, while false means not.
Note
The tag item referenced by item_id must be a structure element (TagTreeItemData::e_TagNodeTypeElement) node. Reference-type nodes such as marked content (TagTreeItemData::e_TagNodeTypeMarkedContentSeq) or object reference (TagTreeItemData::e_TagNodeTypeObject) do not carry this property and will cause the call to fail.

◆ SetTagPropertyLanguage()

bool foxit::addon::accessibility::TagTreeEditor::SetTagPropertyLanguage ( const char *  item_id,
const wchar_t *  language 
)

Set tag property language for a specified tag item.

Parameters
[in]item_idThe tag item ID, obtained from TagTreeItemData::item_id of items returned by TagTreeEditor::GetTagTree.
[in]languageThe language to set.
Returns
true means success, while false means not.
Note
The tag item referenced by item_id must be a structure element (TagTreeItemData::e_TagNodeTypeElement) node. Reference-type nodes such as marked content (TagTreeItemData::e_TagNodeTypeMarkedContentSeq) or object reference (TagTreeItemData::e_TagNodeTypeObject) do not carry this property and will cause the call to fail.

◆ SetTagPropertyTitle()

bool foxit::addon::accessibility::TagTreeEditor::SetTagPropertyTitle ( const char *  item_id,
const wchar_t *  title 
)

Set tag property title for a specified tag item.

Parameters
[in]item_idThe tag item ID, obtained from TagTreeItemData::item_id of items returned by TagTreeEditor::GetTagTree.
[in]titleThe tag title to set.
Returns
true means success, while false means not.
Note
The tag item referenced by item_id must be a structure element (TagTreeItemData::e_TagNodeTypeElement) node. Reference-type nodes such as marked content (TagTreeItemData::e_TagNodeTypeMarkedContentSeq) or object reference (TagTreeItemData::e_TagNodeTypeObject) do not carry this property and will cause the call to fail.

◆ SetTagPropertyType()

bool foxit::addon::accessibility::TagTreeEditor::SetTagPropertyType ( const char *  item_id,
const wchar_t *  type 
)

Set tag property type for a specified tag item.

Parameters
[in]item_idThe tag item ID, obtained from TagTreeItemData::item_id of items returned by TagTreeEditor::GetTagTree.
[in]typeThe tag type to set.
Returns
true means success, while false means not.
Note
The tag item referenced by item_id must be a structure element (TagTreeItemData::e_TagNodeTypeElement) node. Reference-type nodes such as marked content (TagTreeItemData::e_TagNodeTypeMarkedContentSeq) or object reference (TagTreeItemData::e_TagNodeTypeObject) do not carry this property and will cause the call to fail.