itext可以将html转换为pdf吗?

时间:2014-06-16 20:53:48

标签: html itext

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

2 个答案:

答案 0 :(得分: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();
        }

希望这有帮助!

答案 1 :(得分:0)

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