2006 IR Open Discussion Posted August 20, 2006 Share Posted August 20, 2006 By: Thomas Heinen - theinen Embedding Type1 fonts in PDF documents 2003-10-15 05:51 Hi Teodor. I noticed, that it is not possible to embed type1 fonts in PDF documents. I analyzed the source code and found out, that you only pass the afm-part of the font to BaseFont.createFont. For Type1-fonts you have to pass the pfb-part of the font instead of "null". Therefore I propose this patch for the class JRPdfExporter, which is working well for me: patched jasper-reports-version, it now can also embed type1-fonts, which wasn't possible before: modifications: in class dori.jasper.engine.export.JRPdfExporter in method exportText at line 1097 added declaration to other declarations: byte[] pfbbytes = null; at line 1107 added after try-segment for loading the font: try { n = jrFont.getPdfFontName(); if (n.substring(n.length()-3).equals("afm")) { loc=n.substring(0,n.length()-3) + "pfb"; pfbbytes = JRLoader.loadBytesFromLocation(loc); } else pfbbytes = null; } catch(JRException e) { throw new JRException("Could not load pfb-font from location : " + loc); } after that changed creation of BaseFont-object ('pfbbytes' was 'null' before): baseFont = BaseFont.createFont( jrFont.getPdfFontName(), jrFont.getPdfEncoding(), jrFont.isPdfEmbedded(), true, bytes, pfbbytes ); I hope I could help with my patch ;-) Thomas. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now