Important Notice - Forums is archived
To simplify things and help our users to be more productive, we have archived the current forum and focus our efforts on helping developers on Stack Overflow. You can post new questions on Stack Overflow or join our Discord channel.

Vaadin lets you build secure, UX-first PWAs entirely in Java.
Free ebook & tutorial.
how to display dynamically generated html page with resources that are also
Hi,
I'm trying to display a generated html page (generated by net.sf.jasperreports.engine.JasperExportManager.exportReportToHtmlFile()) using a CustomLayout in a Panel.
It look like this:
CustomLayout html = new CustomLayout(new FileInputStream("htmlFile.html"));
html.setSizeUndefined();
Panel htmlPanel = new Panel();
htmlPanel.setSizeFull();
htmlPanel.setContent(html);
layout.addComponent(htmlPanel);
This works fine if there are no resources like images and fonts that are generated by the export manager, but when there are they are placed in "htmlFile.html_files" directory.
The problematic thing is this part of html:
<td colspan="4">
<img src="htmlFile.html_files/img_0_0_37" style="width: 13px" alt=""/></td>
...
<td colspan="4" style="text-indent: 0px; text-align: right;">
<span style="font-family: Arial-hr_HR; color: #000000; font-size: 10px; line-height: 1.1499023;">7:55</span></td>
...
<link class="jrWebFont" rel="stylesheet" href="htmlFile.html_files/Arial-hr_HR">
When it gets displayed in the Layout the img src points to "http://localhost:8080/VAADIN/themes/mytheme/layouts/htmlFile.html_files/img_0_0_37".
And the text is not in Arial, my guess is that the font link is also to the same location wich does not exist.
The real path is something like "/glassfish4/glassfish/domains/domain1/config/htmlFile.html_files/".
The images are not a big problem as I could encode them in base64 and just parse them in the html file directly, but the font link are the problem.
First "htmlFile.html_files/Arial-hr_HR" is a css file:
@charset "UTF-8";
@font-face {
font-family: 'Arial-hr_HR';
src: local('☺'),
url('Arial-hr_HR.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
My question is could these files somehow be moved to the same location as the html file or is there a better way to do this.
The fonts and images can't be static because there are a lot of diferent reports with diferent images and fonts that are generated by the same web app.
Thanx in advance :)