J'utilise une police truetype personnalisée dans un pdf généré par xhtmlrenderer soucoupe volante.soucoupe volante (xhtmlrenderer) ne gras ma police?
ITextRenderer renderer = new ITextRenderer();
renderer.getFontResolver().addFont("myfont.ttf", BaseFont.CP1252, BaseFont.EMBEDDED);
renderer.setDocument(XMLResource.load(in).getDocument(), url);
renderer.layout();
renderer.createPDF(out);
et dans le code HTML étant rendu, je donne les résultats suivants (par exemple)
<html>
<head>
<style type="text/css">
*{font-family:myfont;} /* <-- this works, trust me */
</style>
</head>
<body>
<p>some plain text<b>some bold text</b> <span style="font-weight:bold;">more bold</span></p>
</body>
</html>
mais même avec le <b>
et font-weight:bold
je ne peux pas le texte à venir gras.
Maintenant, je sais que cela devrait fonctionner parce que j'ai un projet similaire (héritage) qui utilise la même police, et ancienne plaine itext (pas de xhtmlrenderer) et il ne produit pdfs avec le texte en gras par:
myFont = BaseFont.createFont("myfont.ttf", BaseFont.CP1252, BaseFont.EMBEDDED);
Font boldFont = new Font(myFont);
boldFont.setStyle(Font.BOLD);
com.lowagie.text.Document document = ...;
document.add(new Paragraph("plain", myFont));
document.add(new Paragraph("bold", boldFont));
quelqu'un peut-il expliquer pourquoi je ne peux pas utiliser gras avec xhtmlrenderer, et peut-être un moyen de surmonter ce problème?
merci, p.
Je voudrais ajouter + dix à cette question pour l'exemple de code que vous avez fourni parce que j'ai le même problème mais de plus je dois changer dynamiquement le doc tout en le rendant. J'ai passé de nombreuses heures à tester le code du voleur, mais ce n'est que lorsque j'ai vu votre extrait que je me suis rendu compte qu'il serait beaucoup plus facile de m'amuser avec itext. Je vous remercie. – sdespolit