J'utilise org.xhtmlrenderer.pdf.ITextRenderer
pour convertir ma page (x) html en pdf en utilisant Java. J'ai la plupart du temps fonctionné, excepté la partie de police.xhtmlrenderer xhtml au pdf problème de police
J'utilise verdana
dans ma page et le pdf est rendu en utilisant la police par défaut.
J'ai ajouté le verdana.ttf à mon pot et utiliser le code suivant:
DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document doc = builder.parse(new StringBufferInputStream(html));
File tmpFontFile = new File(TEMP_FOLDER + "/verdana.ttf");
if(!tmpFontFile.exists())
{
tmpFontFile.createNewFile();
InputStream fontIs = getClass().getResourceAsStream("/com/mycompany/util/font/verdana.ttf");
OutputStream fontOs = new FileOutputStream(tmpFontFile);
byte buf[] = new byte[1024];
int len;
while((len = fontIs.read(buf)) > 0)
fontOs.write(buf,0,len);
fontOs.close();
fontIs.close();
}
ITextRenderer renderer = new ITextRenderer();
renderer.getFontResolver().addFont(
tmpFontFile.getAbsolutePath(), BaseFont.IDENTITY_H ,BaseFont.EMBEDDED);
renderer.setDocument(doc, null);
String outputFile = TEMP_FOLDER + "/mypdf.pdf";
OutputStream os = new FileOutputStream(outputFile);
renderer.layout();
renderer.createPDF(os);
os.close();
Qu'est-ce que je manque ici?
Merci, Bart
vous dites 'font: family' mais je pense que vous voulez dire 'font-family', non? – pstanton
police: le type ne fonctionnera pas pourrait B.T. avait utilisé font-family pour cela :) –