We encountered a similar problem recently, and our solution was as follows. With our ttf in the project directory, we used the following code to access our ttf as embedded PDF font: //--code import com.lowagie.text.FontFactory; import com.lowagie.text.pdf.BaseFont; ... FontFactory.registerDirectories(); URL fontPath = Thread.currentThread().getContextClassLoader().getResource("DejaVuSans.ttf"); FontFactory.register(fontPath.toString(), "DejaVuSans"); com.lowagie.text.Font f = FontFactory.getFont("DejaVuSans", BaseFont.IDENTITY_H, BaseFont.EMBEDDED); //--end code The font could then be referenced in our template: pdfFontName="DejaVuSans" pdfEncoding="Identity-H" isPdfEmbedded="true" We still had truncating issues, and this was because the font was not available to our jre. In order to get around this, our solution was fairly convoluted, as we were limited to Java 5. But we were able to duplicate the Java 6 method registerFont(java.awt.Font), which let us reference the font in our template: fontName="DejaVu Sans" //get Font like so: Font.createFont(java.awt.Font.TRUETYPE_FONT, new File(fontPath.toURI())); Hope that helps!