首页 文章

itext 可以将 html 转换为 pdf 吗?

提问于
浏览
0

可以迭代将 html 转换为 pdf。不是整个屏幕,而是类似这样的事情:屏幕有一个自由格式字段,用户可以输入 HTML 标签中包含的这个句子。这是一个自由格式字段,需要(此处为粗体标记)重要的东西加粗(此处为粗体标记)但没有其他任何粗体。我需要完全按照输入的方式从屏幕上获取此信息,我需要创建一个包含它的报告,但看起来像这样:这是一个自由形式字段,需要重要的东西加粗但没有其他粗体。 itext 有没有这样做的东西?

2 回答

  • 1

    在旧版本的 itext 中,您可以使用 htmlWorker,但现在不推荐使用它。现在您应该使用 XMLWorkerHelper 类及其 parseXHtml 方法。

    try {
              Document document = new Document(PageSize.LETTER);
              PdfWriter pdfWriter = PdfWriter.getInstance
                   (document, new FileOutputStream("c://test.pdf"));
              document.open();
              document.addTitle("test iText");
    
              XMLWorkerHelper worker = XMLWorkerHelper.getInstance();
    
              String str = "<html><head></head><body>"+
                "<h1>This is a title</h1>" +
                "<p>This is a paragraph</p>" +
                "</body></html>";
              worker.parseXHtml(pdfWriter, document, new StringReader(str));
              document.close();
              System.out.println("You should find you PDF in c:");
              }
            catch (Exception e) {
              e.printStackTrace();
            }
    

    希望这可以帮助!

  • 0

    我不久前尝试过,我必须说它不是将 PDF 转换为 HTML 的最佳选择。起初我认为我的 PDF 格式很糟糕,因为 CSS,但即使没有 CSS 它看起来很糟糕。所以我个人认为 iText 确实将 HTML 转换为 PDF,但它的样式表支持是值得怀疑的。由于最近的更新,我可能错了。

相关问题