java - setting ttf for PDF to Image on PDFbox -
i'm trying set external ttf , able render image out of pdf containing arabic caracters , font need set "arial" , having done console keeps on informing it's using defaultfont instead of arial.
org.apache.pdfbox.pdmodel.font.pdsimplefont drawstring attention: changing font on <3> <arial> default font
here's code :
import java.awt.image.bufferedimage; import java.io.file; import java.io.ioexception; import java.util.iterator; import java.util.list; import java.util.map; import javax.imageio.imageio; import org.apache.pdfbox.pdmodel.pddocument; import org.apache.pdfbox.pdmodel.pdpage; import org.apache.pdfbox.pdmodel.pdresources; import org.apache.pdfbox.pdmodel.edit.pdpagecontentstream; import org.apache.pdfbox.pdmodel.font.pdfont; import org.apache.pdfbox.pdmodel.font.pdtruetypefont; import org.apache.pdfbox.pdmodel.font.pdtype1font; import org.apache.pdfbox.pdmodel.graphics.xobject.pdxobjectimage; public class pdfboxtest { public static void main(string[] args) { pdfboxtest obj = new pdfboxtest(); try { obj.read_pdf(); } catch (ioexception ex) { system.out.println("" + ex); } } void read_pdf() throws ioexception { pddocument document = null; try { document = pddocument.load("c:/result.pdf"); } catch (ioexception ex) { system.out.println("" + ex); } int =1; string name = null; pdfont font = pdtruetypefont.loadttf(document, new file( "c:/arial.ttf" )); font.setwidths(pdtype1font.helvetica.getwidths()); list<pdpage>pages = document.getdocumentcatalog().getallpages(); iterator<pdpage> iter = pages.iterator(); while (iter.hasnext()) { pdpage page = (pdpage) iter.next(); bufferedimage img = page.converttoimage(); imageio.write(img, "png", new file("c:/" + + ".png")); } } }
Comments
Post a Comment