1

我正在使用 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 输出

在此处输入图像描述

4

0 回答 0