Package com.itextpdf.svg.utils
Class SvgTextUtil
java.lang.Object
com.itextpdf.svg.utils.SvgTextUtil
Class containing utility methods for text operations in the context of SVG processing
-
Method Summary
Modifier and TypeMethodDescriptionstatic void
applyTextDecoration
(ISvgTextNodeRenderer renderer, boolean doFill, boolean doStroke, SvgDrawContext context) Processes text-decoration attribute which is shorthand for text-decoration-line and text-decoration-style.static String
filterReferenceValue
(String name) The reference value may contain a hashtag character or 'url' designation and this method will filter them.static boolean
Check if the String is only composed of whitespace charactersstatic void
processWhiteSpace
(TextSvgBranchRenderer root, boolean isLeadingElement) Deprecated.static void
processWhiteSpace
(TextSvgBranchRenderer root, boolean isLeadingElement, SvgDrawContext context) Process the whitespace inside the Text Tree.static float
resolveFontSize
(ISvgTextNodeRenderer renderer, float parentFontSize) Deprecated.will be removed together withTextLeafSvgNodeRenderer.getTextContentLength(float, PdfFont)
static String
trimLeadingWhitespace
(String toTrim) Trim all the leading whitespace characters from the passed stringstatic String
trimTrailingWhitespace
(String toTrim) Trim all the trailing whitespace characters from the passed string
-
Method Details
-
trimLeadingWhitespace
Trim all the leading whitespace characters from the passed string- Parameters:
-
toTrim
- string to trim - Returns:
- string with all leading whitespace characters removed
-
trimTrailingWhitespace
Trim all the trailing whitespace characters from the passed string- Parameters:
-
toTrim
- string to trim - Returns:
- string with al trailing whitespace characters removed
-
processWhiteSpace
@Deprecated public static void processWhiteSpace(TextSvgBranchRenderer root, boolean isLeadingElement) Deprecated.Process the whitespace inside the Text Tree. Whitespace is collapsed and new lines are handled A leading element in each subtree is handled different: the preceding whitespace is trimmed instead of kept- Parameters:
-
root
- root of the text-renderer subtree -
isLeadingElement
- true if this element is a leading element(either the first child or the first element after an absolute position change)
-
processWhiteSpace
public static void processWhiteSpace(TextSvgBranchRenderer root, boolean isLeadingElement, SvgDrawContext context) Process the whitespace inside the Text Tree. Whitespace is collapsed and new lines are handled A leading element in each subtree is handled different: the preceding whitespace is trimmed instead of kept- Parameters:
-
root
- root of the text-renderer subtree -
isLeadingElement
- true if this element is a leading element(either the first child or the first element after an absolute position change) -
context
- the svg draw context
-
isOnlyWhiteSpace
Check if the String is only composed of whitespace characters- Parameters:
-
s
- string to check - Returns:
- true if the string only contains whitespace characters, false otherwise
-
resolveFontSize
@Deprecated public static float resolveFontSize(ISvgTextNodeRenderer renderer, float parentFontSize) Deprecated.will be removed together withTextLeafSvgNodeRenderer.getTextContentLength(float, PdfFont)
Resolve the font size stored inside the passed renderer- Parameters:
-
renderer
- renderer containing the font size declaration -
parentFontSize
- parent font size to fall back on if the renderer does not contain a font size declarations or if the stored declaration is invalid - Returns:
- float containing the font-size, or the parent font size if the renderer's declaration cannot be resolved
-
filterReferenceValue
The reference value may contain a hashtag character or 'url' designation and this method will filter them.- Parameters:
-
name
- value to be filtered - Returns:
- filtered value
-
applyTextDecoration
public static void applyTextDecoration(ISvgTextNodeRenderer renderer, boolean doFill, boolean doStroke, SvgDrawContext context) Processes text-decoration attribute which is shorthand for text-decoration-line and text-decoration-style.Note, that text-decoration from styles (resolved in SvgStyleResolver) takes precedence when both are specified.
- Parameters:
-
renderer
- to apply text-decoration for -
doFill
- boolean specifying whether text should be filled -
doStroke
- boolean specifying whether text should be stroked -
context
- current SVG draw context
-
processWhiteSpace(TextSvgBranchRenderer, boolean, SvgDrawContext)
instead