有一些不错的项目可以从html/css/js文件生成pdf:
- http://wkhtmltopdf.org/(开源)
- https://code.google.com/p/flying-saucer/(开源)
- http://cssbox.sourceforge.net/(不一定直接生成pdf)
- http://phantomjs.org/(开源允许pdf输出)
- http://www.princexml.com/(商业软件,但是目前为止最好的)
- https://thepdfapi.com/可通过chrome修改从html生成pdf文件
我想编写程序以控制Chrome或Firefox浏览器(因为它们都是跨平台的),使它们加载网页、运行脚本并排版页面,然后生成一个用于打印的pdf文件。
但是如何开始以自动化的方式来控制浏览器,以便我可以执行类似以下命令:
render-to-pdf file-to-render.html out.pdf
我可以通过手动浏览页面并将其打印到pdf来轻松完成这项工作,我可以在pdf文件中获得准确的、100%规范兼容的渲染html/css/js页面。甚至可以通过浏览器中的配置选项省略pdf中的url头。但是,如何开始尝试自动化此过程呢?
我希望在服务器端自动化打开浏览器、导航到一个页面,并使用浏览器渲染的页面生成pdf。
我已经进行了很多研究,只是不知道如何提出正确的问题。我想以编程方式控制浏览器,可能类似于Selenium,但要将网页导出为PDF(因此使用浏览器的渲染功能来生成良好的PDF文件)。
--kiosk --kiosk-printing
,并在prefs
capability 中传递默认的 PDF 打印机来实现。我从未尝试过这样做,但这是我会开始尝试的地方。 - Chris Haas