当前位置: 首页 > article >正文

html转成图片

依赖

<dependency>
    <groupId>org.jsoup</groupId>
    <artifactId>jsoup</artifactId>
    <version>1.13.1</version>
</dependency>
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


http://www.kler.cn/a/411446.html

相关文章:

  • Oracle SQL优化②——访问路径
  • 极狐GitLab 17.6 正式发布几十项与 DevSecOps 相关的功能【二】
  • docker 通过Dockerfile自定义的镜像部署Springboot项目
  • 大语言模型LLM的微调代码详解
  • Pytorch使用手册-快速开始(专题一)
  • 51单片机-独立按键与数码管联动
  • 「Mac玩转仓颉内测版29」基础篇9 - 数组类型详解
  • 【论文解读】CVPR 2024 DSL-FIQA :全新人脸面部图像质量评估算法(附论文地址)
  • HPA - k8s自动伸缩机制
  • 2024年11月26日Github流行趋势
  • 推荐一款龙迅HDMI2.0转LVDS芯片 LT6211UX LT6211UXC
  • 1 ISP一键下载
  • ffmpeg 生成白噪声,粉噪声,棕噪声,蓝噪声,紫噪声,丝绒噪声
  • SVG无功补偿装置MATLAB仿真模型
  • java虚拟机——频繁发生Full GC的原因有哪些?如何避免发生Full GC
  • 快速理解微服务中Fegin的概念
  • 241126学习日志——[CSDIY] [ByteDance] 后端训练营 [19]
  • 【Linux】线程同步与互斥
  • 代码随想录算法训练营第五十五天|Day55 图论
  • 第三届航空航天与控制工程国际 (ICoACE 2024)
  • C语言实现冒泡排序:从基础到优化全解析
  • 电话机器人是什么?
  • node.js @ffmpeg-installer/ffmpeg 桌面推流
  • 安装 electron 依赖报错
  • Flutter 3.24.5安装配置——2024年11月26日
  • OpenCV从入门到精通实战(五)——dnn加载深度学习模型