我在飞碟xhtmlrenderer生成的pdf中使用自定义truetype字体.
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);
在正在呈现的html中,我有以下(例如)
*{font-family:myfont;} /*
some plain textsome bold text more bold
但即使使用< b>和font-weight:bold我不能让文字大胆出来.
现在,我知道这应该工作,因为我有一个类似的(遗留)项目使用相同的字体,和普通的旧itext(即没有xhtmlrenderer),它确实生成pdfs与粗体文本通过:
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));
任何人都可以解释为什么我不能使用xhtmlrenderer粗体,也许是一种克服这个问题的方法?
谢谢,p.