freemark生成pdf

这篇具有很好参考价值的文章主要介绍了freemark生成pdf。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

freemark生成pdf

字体库 simsun.ttc 解决中文问题

/**
     * 生成pdf
     * @param params
     * @param templPath
     * @param ftlName
     * @param htmlPath
     * @param pdfPath
     * @param fontPath
     * @return
     */
    public String processPdf(Map<String, Object> params, String templPath, String ftlName, String htmlPath,
                             String pdfPath, String fontPath) {
        // 得到模板地址
        try {
            configuration.setDirectoryForTemplateLoading(new File(templPath));
            Template temp = configuration.getTemplate(ftlName);
            File htmlFile = new File(htmlPath);
            if (!htmlFile.exists()) {
                htmlFile.createNewFile();
            }
            Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File(htmlPath)), "utf-8"));
            temp.process(params, out);
            out.flush();

            String url = htmlFile.toURI().toURL().toString();
            OutputStream os = new FileOutputStream(pdfPath);
            ITextRenderer renderer = new ITextRenderer();
            renderer.setDocument(url);

            // 解决中文问题
            ITextFontResolver fontResolver = renderer.getFontResolver();

            fontResolver.addFont(fontPath + "simsun.ttc", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);

            renderer.layout();
            renderer.createPDF(os);
            os.close();
        } catch (Exception e) {
            e.printStackTrace();
            return "";
        }

        return pdfPath;
    }
<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-freemarker</artifactId>
            <version>${spring-boot-starter-freemarker.version}</version>
        </dependency>
        <dependency>
            <groupId>com.lowagie</groupId>
            <artifactId>itext</artifactId>
            <version>2.0.8</version>
        </dependency>
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>itext-asian</artifactId>
            <version>5.2.0</version>
        </dependency>
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>itextpdf</artifactId>
            <version>5.0.6</version>
        </dependency>
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>itext-xtra</artifactId>
            <version>5.4.5</version>
        </dependency>
        <dependency>
            <groupId>org.xhtmlrenderer</groupId>
            <artifactId>core-renderer</artifactId>
            <version>8.0</version>
        </dependency>

freemark生成pdf,java,pdf,java,前端,生成合同文章来源地址https://www.toymoban.com/news/detail-547704.html

到了这里,关于freemark生成pdf的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【PDF】前端生成pdf

    上一篇博客主要讲的是pdf文件转换成canvas,然后进行相关的画框截图操作。 【PDF】Canvas绘制PDF及截图 本篇博客主要讲html中dom如何生成pdf文件(前端生成pdf),后端生成pdf当然也可以,原理也是将html网页通过后端服务导出成pdf,然后css设置break-after:always;作为分页逻辑,但是

    2024年02月09日
    浏览(37)
  • 前端打印、生成PDF的那些事

    最近项目中经常做到前端打印、生成PDF功能这篇文章主要是记录下遇到的问题、以及实现方案 html2canvas npm i html2canvas yarn add html2canvas jspdf npm i jspdf yarn add jspdf print-js npm i print-js yarn add print-js 这个功能我们使用到print-js库来实现 使用上述的方式就能解决打印内容被截断的问题了

    2024年02月16日
    浏览(43)
  • Freemarker:生成HTML文本文件

    前置工作参考: Freemarker:基本使用_moreCalm的博客-CSDN博客   1、修改application.yml配置文件 2、在test下创建测试类 FreemarkerTest 3、查看结果  

    2024年02月14日
    浏览(82)
  • 根据模板动态生成word(一)使用freemarker生成word

    @ 目录 一、准备模板 1、创建模板文件 2、处理模板 2.1 处理普通文本 2.2 处理表格 2.3 处理图片 二、项目代码 1、引入依赖 2、生成代码 三、验证生成word 首先先建立一个word文件,输入模板内容freemaker的内容,下面是本次演示的word文件。 然后将word文件另存为 .xml 文件,然后再

    2024年02月13日
    浏览(85)
  • freemarker模板生成的word文档优化

    使用压缩工具打开docx模板,取出document.xml,如下图: 将用压缩工具打开后的docx文档里面的document.xml复制出来,并将document.xml后缀改为.ftl,然后进行参数预设。 将内容格式化后修改需要替换的内容为freemarker标签,对document.ftl进行参数预设,如下图: 文件准备好后存放到某个

    2024年02月02日
    浏览(52)
  • springboot使用Freemark生成动态页面工具

    引入pom 代码:  具体怎么使用,需要自己看解析方式

    2024年02月07日
    浏览(31)
  • 【jspdf】前端html生成pdf的两种办法 以及 引入中文字体

    1、使用canvas把html生成图片,然后使用jspdf生成pdf。优点:生成的pdf 样式还原度极高,缺点:图片形式的pdf无法编辑 2、直接使用jspdf的html方法直接把html生成pdf。优点:可编辑,缺点:只是把文本内容搂出来生成pdf,也就是说样式基本无,而且jspdf不支持中文字体的,如果有中

    2024年02月10日
    浏览(47)
  • SpringBoot+Thymeleaf 后端转html,pdf HTML生成PDF SpringBoot生成PDF Java PDF生成

    本文详细介绍了如何使用SpringBoot和Thymeleaf将后端HTML转换为PDF,包括依赖介绍、模板渲染以及PDF生成等步骤。

    2024年02月09日
    浏览(56)
  • 【生成PDF】【JAVA】纯后台生成Echarts图片,并将图片生成到PDF文档

    目录 前言 一、如何后台生成Echarts图片? 1.PhantomJS 2.PhantomJS的下载  3.用phantomjs调用echarts-converts.js生成图片 二、Java如何将Echarts图生成到PDF 1.生成PDF依赖 2.Java代码测试例子:  3.测试结果   三、下载生成的PDF ReportFormUtil 提示:本文仅用于记录日常,多有不足,仅供参考。

    2024年02月09日
    浏览(47)
  • springboot基础(78):Freemarker模板生成word文档

    利用Freemarker模板生成word文档。示例,将左侧的模板生成为右侧的文档并下载。 1.编辑一份addr.docx文档 2. 另存为addr.xml文档 3. 打开addr.xml文件,修改内容,由于table表格,需要遍历list集合,需要添加 将addr.xml后缀更改为addr.ftl文件,存放到resources/templates下 导入依赖 编写contr

    2024年02月11日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包