Font

Inheritance: java.lang.Object, com.aspose.pdf.Font

All Implemented Interfaces: Cloneable

public final class Font extends Object implements Cloneable

Represents font object.


 The example demonstrates how to search text on first page and change font of a first search occurrence. // Open document Document doc = new Document("input.pdf"); // Create TextFragmentAbsorber object to find all "hello world" text occurrences TextFragmentAbsorber absorber = new TextFragmentAbsorber("hello world"); // Accept the absorber for first page doc.getPages().get_Item(1).accept(absorber); // Create font and mark it to be embedded Font font = FontRepository.findFont("Arial"); font.isEmbedded(true); // Change font of the first text occurrence absorber.getTextFragments().get_Item(1).getTextState().setFont( font); // Save document doc.save("output.pdf"); 
@see TextFragmentAbsorber @see FontRepository @see IDocument

Methods

MethodDescription
doesFontContainAllCharactersDetermines if the font contains specified chars
getActualFontName

Gets actual font name of the {@code Font} object if it is initialized. Even when the font is substituted or has internal name for pdf. Or empty string if the font is not initialized.

getAscentPointMeasures the max Ascent Point.
getBaseFontGets BaseFont value of PDF font object. Also known as PostScript name of the font.
getDecodedFontNameSometimes PDF fonts(usually Chinese/Japanese/Korean fonts) could have specificical font name. This name is value of PDF font property “BaseFont” and sometimes this property could be represented in hexademical form. If read this name directly it could be represented in non-readable form. To get readable form it’s necessary to decode font’s name by rules specifical for this font. This property returns decoded font name, so use it for cases when you meet with a non-readable {@code FontName}. If property {@code FontName} has readable form this property will be the same as {@code FontName}, so you can use this property for any cases when you need to get font name in a readable form.
getDescentPointMeasures the max Descent Point.
getFontName

Gets font name of the {@code Font} object.

getFontOptionsUseful properties to tune Font behavior
getIFont

System font object.


For internal usage only

getIPdfFont

Pdf font object.


For internal usage only

getLastFontEmbeddingErrorAn objective of this method - to return description of error if an attempt to embed font was failed. If there are no error cases it returns empty string.
getTypeThe font’s type Name
isAccessible

Gets indicating whether the font is present (installed) in the system.

isEmbedded

Gets a value that indicates whether the font is embedded. Font based on IFont will automatically be subset and embedded


 The following example demonstrates how to find a font, mark it as embedded, search text on the document’s page and replace the text font. // Create font and mark it to be embedded com.aspose.pdf.Font font = com.aspose.pdf.FontRepository.findFont(“Arial”); font.isEmbedded ( true); // open document com.aspose.pdf.Document doc = new com.aspose.pdf.Document(“D:\\Tests\\input.pdf”); // create TextFragmentAbsorber object to find all “hello world” text occurrences com.aspose.pdf.TextFragmentAbsorber absorber = new com.aspose.pdf.TextFragmentAbsorber(“hello world”); // accept the absorber for first page doc.getPages().get_Item(1).accept(absorber); // change font for the first text occurrence absorber.getTextFragments().get_Item(1).getTextState().setFont(font); // save document doc.save(“D:\\Tests\\output.pdf”); 
isSubset

Gets a value that indicates whether the font is a subset. Font based on IFont will automatically be subset and embedded


 The example demonstrates how to search text on first page and get the value that indicates whether the font is a subset. // Open document Document doc = new Document(“D:\\Tests\\input.pdf”); // Create TextFragmentAbsorber object to find all “hello world” text occurrences TextFragmentAbsorber absorber = new TextFragmentAbsorber(“hello world”); // Accept the absorber for first page doc.getPages().get_Item(1).accept(absorber); // View font’s IsSubset value of first text occurrence if(absorber.TextFragments[1].TextState.Font.IsSubset) System.out.println(“the font is a subset”); 
measureStringMeasures the string.
saveSaves the font into the stream. Note that the font is saved to intermediate TTF format intended to be used in a converted copy of the original document only. The font file is not intended to be used outside the original document context.
setEmbeddedSets a value that indicates whether the font is embedded. Font based on IFont will automatically be subset and embedded
setSubsetSets a value that indicates whether the font is a subset. Font based on IFont will automatically be subset and embedded

doesFontContainAllCharacters

Determines if the font contains specified chars

getActualFontName

public String getActualFontName()

Gets actual font name of the {@code Font} object if it is initialized. Even when the font is substituted or has internal name for pdf. Or empty string if the font is not initialized.

Returns: String value


 The example demonstrates how to search text on first page and view actual font name of a first text occurrence. // Open document Document doc = new Document(@“D:\Tests\input.pdf”); // Create TextFragmentAbsorber object to find all “hello world” text occurrences TextFragmentAbsorber absorber = new TextFragmentAbsorber(“hello world”); // Accept the absorber for first page doc.getPages().get_Item(1).accept(absorber); // View actual font name of first text occurrence System.out.println(absorber.getTextFragments().get_Item(1).getTextState().getFont().getActualFontName()); 
@see TextFragmentAbsorber @see IDocument

getAscentPoint

Measures the max Ascent Point.

getBaseFont

public final String getBaseFont()

Gets BaseFont value of PDF font object. Also known as PostScript name of the font.

Returns: String value

getDecodedFontName

public String getDecodedFontName()

Sometimes PDF fonts(usually Chinese/Japanese/Korean fonts) could have specificical font name. This name is value of PDF font property “BaseFont” and sometimes this property could be represented in hexademical form. If read this name directly it could be represented in non-readable form. To get readable form it’s necessary to decode font’s name by rules specifical for this font. This property returns decoded font name, so use it for cases when you meet with a non-readable {@code FontName}. If property {@code FontName} has readable form this property will be the same as {@code FontName}, so you can use this property for any cases when you need to get font name in a readable form.

Returns: String value

getDescentPoint

Measures the max Descent Point.

getFontName

public String getFontName()

Gets font name of the {@code Font} object.

Returns: String value


 The example demonstrates how to search text on first page and view font name of a first text occurrence. // Open document Document doc = new Document(@“D:\Tests\input.pdf”); // Create TextFragmentAbsorber object to find all “hello world” text occurrences TextFragmentAbsorber absorber = new TextFragmentAbsorber(“hello world”); // Accept the absorber for first page doc.getPages().get_Item(1).accept(absorber); // View font name of first text occurrence System.out.println(absorber.getTextFragments().get_Item(1).getTextState().getFont().getFontName()); 
@see TextFragmentAbsorber @see IDocument

getFontOptions

public IFontOptions getFontOptions()

Useful properties to tune Font behavior

Returns: IFontOptions object

getIFont

public com.aspose.font.IFont getIFont()

System font object.


For internal usage only

Returns: IFont object

getIPdfFont

public com.aspose.pdf.engine.commondata.text.fonts.IPdfFont getIPdfFont()

Pdf font object.


For internal usage only

Returns: IPdfFont object

getLastFontEmbeddingError

public String getLastFontEmbeddingError()

An objective of this method - to return description of error if an attempt to embed font was failed. If there are no error cases it returns empty string.

Returns: Error description

getType

public String getType()

The font’s type Name

Returns: String object

isAccessible

public boolean isAccessible()

Gets indicating whether the font is present (installed) in the system.

Returns: boolean value


 The example demonstrates how to search text on first page and get the value that indicates whether the font is installed in the system. // Open document Document doc = new Document(“D:\Tests\input.pdf”); // Create TextFragmentAbsorber object to find all “hello world” text occurrences TextFragmentAbsorber absorber = new TextFragmentAbsorber(“hello world”); // Accept the absorber for first page doc.getPages().get_Item(1).accept(absorber); // View font’s IsSubset value of first text occurrence if (absorber.getTextFragments().get_Item(1).getTextState().getFont() .isAccessible()) System.out.println(“the font is installed in the system”); 

Some operations are not available with fonts that could not be found in the system.

isEmbedded

public boolean isEmbedded()

Gets a value that indicates whether the font is embedded. Font based on IFont will automatically be subset and embedded


 The following example demonstrates how to find a font, mark it as embedded, search text on the document's page and replace the text font. // Create font and mark it to be embedded com.aspose.pdf.Font font = com.aspose.pdf.FontRepository.findFont("Arial"); font.isEmbedded ( true); // open document com.aspose.pdf.Document doc = new com.aspose.pdf.Document("D:\\Tests\\input.pdf"); // create TextFragmentAbsorber object to find all "hello world" text occurrences com.aspose.pdf.TextFragmentAbsorber absorber = new com.aspose.pdf.TextFragmentAbsorber("hello world"); // accept the absorber for first page doc.getPages().get_Item(1).accept(absorber); // change font for the first text occurrence absorber.getTextFragments().get_Item(1).getTextState().setFont(font); // save document doc.save("D:\\Tests\\output.pdf"); 

Returns: boolean value @see TextFragmentAbsorber @see FontRepository @see IDocument

isSubset

public boolean isSubset()

Gets a value that indicates whether the font is a subset. Font based on IFont will automatically be subset and embedded


 The example demonstrates how to search text on first page and get the value that indicates whether the font is a subset. // Open document Document doc = new Document("D:\\Tests\\input.pdf"); // Create TextFragmentAbsorber object to find all "hello world" text occurrences TextFragmentAbsorber absorber = new TextFragmentAbsorber("hello world"); // Accept the absorber for first page doc.getPages().get_Item(1).accept(absorber); // View font's IsSubset value of first text occurrence if(absorber.TextFragments[1].TextState.Font.IsSubset) System.out.println("the font is a subset"); 

Returns: boolean value @see TextFragmentAbsorber @see IDocument

measureString

Measures the string.

save

Saves the font into the stream. Note that the font is saved to intermediate TTF format intended to be used in a converted copy of the original document only. The font file is not intended to be used outside the original document context.

setEmbedded

public void setEmbedded(boolean value)

Sets a value that indicates whether the font is embedded. Font based on IFont will automatically be subset and embedded

Parameters:

ParameterTypeDescription
valueboolean value

setSubset

public void setSubset(boolean value)

Sets a value that indicates whether the font is a subset. Font based on IFont will automatically be subset and embedded

Parameters:

ParameterTypeDescription
valueboolean value