如何在Java中将呈现的HTML转换为某种图像文件(PDF、JPG、PNG)?

如何在Java中将呈现的HTML转换为某种图像文件(PDF、JPG、PNG)?,java,html,pdf,png,jpeg,Java,Html,Pdf,Png,Jpeg,我有一段从本质上呈现图形的HTML代码,我想将呈现的图形转换为图像文件。我到处寻找解决方案,但它们要么不起作用(即转换为空白图像),要么只适用于XHTML文件。我不确定将HTML存储在一个字符串中并处理它是否更可行,或者处理HTML文件本身是否更可行 这是HTML: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Upside Analysis<

我有一段从本质上呈现图形的HTML代码,我想将呈现的图形转换为图像文件。我到处寻找解决方案,但它们要么不起作用(即转换为空白图像),要么只适用于XHTML文件。我不确定将HTML存储在一个字符串中并处理它是否更可行,或者处理HTML文件本身是否更可行

这是HTML:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Upside Analysis</title>
    <script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
</head>
<body>
    <div id='target' ></div>
        <script>
        var target_target = document.getElementById('target');
        var layout = {
    title: 'Upside Analysis',
    titlefont: {
    family: 'arial',
    size: 24,
    color: 'black'
}
,
    height: 282,
    width: 500,
    xaxis: {
    title: 'Market Rents',
    },



};

var trace0 =
{
x: ['1 Bedroom','2 Bedroom','3 Bedroom'],
y: [2550.0, 3250.0, 4000.0],
orientation: 'v',
type: 'bar',
name: '',
};

        var data = [ trace0];
Plotly.newPlot(target_target, data, layout);    </script>

</body>
</html>

它所做的只是生成一个空白的.png文件,而映射的.html文件也是空白的。我认为这与HTML文件中有一个导入的脚本有关。

您能提供一些关于如何实际渲染图形的更多信息吗?您使用什么框架?HTML文件在浏览器中打开。您尝试过哪些“不起作用”的解决方案?我已经查看了这个网站上的每个答案,并尝试了6个不同的库。你能发布你尝试过的代码以及其中一个库的问题吗?你能提供一些关于如何实际渲染图形的更多信息吗?你使用什么框架?HTML文件是在浏览器中打开的。你尝试了什么“不起作用”的解决方案?我已经查看了这个网站上的每个答案,并尝试了6个不同的库。你能发布你尝试过的代码以及其中一个库的问题吗?
String uri = new File("testoutput/output.html").toURI().toString();
HtmlImageGenerator imageGenerator = new HtmlImageGenerator();
imageGenerator.loadUrl(uri);
imageGenerator.getBufferedImage();
imageGenerator.saveAsImage("output.png");
imageGenerator.saveAsHtmlWithMap("hello-world.html", "output.png");