生成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中

时间: 2024-08-01 17:29:02

生成PDF的几种方式的相关文章

生成Webservice的两种方式(Axis2,CXf2.x)

一天之中,用了各种方式生成webservice,就是为了node.js能和程序顺利通信.最终还是用axis2成功了.工作基本完成了,现在可以总结一下. 关于生成方式,推荐使用eclipse,比较方便,具体方式,上篇博文有转载,axis2和cxf2.x都是如此.注意:不是在项目上new一个webservice,是在你要作为webservice调用类的上面new一个. 具体代码,和测试代码,均通过测试的. 一.Axis2 服务端: package cn.wang; public class Even

利用&quot;SQL&quot;语句自动生成序号的两种方式

1.首先,我们来介绍第一种方式: ◆查询的SQL语句如下: select row_number() over (order by name) as rowid, sysobjects.[name] from sysobjects ◆运行的结果: rowid   name 1           all_columns 2           all_objects 3           all_parameters 4           all_sql_modules 5          

Pandas 基础(3) - 生成 Dataframe 的几种方式

这一节想总结一下 生成 Dataframe 的几种方式: CSV Excel python dictionary List of tuples List of dictionary 下面分别一一介绍具体的实现方式: 通过 csv 文件这里补充一个知识点, 就是如果要读取的文件不在 jupyter 所在的文件夹, 则可以通过绝对路径的方式引入. df = pd.read_csv("/Users/rachel/Downloads/weather.csv") 通过 Excel 文件这里的第二

html导出pdf的四种方式

将html页面导出为pdf文件并打印,可以直接在windows下使用Ctrl + P,苹果下? + P. 如果需要用代码实现,可以考虑jsPDF.iText.wkhtmltopdf等方式. 以下是三种方式代码对比: 方式 优点 缺点 分页 图片 表格 链接 中文 特殊字符.样式 导出样例 备注 jsPDF 1.整个过程在客户端执行(不需要服务器参与),调用简单 1.生成的pdf为图片形式,且内容失真 支持 支持 支持 不支持 支持 支持 iText 1.功能基本可以实现,比较灵活2.生成pdf质

vue项目中导出PDF的两种方式

参考大家导出的方式,基本上是如下两种: 1.使用 html2Canvas + jsPDF 导出PDF, 这种方式什么都好,就是下载的pdf太模糊了.对要求好的pdf这种方式真是不行啊! 2.调用浏览器自身的方法.window.print() 来打印(打印时可选下载),这种方式打印出来很清楚,但纯在浏览器兼容问题. 谷歌浏览器比较好用点. 两种导出pdf清晰度对比: --------------左边 html2canvas + jspdf:-----------------------------

【工具篇】在.Net中实现HTML生成图片或PDF的几种方式

前段时间由于项目上的需求,要在.Net平台下实现把HTML内容生成图片或PDF文件的功能,特意在网上研究了几种方案,这里记录一下以备日后再次使用.当时想着找一种开发部署都比较清爽并且运行稳定的方案,但实际上两者同时满足基本不可能,只能做一个自己觉得合适的取舍,下面从两个维度(清爽指数和功能指数)逐一对比. 1.   WebBrowser 这种方案在开发时不依赖任务外部程序集和nuget包,部署时也不需要安装额外的工具和服务,可以说是非常清爽了.它借助了WinForm下的WebBrowser控件实

PHP生成word的三种方式

摘要: 最近工作遇到关于生成word的问题 现在总结一下生成word的三种方法. btw:好像在博客园发表博客只要是标题带PHP的貌似点击量都不是很高(哥哥我标题还是带上PHP了),不知道为什么,估计博客园上net技术大牛比较多吧,如果把java,.net,php比作程序员的女友,那么java是Oracle门下的大家闺秀,.net微软旗下的名门望族,PHP则是草根门下的山村野姑,这让我等PHP草民闷骚男情何以堪情何以堪..牢骚发完了,正式写博客吧 正文 PHP生成word原理 利用windows

C++中使用new为一个变量动态生成存储空间的3种方式

1 // 使用new动态分配存储空间 2 3 #include<iostream> 4 using std::cout; 5 6 int main() 7 { 8 // 第1种方式 9 int *a=new int; 10 *a=1; 11 cout<<"使用第一种方式进行动态分配存储空间的结果为:\n" 12 <<"*a= "<<*a<<std::endl; 13 // 第2种方式 14 int *b=n

EF Codefirst生成数据库的三种方式

1.写在前头 不是什么高大上的东西,也不是完全原创的,大多是自己学习时去网上查的各种资料.只是发现学东西还是要写点东西,不然前边写着后边忘了,花的时间都浪费了,写写增加记忆吧.如果是有人刚开始学看到这个相信会有帮助的. 2.开搞 前几天写了篇小文章搞了下EF生成数据库时获取连接字符串的方式,发布时不小心勾选了发布到首页,秒秒钟就被管理员给撤销了( ⊙ o ⊙ ),确实太低端了,博客园锅锅撤销也是可以理解的,废话不多说,今天继续搞一搞获取完连接字符串后EF怎么生成数据库呢,有哪些方式呢? 第一种: