HTML 转 PDF

dependencies

XML 复制代码
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>html2pdf</artifactId>
            <version>5.0.5</version>
        </dependency>
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>kernel</artifactId>
            <version>8.0.5</version>
        </dependency>
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>io</artifactId>
            <version>8.0.5</version>
        </dependency>
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>layout</artifactId>
            <version>8.0.5</version>
        </dependency>

代码实现

java 复制代码
    @Test
    void htmlToPdf() {
        // IO
        File htmlSource = new File("D:\\test.html");
        File pdfDest = new File("D:\\test.pdf");
        
        try {
            // pdfHTML specific code
            ConverterProperties converterProperties = new ConverterProperties();
            HtmlConverter.convertToPdf(new FileInputStream(htmlSource),new FileOutputStream(pdfDest), converterProperties);
        } catch (IOException e) {
            log.error("生成文件失败", e);
        }
    }
    
    @Test
    void createPdf() {
        
        String dest = "D:\\hello_world.pdf";
        
        //生成文件
        try {
            // 1、创建一个PdfWriter对象,将文档写入到文件中
            PdfWriter writer = new PdfWriter(dest);
            // 2、初始化一个PdfDocument对象
            PdfDocument pdf = new PdfDocument(writer);
            // 3、初始化一个Document对象
            Document document = new Document(pdf);
            // 4、向文档中添加内容
            document.add(new Paragraph("Hello World!"));
            // 5、关闭文档
            document.close();
        } catch (IOException e) {
            log.error("生成文件失败", e);
        }
    }

参考

🐙iTextPdf学习笔记 - Java小白的搬砖路 - 博客园

官方教程:

Convert HTML & CSS to rich, smart PDF documents - iText

iText: Converting HTML to PDF with pdfHTML

相关推荐
MZWeiei1 小时前
实现List接口的三类-ArrayList -Vector -LinkedList
java
怀旧6661 小时前
Java List 集合
java·数据结构·后端·list·个人开发
听我对云说1 小时前
Java语言程序设计 选填题知识点总结
java·开发语言
苹果酱05671 小时前
浅谈vue3 和 vue2的区别
java·spring boot·毕业设计·layui·课程设计
forestsea2 小时前
【Java 解释器模式】实现高扩展性的医学专家诊断规则引擎
java·人工智能·设计模式·解释器模式
陈小于2 小时前
springboot集成shiro和前后端分离配置
java·spring boot·后端
不修×蝙蝠2 小时前
数据结构--数组实现栈和队列
java·数据结构·数组··队列
信息化未来2 小时前
odoo17 档案管理之翻译2
java·服务器·前端
清山博客2 小时前
Java将PDF保存为图片
java·开发语言·pdf
life10242 小时前
pdf文档动态插入文字水印,45度角,旋转倾斜,位于文档中央,多行水印可插入中文
java·pdf·水印