java.lang.Objectcom.aspose.words.FontInfo
public class FontInfo
You do not create instances of this class directly.
Use the Example:
Document doc = new Document(getMyDir() + "Embedded font.docx");
FontInfoCollection fonts = doc.getFontInfos();
int fontIndex = 0;
// The fonts info extracted from this document does not necessarily mean that the fonts themselves are
// used in the document. If a font is present but not used then most likely they were referenced at some time
// and then removed from the Document
for (FontInfo info : fonts) {
// Print out some important details about the font
System.out.println(MessageFormat.format("Font #{0}", fontIndex));
System.out.println(MessageFormat.format("Name: {0}", info.getName()));
System.out.println(MessageFormat.format("IsTrueType: {0}", info.isTrueType()));
fontIndex++;
}
Property Getters/Setters Summary | ||
---|---|---|
java.lang.String | getAltName() | |
void | setAltName(java.lang.String value) | |
Gets or sets the alternate name for the font. | ||
int | getCharset() | |
void | setCharset(int value) | |
Gets or sets the character set for the font. | ||
int | getFamily() | |
void | setFamily(int value) | |
Gets or sets the font family this font belongs to. The value of the property is FontFamily integer constant. | ||
boolean | isTrueType() | |
void | isTrueType(boolean value) | |
Indicates that this font is a TrueType or OpenType font as opposed to a raster or vector font. Default is true. | ||
java.lang.String | getName() | |
Gets the name of the font. | ||
byte[] | getPanose() | |
void | setPanose(byte[] value) | |
Gets or sets the PANOSE typeface classification number. | ||
int | getPitch() | |
void | setPitch(int value) | |
The pitch indicates if the font is fixed pitch, proportionally spaced, or relies on a default setting. The value of the property is FontPitch integer constant. |
Method Summary | ||
---|---|---|
byte[] | getEmbeddedFont(int format, int style) | |
Gets a specific embedded font file. | ||
byte[] | getEmbeddedFontAsOpenType(int style) | |
Gets an embedded font file in OpenType format. Fonts in Embedded OpenType format are converted to OpenType. |
Property Getters/Setters Detail |
---|
getAltName/setAltName | |
public java.lang.String getAltName() / public void setAltName(java.lang.String value) |
Cannot be null
. Can be an empty string.
Example:
Shows how to get information about each font in a document.Document doc = new Document(getMyDir() + "Document.docx"); // We can iterate over all the fonts with an enumerator Iterator fontCollectionEnumerator = doc.getFontInfos().iterator(); // Print detailed information about each font to the console while (fontCollectionEnumerator.hasNext()) { FontInfo fontInfo = (FontInfo) fontCollectionEnumerator.next(); if (fontInfo != null) { System.out.println("Font name: " + fontInfo.getName()); // Alt names are usually blank System.out.println("Alt name: " + fontInfo.getAltName()); System.out.println("\t- Family: " + fontInfo.getFamily()); System.out.println("\t- " + (fontInfo.isTrueType() ? "Is TrueType" : "Is not TrueType")); System.out.println("\t- Pitch: " + fontInfo.getPitch()); System.out.println("\t- Charset: " + fontInfo.getCharset()); System.out.println("\t- Panose:"); System.out.println("\t\tFamily Kind: " + (fontInfo.getPanose()[0] & 0xFF)); System.out.println("\t\tSerif Style: " + (fontInfo.getPanose()[1] & 0xFF)); System.out.println("\t\tWeight: " + (fontInfo.getPanose()[2] & 0xFF)); System.out.println("\t\tProportion: " + (fontInfo.getPanose()[3] & 0xFF)); System.out.println("\t\tContrast: " + (fontInfo.getPanose()[4] & 0xFF)); System.out.println("\t\tStroke Variation: " + (fontInfo.getPanose()[5] & 0xFF)); System.out.println("\t\tArm Style: " + (fontInfo.getPanose()[6] & 0xFF)); System.out.println("\t\tLetterform: " + (fontInfo.getPanose()[7] & 0xFF)); System.out.println("\t\tMidline: " + (fontInfo.getPanose()[8] & 0xFF)); System.out.println("\t\tX-Height: " + (fontInfo.getPanose()[9] & 0xFF)); } }
getCharset/setCharset | |
public int getCharset() / public void setCharset(int value) |
Example:
Shows how to get information about each font in a document.Document doc = new Document(getMyDir() + "Document.docx"); // We can iterate over all the fonts with an enumerator Iterator fontCollectionEnumerator = doc.getFontInfos().iterator(); // Print detailed information about each font to the console while (fontCollectionEnumerator.hasNext()) { FontInfo fontInfo = (FontInfo) fontCollectionEnumerator.next(); if (fontInfo != null) { System.out.println("Font name: " + fontInfo.getName()); // Alt names are usually blank System.out.println("Alt name: " + fontInfo.getAltName()); System.out.println("\t- Family: " + fontInfo.getFamily()); System.out.println("\t- " + (fontInfo.isTrueType() ? "Is TrueType" : "Is not TrueType")); System.out.println("\t- Pitch: " + fontInfo.getPitch()); System.out.println("\t- Charset: " + fontInfo.getCharset()); System.out.println("\t- Panose:"); System.out.println("\t\tFamily Kind: " + (fontInfo.getPanose()[0] & 0xFF)); System.out.println("\t\tSerif Style: " + (fontInfo.getPanose()[1] & 0xFF)); System.out.println("\t\tWeight: " + (fontInfo.getPanose()[2] & 0xFF)); System.out.println("\t\tProportion: " + (fontInfo.getPanose()[3] & 0xFF)); System.out.println("\t\tContrast: " + (fontInfo.getPanose()[4] & 0xFF)); System.out.println("\t\tStroke Variation: " + (fontInfo.getPanose()[5] & 0xFF)); System.out.println("\t\tArm Style: " + (fontInfo.getPanose()[6] & 0xFF)); System.out.println("\t\tLetterform: " + (fontInfo.getPanose()[7] & 0xFF)); System.out.println("\t\tMidline: " + (fontInfo.getPanose()[8] & 0xFF)); System.out.println("\t\tX-Height: " + (fontInfo.getPanose()[9] & 0xFF)); } }
getFamily/setFamily | |
public int getFamily() / public void setFamily(int value) |
Example:
Shows how to get information about each font in a document.Document doc = new Document(getMyDir() + "Document.docx"); // We can iterate over all the fonts with an enumerator Iterator fontCollectionEnumerator = doc.getFontInfos().iterator(); // Print detailed information about each font to the console while (fontCollectionEnumerator.hasNext()) { FontInfo fontInfo = (FontInfo) fontCollectionEnumerator.next(); if (fontInfo != null) { System.out.println("Font name: " + fontInfo.getName()); // Alt names are usually blank System.out.println("Alt name: " + fontInfo.getAltName()); System.out.println("\t- Family: " + fontInfo.getFamily()); System.out.println("\t- " + (fontInfo.isTrueType() ? "Is TrueType" : "Is not TrueType")); System.out.println("\t- Pitch: " + fontInfo.getPitch()); System.out.println("\t- Charset: " + fontInfo.getCharset()); System.out.println("\t- Panose:"); System.out.println("\t\tFamily Kind: " + (fontInfo.getPanose()[0] & 0xFF)); System.out.println("\t\tSerif Style: " + (fontInfo.getPanose()[1] & 0xFF)); System.out.println("\t\tWeight: " + (fontInfo.getPanose()[2] & 0xFF)); System.out.println("\t\tProportion: " + (fontInfo.getPanose()[3] & 0xFF)); System.out.println("\t\tContrast: " + (fontInfo.getPanose()[4] & 0xFF)); System.out.println("\t\tStroke Variation: " + (fontInfo.getPanose()[5] & 0xFF)); System.out.println("\t\tArm Style: " + (fontInfo.getPanose()[6] & 0xFF)); System.out.println("\t\tLetterform: " + (fontInfo.getPanose()[7] & 0xFF)); System.out.println("\t\tMidline: " + (fontInfo.getPanose()[8] & 0xFF)); System.out.println("\t\tX-Height: " + (fontInfo.getPanose()[9] & 0xFF)); } }
isTrueType/isTrueType | |
public boolean isTrueType() / public void isTrueType(boolean value) |
Example:
Shows how to print the details of what fonts are present in a document.Document doc = new Document(getMyDir() + "Embedded font.docx"); FontInfoCollection fonts = doc.getFontInfos(); int fontIndex = 0; // The fonts info extracted from this document does not necessarily mean that the fonts themselves are // used in the document. If a font is present but not used then most likely they were referenced at some time // and then removed from the Document for (FontInfo info : fonts) { // Print out some important details about the font System.out.println(MessageFormat.format("Font #{0}", fontIndex)); System.out.println(MessageFormat.format("Name: {0}", info.getName())); System.out.println(MessageFormat.format("IsTrueType: {0}", info.isTrueType())); fontIndex++; }
getName | |
public java.lang.String getName() |
Cannot be null
. Can be an empty string.
Example:
Shows how to print the details of what fonts are present in a document.Document doc = new Document(getMyDir() + "Embedded font.docx"); FontInfoCollection fonts = doc.getFontInfos(); int fontIndex = 0; // The fonts info extracted from this document does not necessarily mean that the fonts themselves are // used in the document. If a font is present but not used then most likely they were referenced at some time // and then removed from the Document for (FontInfo info : fonts) { // Print out some important details about the font System.out.println(MessageFormat.format("Font #{0}", fontIndex)); System.out.println(MessageFormat.format("Name: {0}", info.getName())); System.out.println(MessageFormat.format("IsTrueType: {0}", info.isTrueType())); fontIndex++; }
getPanose/setPanose | |
public byte[] getPanose() / public void setPanose(byte[] value) |
PANOSE is a compact 10-byte description of a fonts critical visual characteristics, such as contrast, weight, and serif style. The digits represent Family Kind, Serif Style, Weight, Proportion, Contrast, Stroke Variation, Arm Style, Letterform, Midline, and X-Height.
Can be null
.
Example:
Shows how to get information about each font in a document.Document doc = new Document(getMyDir() + "Document.docx"); // We can iterate over all the fonts with an enumerator Iterator fontCollectionEnumerator = doc.getFontInfos().iterator(); // Print detailed information about each font to the console while (fontCollectionEnumerator.hasNext()) { FontInfo fontInfo = (FontInfo) fontCollectionEnumerator.next(); if (fontInfo != null) { System.out.println("Font name: " + fontInfo.getName()); // Alt names are usually blank System.out.println("Alt name: " + fontInfo.getAltName()); System.out.println("\t- Family: " + fontInfo.getFamily()); System.out.println("\t- " + (fontInfo.isTrueType() ? "Is TrueType" : "Is not TrueType")); System.out.println("\t- Pitch: " + fontInfo.getPitch()); System.out.println("\t- Charset: " + fontInfo.getCharset()); System.out.println("\t- Panose:"); System.out.println("\t\tFamily Kind: " + (fontInfo.getPanose()[0] & 0xFF)); System.out.println("\t\tSerif Style: " + (fontInfo.getPanose()[1] & 0xFF)); System.out.println("\t\tWeight: " + (fontInfo.getPanose()[2] & 0xFF)); System.out.println("\t\tProportion: " + (fontInfo.getPanose()[3] & 0xFF)); System.out.println("\t\tContrast: " + (fontInfo.getPanose()[4] & 0xFF)); System.out.println("\t\tStroke Variation: " + (fontInfo.getPanose()[5] & 0xFF)); System.out.println("\t\tArm Style: " + (fontInfo.getPanose()[6] & 0xFF)); System.out.println("\t\tLetterform: " + (fontInfo.getPanose()[7] & 0xFF)); System.out.println("\t\tMidline: " + (fontInfo.getPanose()[8] & 0xFF)); System.out.println("\t\tX-Height: " + (fontInfo.getPanose()[9] & 0xFF)); } }
getPitch/setPitch | |
public int getPitch() / public void setPitch(int value) |
Example:
Shows how to get information about each font in a document.Document doc = new Document(getMyDir() + "Document.docx"); // We can iterate over all the fonts with an enumerator Iterator fontCollectionEnumerator = doc.getFontInfos().iterator(); // Print detailed information about each font to the console while (fontCollectionEnumerator.hasNext()) { FontInfo fontInfo = (FontInfo) fontCollectionEnumerator.next(); if (fontInfo != null) { System.out.println("Font name: " + fontInfo.getName()); // Alt names are usually blank System.out.println("Alt name: " + fontInfo.getAltName()); System.out.println("\t- Family: " + fontInfo.getFamily()); System.out.println("\t- " + (fontInfo.isTrueType() ? "Is TrueType" : "Is not TrueType")); System.out.println("\t- Pitch: " + fontInfo.getPitch()); System.out.println("\t- Charset: " + fontInfo.getCharset()); System.out.println("\t- Panose:"); System.out.println("\t\tFamily Kind: " + (fontInfo.getPanose()[0] & 0xFF)); System.out.println("\t\tSerif Style: " + (fontInfo.getPanose()[1] & 0xFF)); System.out.println("\t\tWeight: " + (fontInfo.getPanose()[2] & 0xFF)); System.out.println("\t\tProportion: " + (fontInfo.getPanose()[3] & 0xFF)); System.out.println("\t\tContrast: " + (fontInfo.getPanose()[4] & 0xFF)); System.out.println("\t\tStroke Variation: " + (fontInfo.getPanose()[5] & 0xFF)); System.out.println("\t\tArm Style: " + (fontInfo.getPanose()[6] & 0xFF)); System.out.println("\t\tLetterform: " + (fontInfo.getPanose()[7] & 0xFF)); System.out.println("\t\tMidline: " + (fontInfo.getPanose()[8] & 0xFF)); System.out.println("\t\tX-Height: " + (fontInfo.getPanose()[9] & 0xFF)); } }
Method Detail |
---|
getEmbeddedFont | |
public byte[] getEmbeddedFont(int format, int style) |
format
- A style
- A null
if the specified font is not embedded.Example:
Shows how to extract embedded font from a document.Document doc = new Document(getMyDir() + "Embedded font.docx"); // Get the FontInfo for the embedded font FontInfo embeddedFont = doc.getFontInfos().get("Alte DIN 1451 Mittelschrift"); // We can now extract this embedded font byte[] embeddedFontBytes = embeddedFont.getEmbeddedFont(EmbeddedFontFormat.OPEN_TYPE, EmbeddedFontStyle.REGULAR); Assert.assertNotNull(embeddedFontBytes); // Then we can save the font to our directory Files.write(Paths.get(getArtifactsDir() + "Alte DIN 1451 Mittelschrift.ttf"), embeddedFontBytes, new StandardOpenOption[]{StandardOpenOption.CREATE, StandardOpenOption.APPEND}); // If we want to extract a font from a .doc as opposed to a .docx, we need to make sure to set the appropriate embedded font format doc = new Document(getMyDir() + "Embedded font.doc"); Assert.assertNull(doc.getFontInfos().get("Alte DIN 1451 Mittelschrift").getEmbeddedFont(EmbeddedFontFormat.OPEN_TYPE, EmbeddedFontStyle.REGULAR)); Assert.assertNotNull(doc.getFontInfos().get("Alte DIN 1451 Mittelschrift").getEmbeddedFont(EmbeddedFontFormat.EMBEDDED_OPEN_TYPE, EmbeddedFontStyle.REGULAR)); // Also, we can convert embedded OpenType format, which comes from .doc documents, to OpenType Assert.assertNotNull(doc.getFontInfos().get("Alte DIN 1451 Mittelschrift").getEmbeddedFontAsOpenType(EmbeddedFontStyle.REGULAR));
getEmbeddedFontAsOpenType | |
public byte[] getEmbeddedFontAsOpenType(int style) |
style
- A null
if the specified font is not embedded.Example:
Shows how to extract embedded font from a document.Document doc = new Document(getMyDir() + "Embedded font.docx"); // Get the FontInfo for the embedded font FontInfo embeddedFont = doc.getFontInfos().get("Alte DIN 1451 Mittelschrift"); // We can now extract this embedded font byte[] embeddedFontBytes = embeddedFont.getEmbeddedFont(EmbeddedFontFormat.OPEN_TYPE, EmbeddedFontStyle.REGULAR); Assert.assertNotNull(embeddedFontBytes); // Then we can save the font to our directory Files.write(Paths.get(getArtifactsDir() + "Alte DIN 1451 Mittelschrift.ttf"), embeddedFontBytes, new StandardOpenOption[]{StandardOpenOption.CREATE, StandardOpenOption.APPEND}); // If we want to extract a font from a .doc as opposed to a .docx, we need to make sure to set the appropriate embedded font format doc = new Document(getMyDir() + "Embedded font.doc"); Assert.assertNull(doc.getFontInfos().get("Alte DIN 1451 Mittelschrift").getEmbeddedFont(EmbeddedFontFormat.OPEN_TYPE, EmbeddedFontStyle.REGULAR)); Assert.assertNotNull(doc.getFontInfos().get("Alte DIN 1451 Mittelschrift").getEmbeddedFont(EmbeddedFontFormat.EMBEDDED_OPEN_TYPE, EmbeddedFontStyle.REGULAR)); // Also, we can convert embedded OpenType format, which comes from .doc documents, to OpenType Assert.assertNotNull(doc.getFontInfos().get("Alte DIN 1451 Mittelschrift").getEmbeddedFontAsOpenType(EmbeddedFontStyle.REGULAR));