Class PdfBoxFontResolver.FontDescription

java.lang.Object
com.openhtmltopdf.pdfboxout.PdfBoxFontResolver.FontDescription
All Implemented Interfaces:
MinimalFontDescription
Enclosing class:
PdfBoxFontResolver

public static class PdfBoxFontResolver.FontDescription extends Object implements MinimalFontDescription
A FontDescription can exist in multiple states. Firstly the font may or may not be realized. Fonts are automatically realized upon calling getFont() Secondly, the metrics may or may not be available. If not available, you can attempt to retrieve them by realizing the font.
  • Constructor Details

    • FontDescription

      public FontDescription(org.apache.pdfbox.pdmodel.font.PDFont font, IdentValue style, int weight)
      Create a font description from one of the PDF built-in fonts.
    • FontDescription

      public FontDescription(org.apache.pdfbox.pdmodel.PDDocument doc, FSSupplier<InputStream> supplier, int weight, IdentValue style, String family, boolean isFromFontFace, boolean isSubset, FSCacheEx<String, FSCacheValue> metricsCache)
      Create a font description from an input stream supplier. The input stream will only be accessed if getFont() or getFontMetrics() (and the font metrics were not available from cache) are called.
    • FontDescription

      public FontDescription(org.apache.pdfbox.pdmodel.PDDocument doc, FSSupplier<org.apache.pdfbox.pdmodel.font.PDFont> fontSupplier, IdentValue style, int weight, String family, boolean isFromFontFace, boolean isSubset, FSCacheEx<String, FSCacheValue> metricsCache)
      Creates a font description from a PDFont supplier. The supplier will only be called upon if getFont() or getFontMetrics() (and the font metrics were not available from cache) are called.
  • Method Details

    • toString

      public String toString()
      Overrides:
      toString in class Object
    • getFamily

      public String getFamily()
    • realizeFont

      public boolean realizeFont()
    • isFontAvailable

      public boolean isFontAvailable()
      Returns whether the font is available yet.
      See Also:
    • getFont

      public org.apache.pdfbox.pdmodel.font.PDFont getFont()
      Downloads and parses the font if required. Should only be called when the font is definitely needed.
      Returns:
      the font or null if there was a problem.
    • getWeight

      public int getWeight()
      Specified by:
      getWeight in interface MinimalFontDescription
    • getStyle

      public IdentValue getStyle()
      Specified by:
      getStyle in interface MinimalFontDescription
    • isFromFontFace

      public boolean isFromFontFace()
    • isMetricsAvailable

      public boolean isMetricsAvailable()
      If the metrics are available yet.
      See Also:
    • getFontMetrics

      public PdfBoxRawPDFontMetrics getFontMetrics()
      Downloads and parses the font if required (metrics were not available from cache). Should only be called when the font metrics are definitely needed.
      Returns:
      the font metrics or null if there was a problem.
      See Also: