我正在尝试转换html到pdf从linux,而且我必须在网络应用程序中使用这一点,请让我知道什么工具是可用的this.Please让我知道任何其他工具为此
到目前为止我已经试过了
html2ps htmlfilename > a.ps
ps2pdf a.ps > a.pdf但是上面没有转换图像,忽略了css .My开发环境是linux(RHEL5)。
我也尝试过http://www.webupd8.org/2009/11/convert-html-to-pdf-linux.html,我得到了这个错误
[root@localhost bin]# ./wkhtmltopdf www.example.com a.pdf
./wkhtmltopdf: error while loading shared libraries: libQtWebKit.so.4: cannot open shared object file: No such file or directory发布于 2011-05-26 21:55:58
您走在正确的道路上:wkhtmltopdf是完成此操作的最简单方法。注意,存储库中的代码可能已经过时了(不确定这个包有多新);您可能需要从源代码编译它,或者获取静态链接的版本(这个版本很大,但已经包含了QT库和其他依赖项)。
此外,在您的情况下,您可能只是缺少一个库-安装libqt4-webkit-dev可能会在这里做到这一点。
发布于 2016-12-16 00:17:33
有两种容易实现且适合将HTML+CSS转换为pdf的方法。
1) 使用"Jspdf javascript“插件和"html2canvas插件”(Web App)。
jspdf plugin.var script = document.createElement('script'); script.type = 'text/javascript'; script.src ='https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.0.272/jspdf.min.js'; document.head.appendChild(script);
使用var script = document.createElement('script'); script.type = 'text/javascript'; script.src = 'https://cdnjs.cloudflare.com/ajax/libs/html2canvas/0.4.1/html2canvas.js'; document.head.appendChild(script);
var html2obj = html2canvas($('your div class here')); var queue = html2obj.parse(); var canvas = html2obj.render(queue);
var img = canvas.toDataURL("image/jpg"); console.log(img);
var doc=new jsPDF("p", "mm", "a4"); var width = doc.internal.pageSize.width;
IE 11的var height = doc.internal.pageSize.height; doc.addImage(canvas, 'JPEG', 15, 35, 180, 240,'SLOW'); doc.save("save.pdf");
document.getElementById("your div here").style.backgroundColor = "#FFFFFF";
2)使用wkhtmltopdf的
从here
import com.github.jhonnymertz.wkhtmltopdf.wrapper.Pdf; import com.github.jhonnymertz.wkhtmltopdf.wrapper.page.PageType; import com.github.jhonnymertz.wkhtmltopdf.wrapper.params.Param; public class PofPortlet extends MVCPortlet {
@Override public void render(RenderRequest request , RenderResponse response) throws PortletException , IOException
{ super.render(request, response); Pdf pdf = new Pdf();
pdf.addPage("http://www.google.com", PageType.url); // Add a Table of contents pdf.addToc(); // The "wkhtmltopdf" shell command accepts different types of options such as global, page, headers and footers, and toc. Please see "wkhtmltopdf -H" for a full explanation. // All options are passed as array, for example: // Save the PDF try { pdf.saveAs("E:\\output.pdf"); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
3)其他工具包括phantom.js,itextpdf,grabz.it
发布于 2011-05-26 21:50:52
可能最简单的方法是启动任何现代浏览器,访问网站,然后使用浏览器的“打印”功能打印到pdf (假设您的系统设置了pdf打印机)。不过,我不知道在你的情况下这是不是一个选项,而且这种事情在web应用程序中是不能工作的。尽管如此,你可能还是想尝试一下。
https://stackoverflow.com/questions/6139538
复制相似问题