We have a tomcat/liferay based solution that utilizes the pd4ml library. We stumbled across an issue recently where upon initial load of a web page, the content will resize to fit relative to the other components on a webpage. This occurs in less than one second, and is often not noticeable to most users.
The problem we are facing is that pd4ml appears to render the original html content, and we had hoped there would be a way to delay the rendering and html capturing process (perhaps a second or so) so that the content is correctly positioned on the web page before the rendering is executed.
Please let me know if this is something we can accomplish as we are approaching a deadline to implement this feature in our product.
PD4ML implements its own HTML/CSS rendering engine. The engine starts page layouting only after all resources (images, stylesheets etc) are completely loaded. So it is not possible, that page layout changes itself in 1-2 seconds.
So I am afraid, if a PDF conversion result does not match its original HTML page layout, there are probably other reasons (failed CSS parsing, unsupported HTML tags etc). An HTML/CSS samples would help to analyze the problem reason.
The above is relevant for the original PD4ML library. There is also PD4ML Web (based on WebKit native HTML renderer) – the version may suffer from network/rendering asynchrony or delays.
Thanks for the quick reply. Based on your response, we are going to test a scenario where we are intentionally delaying the page layouting by asking for an image after the page is fully loaded. This image will be a dummy image, and we’ll give it a 5-10 second timeout, upon which the page should definitely be ready to be rendered. We could put together a servlet to test this with.
We will let you know the result. Thanks again for your promptness.