html转成图片

依赖

XML 复制代码
<dependency>
    <groupId>org.jsoup</groupId>
    <artifactId>jsoup</artifactId>
    <version>1.13.1</version>
</dependency>
java 复制代码
import org.aspectj.util.FileUtil;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;

import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

public class HtmlToImage {

    public static void main(String[] args) throws IOException {

        String outPath = "D:\\work\\project\\jar\\wordtopdf-server\\createWordBytemplate\\src\\test\\java\\simple.png";
        String htmlTemplateStr = "D:\\work\\project\\jar\\wordtopdf-server\\createWordBytemplate\\src\\test\\java\\simple.html";
        String html = FileUtil.readAsString(new File(htmlTemplateStr));

//        String html = "<html><body>Hello, World!<p>This is a simple HTML to Image example.</p></body></html>";
        try {
            BufferedImage image = createImageFromHtml(html);
            ImageIO.write(image, "png", new File(outPath));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static BufferedImage createImageFromHtml(String html) {
        Document doc = Jsoup.parse(html);
        String text = doc.body().text();

        // Create a BufferedImage
        BufferedImage bufferedImage = new BufferedImage(800, 600, BufferedImage.TYPE_INT_RGB);
        Graphics2D g2d = bufferedImage.createGraphics();
        
        // Set Background Color
        g2d.setColor(Color.WHITE);
        g2d.fillRect(0, 0, 800, 600);

        // Set Text properties
        g2d.setColor(Color.BLACK);
        g2d.setFont(new Font("Arial", Font.PLAIN, 24));

        // Draw Text
        g2d.drawString(text, 50, 50);
        g2d.dispose();

        return bufferedImage;
    }
}

【Java利用poi-tl实现富文本HTML转Word - CSDN App】https://blog.csdn.net/wdy_2099/article/details/117951909?sharetype=blog\&shareId=117951909\&sharerefer=APP\&sharesource=m0_49128301\&sharefrom=link

相关推荐
霸道流氓气质16 小时前
AI 流式对话与实时聊天平台:SSE 解码竞态、有状态会话隔离与背压取消的 Vue3 + Spring AI 生产级实战
java·人工智能·spring
frjc20 小时前
Spring AI 高级实战:ChatMemory、Tool Calling 与 MCP 架构解析
人工智能·spring·架构
T量子永生21 小时前
Unisoc(紫光展锐) Kernel 6.18 DDK 编译框架详解
linux·运维·spring
麻瓜code1 天前
Spring AI 全模块 API 字典一览(1.1.0 版)
人工智能·windows·spring
养军博客1 天前
Spring Security 4.x / 5.x / 6.x 配置全对比:前后端不分离与前后端分离
java·后端·spring·springsecurity
java_nnnn1 天前
Spring IoC & DI 从入门到理解:控制反转、依赖注入与 Bean 管理详解
数据库·sql·spring
骑着蜗牛撵大象3271 天前
Spring Boot 4.1 + Spring AI 2.0:RAG 供文、图谱供关系、MCP 供工具的 Java Agent 平台
java·spring boot·spring·微服务·知识图谱·rag·mcp
CoderYanger1 天前
Java EE 进阶:6.SpringBoot 配置文件(第二弹)
java·spring boot·spring·面试·职场和发展·java-ee·程序员创富
m0_639906941 天前
SpringBoot 实现大模型统一调度网关|对接 OpenAI、Claude 协议差异与适配方案
java·spring boot·spring
雪芽蓝域zzs1 天前
第 1 章:IDEA 全局配置 Maven + 新建 SpringBoot3 Maven 项目
java·maven·intellij-idea