public class OutlineHandler extends Object
OutlineHandler handles creating outlines for marks.
Marks are extracted via interface IOutlineMarkExtractor.
This class is not reusable and a new instance shall be created for every new conversion process.
| Modifier and Type | Field and Description |
|---|---|
protected com.itextpdf.kernel.pdf.PdfOutline |
currentOutline
The current outline.
|
protected Deque<com.itextpdf.commons.datastructures.Tuple2<String,com.itextpdf.kernel.pdf.PdfDictionary>> |
destinationsInProcess
The destinations in process.
|
protected Deque<Integer> |
levelsInProcess
The levels in process.
|
protected IOutlineMarkExtractor |
markExtractor
The mark extractor defines what part of element will be used to create outline
|
| Constructor and Description |
|---|
OutlineHandler()
Creates an OutlineHandler with standard
TagOutlineMarkExtractor. |
| Modifier and Type | Method and Description |
|---|---|
protected OutlineHandler |
addOutlineAndDestToDocument(ITagWorker tagWorker,
com.itextpdf.styledxmlparser.node.IElementNode element,
ProcessorContext context)
Adds the outline and the destination.
|
static OutlineHandler |
createHandler(IOutlineMarkExtractor extractor)
Creates an OutlineHandler with custom
IOutlineMarkExtractor |
static OutlineHandler |
createStandardHandler()
Creates an OutlineHandler with standard
TagOutlineMarkExtractor and predefined mappings. |
protected String |
generateOutlineName(com.itextpdf.styledxmlparser.node.IElementNode element)
Generate the outline name.
|
protected String |
generateUniqueDestinationName(com.itextpdf.styledxmlparser.node.IElementNode element)
Generate the unique destination name.
|
String |
getDestinationNamePrefix()
Gets the destination name prefix.
|
IOutlineMarkExtractor |
getMarkExtractor()
Get mark extractor.
|
Integer |
getMarkPriorityMapping(String markName)
Gets the mark from priority mapping.
|
Integer |
getTagPriorityMapping(String tagName)
Deprecated.
use
getMarkPriorityMapping(String) instead |
boolean |
hasMarkPriorityMapping(String markName)
Checks for tag in priority mapping.
|
boolean |
hasTagPriorityMapping(String tagName)
Deprecated.
use
hasMarkPriorityMapping(String) instead |
OutlineHandler |
putAllMarksPriorityMappings(Map<String,Integer> mappings)
Put all marks into priority mappings.
|
OutlineHandler |
putAllTagPriorityMappings(Map<String,Integer> mappings)
Deprecated.
ue
putAllMarksPriorityMappings(Map) instead |
OutlineHandler |
putMarkPriorityMapping(String markName,
Integer priority)
Put mark into priority mapping.
|
OutlineHandler |
putTagPriorityMapping(String tagName,
Integer priority)
Deprecated.
use
putMarkPriorityMapping(String, Integer) instead |
void |
reset()
Resets the current state so that this
OutlineHandler is ready to process new document |
void |
setDestinationNamePrefix(String destinationNamePrefix)
Sets the destination name prefix.
|
protected OutlineHandler |
setDestinationToElement(ITagWorker tagWorker,
com.itextpdf.styledxmlparser.node.IElementNode element)
Sets the destination to element.
|
OutlineHandler |
setMarkExtractor(IOutlineMarkExtractor extractor)
Set mark extractor.
|
protected com.itextpdf.kernel.pdf.PdfOutline currentOutline
protected Deque<com.itextpdf.commons.datastructures.Tuple2<String,com.itextpdf.kernel.pdf.PdfDictionary>> destinationsInProcess
protected IOutlineMarkExtractor markExtractor
public OutlineHandler()
TagOutlineMarkExtractor.public static OutlineHandler createStandardHandler()
TagOutlineMarkExtractor and predefined mappings.public static OutlineHandler createHandler(IOutlineMarkExtractor extractor)
IOutlineMarkExtractorextractor - the mark extractorpublic IOutlineMarkExtractor getMarkExtractor()
public OutlineHandler setMarkExtractor(IOutlineMarkExtractor extractor)
extractor - the mark extractor@Deprecated public OutlineHandler putTagPriorityMapping(String tagName, Integer priority)
putMarkPriorityMapping(String, Integer) insteadtagName - the tag namepriority - the prioritypublic OutlineHandler putMarkPriorityMapping(String markName, Integer priority)
markName - the mark namepriority - the priority@Deprecated public OutlineHandler putAllTagPriorityMappings(Map<String,Integer> mappings)
putAllMarksPriorityMappings(Map) insteadmappings - the mappingspublic OutlineHandler putAllMarksPriorityMappings(Map<String,Integer> mappings)
mappings - the mappings@Deprecated public Integer getTagPriorityMapping(String tagName)
getMarkPriorityMapping(String) insteadtagName - the tag namepublic Integer getMarkPriorityMapping(String markName)
markName - the mark name@Deprecated public boolean hasTagPriorityMapping(String tagName)
hasMarkPriorityMapping(String) insteadtagName - the tag namepublic boolean hasMarkPriorityMapping(String markName)
markName - the mark namepublic void reset()
OutlineHandler is ready to process new documentpublic void setDestinationNamePrefix(String destinationNamePrefix)
generateUniqueDestinationName(com.itextpdf.styledxmlparser.node.IElementNode) method.destinationNamePrefix - the destination name prefixpublic String getDestinationNamePrefix()
generateUniqueDestinationName(com.itextpdf.styledxmlparser.node.IElementNode) method.protected String generateUniqueDestinationName(com.itextpdf.styledxmlparser.node.IElementNode element)
addOutlineAndDestToDocument(com.itextpdf.html2pdf.attach.ITagWorker, com.itextpdf.styledxmlparser.node.IElementNode, com.itextpdf.html2pdf.attach.ProcessorContext) method. You can override this method to set
your own way to generate the destination names, to avoid the destination name conflicts when
merging several PDF files created by html2pdf.element - the elementprotected String generateOutlineName(com.itextpdf.styledxmlparser.node.IElementNode element)
addOutlineAndDestToDocument(com.itextpdf.html2pdf.attach.ITagWorker, com.itextpdf.styledxmlparser.node.IElementNode, com.itextpdf.html2pdf.attach.ProcessorContext) method.
You can override this method to set your own way to generate the outline names.element - the elementprotected OutlineHandler addOutlineAndDestToDocument(ITagWorker tagWorker, com.itextpdf.styledxmlparser.node.IElementNode element, ProcessorContext context)
tagWorker - the tag workerelement - the elementcontext - the processor contextprotected OutlineHandler setDestinationToElement(ITagWorker tagWorker, com.itextpdf.styledxmlparser.node.IElementNode element)
addOutlineAndDestToDocument(com.itextpdf.html2pdf.attach.ITagWorker, com.itextpdf.styledxmlparser.node.IElementNode, com.itextpdf.html2pdf.attach.ProcessorContext) method
to the tag worker element.tagWorker - the tag workerelement - the elementCopyright © 1998–2024 Apryse Group NV. All rights reserved.