【问题标题】:Populate html to generate pdf openhtmltopdf?填充html以生成pdf openhtmltopdf?
【发布时间】:2021-07-13 06:37:19
【问题描述】:

我想创建一个表格 pdf,所以我使用 openhtmltopdf 并且我想将我的列表数据从 java 传递到 html,然后渲染到 pdf。我该怎么做?

    private static Document html5ParseDocument(String inputHTML) throws IOException {
        org.jsoup.nodes.Document doc;
        System.out.println("parsing ...");
        doc = Jsoup.parse(new File(inputHTML), "UTF-8");
        System.out.println("parsing done ..." + doc);
        return new W3CDom().fromJsoup(doc);
    }

    private static void htmlToPdf(String inputHTML, String outputPdf) throws IOException {
        Document doc = html5ParseDocument(inputHTML);


        OutputStream os = new FileOutputStream(outputPdf);
        PdfRendererBuilder builder = new PdfRendererBuilder();
        builder.withUri(outputPdf);
        builder.toStream(os);


        builder.withW3cDocument(doc, System.clearProperty("user.dir").concat("/src/main/resources"));
        //builder.useUriResolver(new MyResolver());
        builder.run();
        System.out.println("PDF generation completed");
        os.close();
    }

【问题讨论】:

    标签: java openhtmltopdf


    【解决方案1】:

    你可以使用模板,比如在你的html中你需要改变标题,这样做;

    在html中

    <title>
    #{header}
    </title>
    

    并且在您的 java 代码中,您可以将 #{header} 替换为 header String ;

     inputHtml.replace("#{header}","New title");
    

    由于您的问题是关于列表的,因此您需要将唯一的 html 标签替换为您在 java 代码中构建的 html 字符串。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-26
      • 1970-01-01
      • 1970-01-01
      • 2019-04-02
      • 2018-09-04
      • 2015-07-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多