FontRepository

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

public final class FontRepository extends Object

Performs font search. Searches in system installed fonts and standard Pdf fonts. Also provides functionality to open custom fonts.


 The example demonstrates how to find font and replace the font of text of first page. // Find font Font font = FontRepository.findFont("Arial"); // 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); // Change font of the first text occurrence absorber.getTextFragments().get_Item(1).getTextState().setFont(font); // Save document doc.save("D:\\Tests\\output.pdf"); 
@see TextFragmentAbsorber @see IDocument

Constructors

ConstructorDescription
FontRepository

Methods

MethodDescription
addLocalFontPathAdd one more path to fonts.
addSystemFont

Add system font with specified font.


 The example demonstrates how to add system font. InputStream fontStream = new FileInputStream(“C:\\WINDOWS\\Fonts\\arial.ttf”)) Font font = FontRepository.openFont(fontStream, FontTypes.TTF); FontRepository.addSystemFont(font); 
clear
findFont

Searches and returns font with specified font name.


 The example demonstrates how to find font and replace the font of text of first page. // Find font Font font = FontRepository.findFont(“Arial”); // 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); // Change font of the first text occurrence absorber.getTextFragments().get_Item(1).getTextState().setFont ( font); // Save document doc.save(“D:\\Tests\\output.pdf”); 
findFont

Searches and returns font with specified font name ignoring or honoring case sensitivity.


 The example demonstrates how to find font and replace the font of text of first page. // Find font Font font = FontRepository.findFont(“Arial”, FontStyles.Italic); // Open document Document doc = new Document(“D:\\Tests\\input.pdf”); // Create TextFragmentAbsorber object to find all “hello world” text occurences TextFragmentAbsorber absorber = new TextFragmentAbsorber(“hello world”); // Accept the absorber for first page doc.getPages().get_Item(1).accept(absorber); // Change font of the first text occurence absorber.getTextFragments().get_Item(1).getTextState().setFont(font); // Save document doc.save(“D:\\Tests\\output.pdf”); 
findFont

Searches and returns font with specified font name and font style.


 The example demonstrates how to find font and replace the font of text of first page. // Find font Font font = FontRepository.findFont(“Arial”, FontStyles.Italic); // Open document Document doc = new Document(“D:\\Tests\\input.pdf”); // Create TextFragmentAbsorber object to find all “hello world” text occurences TextFragmentAbsorber absorber = new TextFragmentAbsorber(“hello world”); // Accept the absorber for first page doc.getPages().get_Item(1).accept(absorber); // Change font of the first text occurence absorber.getTextFragments().get_Item(1).getTextState().setFont(font); // Save document doc.save(“D:\\Tests\\output.pdf”); 
findFont

Searches and returns font with specified font name and font style ignoring or honoring case sensitivity.


 The example demonstrates how to find font and replace the font of text of first page. // Find font Font font = FontRepository.findFont(“Arial”, FontStyles.Italic, true); // Open document Document doc = new Document(“D:\\Tests\\input.pdf”); // Create TextFragmentAbsorber object to find all “hello world” text occurences TextFragmentAbsorber absorber = new TextFragmentAbsorber(“hello world”); // Accept the absorber for first page doc.getPages().get_Item(1).accept(absorber); // Change font of the first text occurence absorber.getTextFragments().get_Item(1).getTextState().setFont(font); // Save document doc.save(“D:\\Tests\\output.pdf”); 
getLocalFontPathsCopy of the list with actual font directories.
getSourcesGets font sources collection.
getSubstitutionsGets font substitution strategies collection.
isReplaceNotFoundFontsIs not found fonts will be replaced by standard font.
isThreadStaticConfigEnabled

Returns status of Font Sources storage configuration.
If true, used ThreadStatic and every thread has own Font Sources.
If false, used global static configuration for all the threads.


Default value is True.
loadFontsLoads system installed fonts and standard Pdf fonts. This method was designed to speed up font loading process. By default fonts are loaded on first request for any font. Use of this method loads system and standard Pdf fonts immediately before any Pdf document was open.
openFont

Opens font with specified font stream.


 The example demonstrates how to open font and replace the font of text of first page. // Open font InputStream fontStream = new FileInputStream(“C:\\WINDOWS\\Fonts\\arial.ttf”)) { Font font = FontRepository.openFont(fontStream, , FontTypes.TTF); // 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); // Change font of the first text occurrence absorber.getTextFragments().get_Item(1).getTextState().setFont ( font); // Save document doc.save(“D:\\Tests\\output.pdf”); } 
openFont

Opens font with specified font file path.


 The example demonstrates how to open font and replace the font of text of first page. // Open font Font font = FontRepository.openFont(“C:\\WINDOWS\\Fonts\\arial.ttf”); // 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); // Change font of the first text occurrence absorber.getTextFragments().get_Item(1).getTextState().setFont ( font); // Save document doc.save(“D:\\Tests\\output.pdf”); 
openFont

Opens font with specified font file path and metrics file path.


 The example demonstrates how to open Type1 font with metrics and replace the font of text of first page. // Open font Font font = FontRepository.openFont(“courier.pfb”, “courier.afm”); // 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); // Change font of the first text occurrence absorber.getTextFragments().get_Item(1).sgetTextState().setFont(font); // Save document doc.save(“D:\\Tests\\output.pdf”); 
reloadFontsReloads all fonts specified by property {@code Sources}({@link #getSources})
restoreLocalFontPathRestores list for standard font directories by default.
setLocalFontPathsSets user list with font paths
setReplaceNotFoundFontsSet TRUE if need to replace not found fonts with the default font. The default value is false.
setThreadStaticConfigEnabledOption for setting Font Sources storage configuration. If true, used ThreadStatic and every thread has own Font Sources. If false, used global static configuration for all the threads.

FontRepository

public FontRepository()

addLocalFontPath

Add one more path to fonts.

addSystemFont

Add system font with specified font.


 The example demonstrates how to add system font. InputStream fontStream = new FileInputStream("C:\\WINDOWS\\Fonts\\arial.ttf")) Font font = FontRepository.openFont(fontStream, FontTypes.TTF); FontRepository.addSystemFont(font); 

clear

public static void clear()

findFont

Searches and returns font with specified font name.


 The example demonstrates how to find font and replace the font of text of first page. // Find font Font font = FontRepository.findFont("Arial"); // 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); // Change font of the first text occurrence absorber.getTextFragments().get_Item(1).getTextState().setFont ( font); // Save document doc.save("D:\\Tests\\output.pdf"); 

findFont

Searches and returns font with specified font name ignoring or honoring case sensitivity.


 The example demonstrates how to find font and replace the font of text of first page. // Find font Font font = FontRepository.findFont("Arial", FontStyles.Italic); // Open document Document doc = new Document("D:\\Tests\\input.pdf"); // Create TextFragmentAbsorber object to find all "hello world" text occurences TextFragmentAbsorber absorber = new TextFragmentAbsorber("hello world"); // Accept the absorber for first page doc.getPages().get_Item(1).accept(absorber); // Change font of the first text occurence absorber.getTextFragments().get_Item(1).getTextState().setFont(font); // Save document doc.save("D:\\Tests\\output.pdf"); 

findFont

Searches and returns font with specified font name and font style.


 The example demonstrates how to find font and replace the font of text of first page. // Find font Font font = FontRepository.findFont("Arial", FontStyles.Italic); // Open document Document doc = new Document("D:\\Tests\\input.pdf"); // Create TextFragmentAbsorber object to find all "hello world" text occurences TextFragmentAbsorber absorber = new TextFragmentAbsorber("hello world"); // Accept the absorber for first page doc.getPages().get_Item(1).accept(absorber); // Change font of the first text occurence absorber.getTextFragments().get_Item(1).getTextState().setFont(font); // Save document doc.save("D:\\Tests\\output.pdf"); 

findFont

Searches and returns font with specified font name and font style ignoring or honoring case sensitivity.


 The example demonstrates how to find font and replace the font of text of first page. // Find font Font font = FontRepository.findFont("Arial", FontStyles.Italic, true); // Open document Document doc = new Document("D:\\Tests\\input.pdf"); // Create TextFragmentAbsorber object to find all "hello world" text occurences TextFragmentAbsorber absorber = new TextFragmentAbsorber("hello world"); // Accept the absorber for first page doc.getPages().get_Item(1).accept(absorber); // Change font of the first text occurence absorber.getTextFragments().get_Item(1).getTextState().setFont(font); // Save document doc.save("D:\\Tests\\output.pdf"); 

getLocalFontPaths

public static List < String > getLocalFontPaths()

Copy of the list with actual font directories.

Returns: list of String

getSources

public static FontSourceCollection getSources()

Gets font sources collection.

Returns: FontSourceCollection object

getSubstitutions

public static FontSubstitutionCollection getSubstitutions()

Gets font substitution strategies collection.

Returns: FontSubstitutionCollection object

isReplaceNotFoundFonts

public static boolean isReplaceNotFoundFonts()

Is not found fonts will be replaced by standard font.

Returns: boolean value

isThreadStaticConfigEnabled

public static boolean isThreadStaticConfigEnabled()

Returns status of Font Sources storage configuration.
If true, used ThreadStatic and every thread has own Font Sources.
If false, used global static configuration for all the threads.


Default value is True.

Returns: boolean value

loadFonts

public static void loadFonts()

Loads system installed fonts and standard Pdf fonts. This method was designed to speed up font loading process. By default fonts are loaded on first request for any font. Use of this method loads system and standard Pdf fonts immediately before any Pdf document was open.

openFont

Opens font with specified font stream.


 The example demonstrates how to open font and replace the font of text of first page. // Open font InputStream fontStream = new FileInputStream("C:\\WINDOWS\\Fonts\\arial.ttf")) { Font font = FontRepository.openFont(fontStream, , FontTypes.TTF); // 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); // Change font of the first text occurrence absorber.getTextFragments().get_Item(1).getTextState().setFont ( font); // Save document doc.save("D:\\Tests\\output.pdf"); } 

openFont

Opens font with specified font file path.


 The example demonstrates how to open font and replace the font of text of first page. // Open font Font font = FontRepository.openFont("C:\\WINDOWS\\Fonts\\arial.ttf"); // 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); // Change font of the first text occurrence absorber.getTextFragments().get_Item(1).getTextState().setFont ( font); // Save document doc.save("D:\\Tests\\output.pdf"); 

openFont

Opens font with specified font file path and metrics file path.


 The example demonstrates how to open Type1 font with metrics and replace the font of text of first page. // Open font Font font = FontRepository.openFont("courier.pfb", "courier.afm"); // 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); // Change font of the first text occurrence absorber.getTextFragments().get_Item(1).sgetTextState().setFont(font); // Save document doc.save("D:\\Tests\\output.pdf"); 

reloadFonts

public static void reloadFonts()

Reloads all fonts specified by property {@code Sources}({@link #getSources})

restoreLocalFontPath

public static void restoreLocalFontPath()

Restores list for standard font directories by default.

setLocalFontPaths

Sets user list with font paths

setReplaceNotFoundFonts

public static void setReplaceNotFoundFonts(boolean value)

Set TRUE if need to replace not found fonts with the default font. The default value is false.

Parameters:

ParameterTypeDescription
valueboolean

setThreadStaticConfigEnabled

public static void setThreadStaticConfigEnabled(boolean isTheadLocal)

Option for setting Font Sources storage configuration. If true, used ThreadStatic and every thread has own Font Sources. If false, used global static configuration for all the threads.

Parameters:

ParameterTypeDescription
isTheadLocalboolean value