How to get a font from an array? | iText 5 PDF Development Guide
The FontFactory class has two methods for registering fonts. Both use file/folder paths to register font.
Posted on StackOverflow on May 6, 2015 by Robert
Yes, you can create a Font from a byte[], but in that case, you can't use the FontFactory. Instead you need to create a BaseFont instance using the createFont method,
Once you have a BaseFont instance, you can easily create a Font object:
Suppose that fBytes is a byte[], then you'd have:
BaseFont bf = BaseFont.createFont(
"myFont", BaseFont.IDENTITY_H, BaseFont.EMBEDDED,
true, fBytes, null);
Font font = new Font(bf, 12);
The method accepts two byte[] parameters because Type 1 fonts consist of two files: a metrics file (AFM or PFM) and a font binary (PFB). For all other fonts (TTF, OTF,...), the second byte[] parameter should be null.
There is currently no way to add such a font to the FontFactory as a "registered font".