Class PDTrueTypeFont

All Implemented Interfaces:
COSObjectable

public class PDTrueTypeFont extends PDSimpleFont
This is the TrueType implementation of fonts.
Author:
Ben Litchfield
  • Field Details

    • UNKNOWN_FONT

      public static final String UNKNOWN_FONT
      This is the key to a property in the PDFBox_External_Fonts.properties file to load a Font when a mapping does not exist for the current font.
      See Also:
  • Constructor Details

    • PDTrueTypeFont

      public PDTrueTypeFont()
      Constructor.
    • PDTrueTypeFont

      public PDTrueTypeFont(COSDictionary fontDictionary) throws IOException
      Constructor.
      Parameters:
      fontDictionary - The font dictionary according to the PDF specification.
      Throws:
      IOException - exception if something went wrong when loading the font.
  • Method Details

    • loadTTF

      public static PDTrueTypeFont loadTTF(PDDocument doc, String file) throws IOException
      This will load a TTF font from a font file.
      Parameters:
      doc - The PDF document that will hold the embedded font.
      file - The file on the filesystem that holds the font file.
      Returns:
      A true type font.
      Throws:
      IOException - If there is an error loading the file data.
    • loadTTF

      public static PDTrueTypeFont loadTTF(PDDocument doc, File file) throws IOException
      This will load a TTF to be embedded into a document.
      Parameters:
      doc - The PDF document that will hold the embedded font.
      file - a ttf file.
      Returns:
      a PDTrueTypeFont instance.
      Throws:
      IOException - If there is an error loading the data.
    • loadTTF

      public static PDTrueTypeFont loadTTF(PDDocument doc, InputStream stream) throws IOException
      This will load a TTF to be embedded into a document.
      Parameters:
      doc - The PDF document that will hold the embedded font.
      stream - a ttf input stream.
      Returns:
      a PDTrueTypeFont instance.
      Throws:
      IOException - If there is an error loading the data.
    • loadTTF

      public static PDTrueTypeFont loadTTF(PDDocument doc, InputStream stream, Encoding enc) throws IOException
      This will load a TTF to be embedded into a document.
      Parameters:
      doc - The PDF document that will hold the embedded font.
      stream - a ttf input stream.
      enc - The font encoding.
      Returns:
      a PDTrueTypeFont instance.
      Throws:
      IOException - If there is an error loading the data.
    • loadTTF

      public static PDTrueTypeFont loadTTF(PDStream fontStream, Encoding enc) throws IOException
      This will load a TTF to be embedded into a document.
      Parameters:
      fontStream - a ttf input stream.
      enc - The font encoding.
      Returns:
      a PDTrueTypeFont instance.
      Throws:
      IOException - If there is an error loading the data.
    • getawtFont

      public Font getawtFont() throws IOException
      Looks up, creates, returns the AWT Font.
      Overrides:
      getawtFont in class PDSimpleFont
      Returns:
      returns the awt font to bes used for rendering
      Throws:
      IOException - if something went wrong.
    • getTTFFont

      public TrueTypeFont getTTFFont() throws IOException
      Return the TTF font as TrueTypeFont.
      Returns:
      the TTF font
      Throws:
      IOException - If there is an error loading the data
    • clear

      public void clear()
      Description copied from class: PDFont
      Calling this will release all cached information.
      Overrides:
      clear in class PDFont
    • getFontWidth

      public float getFontWidth(int charCode)
      Description copied from class: PDFont
      Determines the width of the given character.
      Overrides:
      getFontWidth in class PDFont
      Parameters:
      charCode - the code of the given character
      Returns:
      the width of the character