繁体   English   中英

下载pdf格式的PHP,HTML编码页面。

[英]Download PHP, HTML coded page in pdf format.

我的页面上有“以pdf下载”按钮。 该页面包含php和html代码。我想以pdf格式下载页面(未在浏览器窗口中打开)。 我尝试使用jspdf编写一个代码,该代码将div内容转换为pdf格式,但未应用css,并且格式与原始页面相同。

js代码:

<script type="text/javascript" src="https://parall.ax/parallax/js/jspdf.js"></script>
var doc = new jsPDF();
var specialElementHandlers = {
    '#editor': function (element, renderer) {
        return true;
 }
};

$('#cmd').click(function () {
    doc.fromHTML($('#div-bill').html(), 15, 15, {
             'width': 170,
             'elementHandlers': specialElementHandlers
});
doc.save('sample-file.pdf');
});

按钮: <button id="cmd">generate PDF</button>

页div:
<div class="container" id="div-bill"> //page elements here </div>

看一看phantomjs ,它在将网页呈现为PDF文档方面做得很好。 它基本上是一个基于Webkit的浏览器,并支持CSS,Canvas和SVG。

该可执行文件将在Windows,Linux或OSX服务器上运行,您可以使用javascript编写动作脚本。

因此,您可以做的是让您的“下载PDF格式”按钮转到一个启动phantomjs可执行文件的PHP文件,该文件请求将您想要转换为pdf文档的文件保存在服务器磁盘上。 然后,您再次使用php阅读该pdf文件,并将其作为下载提示发送回用户,例如:

header('Content-disposition: attachment; filename=somename.pdf');
header('Content-type: application/pdf');
readfile($file);

您应该研究wkhtmltopdf ,它可以将网站转换为pdf。 Wkhtmltopdf也将等待JavaScript生成元素。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM