Как преобразовать визуализированный HTML-файл в файл изображения (PDF, JPG, PNG) на Java? - PullRequest
0 голосов
/ 02 июля 2019

У меня есть фрагмент 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-файле есть импортированный скрипт.

...