Package org.apache.pdfbox.tools
Class PDFText2Markdown.FontState
- java.lang.Object
-
- org.apache.pdfbox.tools.PDFText2Markdown.FontState
-
- Enclosing class:
- PDFText2Markdown
private static class PDFText2Markdown.FontState extends java.lang.ObjectA helper class to maintain the current font state. Its public methods will emit opening and closing tags as needed and in the correct order.Responsible for applying Markdown formatting based on font properties. Supports bold and italic text based on font descriptors.
-
-
Constructor Summary
Constructors Modifier Constructor Description privateFontState()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Stringclear()Closes all open Markdown formatting.private java.lang.Stringclose(java.lang.String tag)private java.lang.StringcloseTag(java.lang.String tag)private intcloseUntil(java.lang.StringBuilder tagsBuilder, java.lang.String endTag)private booleanisBold(PDFontDescriptor descriptor)private booleanisItalic(PDFontDescriptor descriptor)private java.lang.Stringopen(java.lang.String tag)private java.lang.StringopenTag(java.lang.String tag)protected java.lang.Stringpush(java.lang.StringBuilder buffer, char character, TextPosition textPosition)java.lang.Stringpush(java.lang.String text, java.util.List<TextPosition> textPositions)Pushes newTextPositionsinto the font state.
-
-
-
Method Detail
-
push
public java.lang.String push(java.lang.String text, java.util.List<TextPosition> textPositions)Pushes newTextPositionsinto the font state. The state is only preserved correctly for each letter if the number of letters intextmatches the number ofTextPositionobjects. Otherwise, it's done once for the complete array (just by looking at its first entry).- Returns:
- A string that contains the text including tag changes caused by its font state.
-
clear
public java.lang.String clear()
Closes all open Markdown formatting.- Returns:
- A string that contains the closing tags of all currently open Markdown formatting.
-
push
protected java.lang.String push(java.lang.StringBuilder buffer, char character, TextPosition textPosition)
-
open
private java.lang.String open(java.lang.String tag)
-
close
private java.lang.String close(java.lang.String tag)
-
closeUntil
private int closeUntil(java.lang.StringBuilder tagsBuilder, java.lang.String endTag)
-
openTag
private java.lang.String openTag(java.lang.String tag)
-
closeTag
private java.lang.String closeTag(java.lang.String tag)
-
isBold
private boolean isBold(PDFontDescriptor descriptor)
-
isItalic
private boolean isItalic(PDFontDescriptor descriptor)
-
-