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");
TextFragmentAbsorber
,
IDocument
Constructor and Description |
---|
FontRepository() |
Modifier and Type | Method and Description |
---|---|
static void |
addLocalFontPath(String path)
Add one more path to fonts.
|
static void |
clear() |
static Font |
findFont(String fontName)
Searches and returns font with specified font name.
|
static Font |
findFont(String fontName,
boolean ignoreCase)
Searches and returns font with specified font name ignoring or honoring case sensitivity.
|
static Font |
findFont(String fontFamilyName,
int stl)
Searches and returns font with specified font name and font style.
|
static Font |
findFont(String fontFamilyName,
int stl,
boolean ignoreCase)
Searches and returns font with specified font name and font style ignoring or honoring case
sensitivity.
|
static List<String> |
getLocalFontPaths()
Copy of the list with actual font directories.
|
static FontSourceCollection |
getSources()
Gets font sources collection.
|
static FontSubstitutionCollection |
getSubstitutions()
Gets font substitution strategies collection.
|
static boolean |
isReplaceNotFoundFonts()
Is not found fonts will be replaced by standard font.
|
static boolean |
isThreadStaticConfigEnabled()
Returns status of Font Sources storage configuration.
|
static void |
loadFonts()
Loads system installed fonts and standard Pdf fonts.
|
static Font |
openFont(InputStream fontStream,
int fontType)
Opens font with specified font stream.
|
static Font |
openFont(String fontFilePath)
Opens font with specified font file path.
|
static Font |
openFont(String fontFilePath,
String metricsFilePath)
Opens font with specified font file path and metrics file path.
|
static void |
restoreLocalFontPath()
Restores list for standard font directories by default.
|
static void |
setLocalFontPaths(List<String> newFontPathsList)
Sets user list with font paths
|
static void |
setReplaceNotFoundFonts(boolean value)
Set TRUE if need to replace not found fonts with the default font.
|
static void |
setThreadStaticConfigEnabled(boolean isTheadLocal)
Option for setting Font Sources storage configuration.
|
public static FontSubstitutionCollection getSubstitutions()
Gets font substitution strategies collection.
public static FontSourceCollection getSources()
Gets font sources collection.
public static Font findFont(String fontName)
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");
fontName
- Font name.public static Font findFont(String fontName, boolean ignoreCase)
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");
fontName
- Font name.ignoreCase
- case sensitivitypublic static Font findFont(String fontFamilyName, int stl)
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");
fontFamilyName
- Font family name.stl
- Font style value.FontStyles
public static Font findFont(String fontFamilyName, int stl, boolean ignoreCase)
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");
fontFamilyName
- Font family name.stl
- Font style value.ignoreCase
- case sensitivitypublic static Font openFont(InputStream fontStream, int fontType)
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"); }
fontStream
- Font stream.fontType
- Font type value.FontTypes
public static Font openFont(String fontFilePath)
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");
fontFilePath
- Font file path.public static Font openFont(String fontFilePath, String metricsFilePath)
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");
fontFilePath
- Font file path.metricsFilePath
- Font metrics file patrh.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.
public static boolean isReplaceNotFoundFonts()
public static void setReplaceNotFoundFonts(boolean value)
value
- booleanpublic static void clear()
public static List<String> getLocalFontPaths()
Copy of the list with actual font directories.
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.
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.
isTheadLocal
- boolean valuepublic static void addLocalFontPath(String path)
Add one more path to fonts.
path
- String valuepublic static void setLocalFontPaths(List<String> newFontPathsList)
Sets user list with font paths
newFontPathsList
- List<String>
objectpublic static void restoreLocalFontPath()
Restores list for standard font directories by default.