我正在使用 Java 使用 iText5(com.itextpdf.tool xmlworker ver 5.5.10)将 HTML 输入转换为 PDF。我有一个需要以特定字体显示的有序列表。我的问题是我无法更改列表编号的字体或大小以匹配列表项的内容。对于以下 HTML,生成的 PDF 中的数字 7. 8. 9. 和 10. 不正确。如何更改数字的字体?
HTML 输入:
<ol start="7">
<li>seventh entry</li>
<li>eight entry</li>
<li>ninth entry</li>
<li>tenth entry</li>
</ol>
Java源码:
private Paragraph htmlToPdf(String htmlStr) throws PdfException {
ElementList elements = new ElementList();
String fontTypeNormal = FontProvider.FontType.BRODTEXT_NORMAL.toString(); //"Frutiger LT Std"
String fontSizeNormal = "font-size: 11pt";
fontProvider.registerFont(FontProvider.FontType.BRODTEXT_NORMAL); //method in other class. using FontFactory.register(). This works.
String cssStr = "p {font-family: '" + fontTypeNormal + "'; " + fontSizeNormal + "} ul { list-style: disc; font-family: '" + fontTypeNormal
+ "'; } li { font-family: '" + fontTypeNormal + "'; " + fontSizeNormal + "} ol { font-family: '" + fontTypeNormal + "'; } ";
try {
elements = XMLWorkerHelper.parseToElementList(htmlStr, cssStr);
} catch (IOException e) {
logger.error("Failed to parse HTML...");
e.printStackTrace();
}
Paragraph htmlParagraph = new Paragraph();
htmlParagraph.add(element);
}
return htmlParagraph;
}
这是不工作的 PDF 部分的图片:PDF 输出