如何使用html(DOM)内容核算html的css styles
来创建pdf?
HTML中包含MathJax个javascript呈现的公式。我想pdf显示公式,因为它们在浏览器中使用MathJax
可见。
此外,HTML包含很少的图像
哪个开源java库有助于从html内容创建这样的pdf?
我调查了Apache PdfBox
但没有找到解决方案。
解决方案必须是用于商业应用的开源库。
修改 DOM内容在服务器端动态生成,而不是推送到浏览器 FlyingSaucer接近我的需要。但是这不支持java脚本,即带有MathJax的html无法(正确)转换为pdf。
答案 0 :(得分:1)
基于WebKit的各种PDF渲染器都支持JavaScript。我发现的最好的是PhantomJS的屏幕截图功能。
http://phantomjs.org/screen-capture.html
你必须编写一些代码,并确保在JS完成其工作之前不要抓住屏幕。
<强>更新强>
这是一个非常简单的示例,它从stdin读取HTML并将PDF文件保存到磁盘:
// render.js
var page = new WebPage();
page.content = require("system").stdin.read();
setTimeout( function(){
page.render( 'export.pdf' );
phantom.exit(0);
}, 100 ); // <- wait for JS
您可以从您正在使用的任何服务器端运行时执行此操作,只要它可以执行shell。要使用静态文件从命令行对其进行测试,您可以执行以下操作:
~/bin/phantomjs render.js < sample.html