开发者社区> 余二五> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

生成PDF的几种方式

简介:
+关注继续查看

1、后台生成PDF

thinkphp利用MPDF插件

示例代码:

public function pdf(){

    //引入类库

    Vendor('mpdf.mpdf');

    //设置中文编码

    $mpdf=new \mPDF('zh-cn','A4', 0, '宋体', 0, 0);

    //html内容

    $html='<h1><a name="top"></a>一个PDF文件</h1>';

    $mpdf->WriteHTML($html);

    $mpdf->Output();

    exit;

}

2.利用命令行将网页链接生成PDF

下载wkhtmltox

工具命令                                    链接                              生成的PDF文件

./wkhtmltox/bin/wkhtmltopdf http://www.baidu.com test.pdf

3.利用js生成PDF

引入以下两个js插件

html2canvas.js

jspdf.debug.js

示例代码:

function explode(){
$(".ncap-order-details").css("background-color",'#FFFFFF');
  html2canvas($(".ncap-order-details"), {
              onrendered:function(canvas) {
                  var pageData = canvas.toDataURL('image/jpeg', 1.0);
                  var pdf = new jsPDF('', 'pt', 'a4');
                  pdf.addImage(pageData, 'JPEG', 0, 0, 595.28, 592.28/canvas.width * canvas.height );
                  pdf.save('stone.pdf');
              }         
          })
}    

原理:先截图,然后将截图插入到PDF中
$(".ncap-order-details")是要截图的div区域,截图默认是透明背景,所以提前设置背景色,然后将截图保存到PDF中










本文转自 无心低语 51CTO博客,原文链接:http://blog.51cto.com/fengzhankui/1933004,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
fastjson:格式化输出,处理NULL,日期格式化
fastjson:格式化输出,处理NULL,日期格式化
218 0
如何生成RSA2密钥
密钥文件说明:    1、rsa_private_key.pem:原始私钥(又称pkcs1私钥),适用于非Java开发语言;  2、rsa_private_key_pkcs8.pem:pkcs8私钥,适用于Java开发语言;  3、rsa_public_key.pem:商户公钥,需上传至应用中加签方式的应用公钥位置。
1206 0
如何生成RSA,RSA2密钥
密钥生成或如何使用(创建应用):[url]https://openclub.alipay.com/read.php?tid=1606&fid=72[/url] 1.密钥生成工具下载:[url]https://docs.
983 0
WPF 圆角输入框
原文:WPF 圆角输入框 今天打算来做一个圆角的输入框 默认输入框:   这个输入框不好看,并且在XP 跟 WIN 7  WIN10 效果 都不太一样   我们今天不用模板的方式,而是 最简单的方式 来实现 圆角 输入框;     ------------------------...
1202 0
WPF ListBox 获取listBoxItem
1.已知item的DataContext,获取ListBoxItem 1)ItemContainerGenerator.ContainerFromItem var selectedItem = DocumentsControl.ItemContainerGenerator.ContainerFromItem(object itemModel) 注:如果开户了VirtualizingPanel.IsVirtualizing="True",不在当前显示范围内的Item是获取不了的。
1557 0
[Linux 性能检测工具]VMSTAT
VMSTAT NAME:          Vmstat: 报告虚拟内存统计 语法 :        vmstat [-a] [-n] [-t] [-S unit] [delay [ count]]        vmstat [-s] [-n] [-S unit]       ...
792 0
+关注
20377
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载