某些HTML实体(箭头)不以PDF格式呈现(iText)

时间:2015-03-18 12:14:13

标签: c# html itext xmlworker

我尝试使用XMLWorker和iText在HTML中呈现⇒ ⇔ € © →。 PDF中仅显示版权和欧元符号。我使用了dafault字体和Arial但没有成功。

有没有办法让这些实体被渲染?是否有一种在文本中渲染箭头的替代方法?

1 个答案:

答案 0 :(得分:2)

正如您在ParseHtml3示例中所看到的,它对我有用:

enter image description here

这是我创建PDF的代码:

public void createPdf(String file) throws IOException, DocumentException {
    // step 1
    Document document = new Document();
    // step 2
    PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(file));
    // step 3
    document.open();
    // step 4
    String str = "<html><head></head><body style=\"font-size:12.0pt; font-family:Arial\">"+
            "<p>Special symbols: &larr;  &darr; &harr; &uarr; &rarr; &euro; &copy;</p>" +
            "</body></html>";

    XMLWorkerHelper worker = XMLWorkerHelper.getInstance();
    InputStream is = new ByteArrayInputStream(str.getBytes());
    worker.parseXHtml(writer, document, is);
    // step 5
    document.close();
}

请注意,所有实体都是小写的。