У меня есть фрагмент 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>
Я попытался передать его через Html2ImageGenerator:
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");
Все, что он делает - это генерирует пустой файл .png, в котором сопоставленный файл .html тоже пуст.Я думаю, что это как-то связано с тем, что в HTML-файле есть импортированный скрипт.