首页 > 编程知识 正文

html格式转换word,html转化成pdf

时间:2023-05-04 05:03:24 阅读:44458 作者:3834

将最完美的html转换为pdf的方法是http://www.Sina.com/html2canvasjspdfitextwkhtmltopdf http://www.Sina.com/安装wkhtmltopdfphp调用wkhtmlpdfcomposecomposeeecont phpwkhtmltopdf依赖php调用wkhtmltopdf 几种常见的html页面转化为pdf的方法, 几种常见的html到pdf转换方法最常见的html到pdf转换方法无疑是通过在浏览器中使用ctrl p快捷键(windows )可以将页面直接导出为pdf。 当然,这就是为什么引入了以下三种方法。

1. html2canvas jsPDF实际上是一种专门用于在前端js中生成pdf的方法。 导入几个js文件并写一点js调用即可。 本质是使用js遍历页面中的所有dom节点,将其转换为canvas,调用jsPDF将canvas转换为pdf。 我也曾尝试使用此方法生成pdf的一种使用体验是,转换后的pdf会严重丢失框架,且变形剧烈(当然,这并不排除我的html代码规范问题)。 另一种情况是,页数太多会导致浏览器冻结,速度太慢。

2 .用2. iText方法生成的pdf质量较高,但在后端实施的步骤太复杂,需要安装字体,对html代码的要求也较高,缺少标记时会出现错误。 我没有尝试过这个方法。 当时,我直接被第三种方法吸引了

3. wkhtmltopdf这种方式实现比较简单,wkhtmltopdf是一个软件,该软件支持多种方式生成pdf,可以直接通过网站将页面转换为pdf,可以在本地而且转换结果及其完美性,以及实现的过程比较简单,所以我认为这是最好的将html转换为pdf的方式。 以下称为

转换的结果变得完美了

我在项目中使用php调用wkhtmltopdf来生成pdf,下面将详细介绍其步骤

二、wkhtmltopdf安装和使用wkhtmltopdf实际上是服务器安装wkhtmltopdf软件,php后端转换的网页的html代码或html缓冲区其中php后端调用wkhtmltopdf

1.wkhtmltopdf的安装wkhtmltopdf的安装过程很简单。 这里不说明。 在wkhtmltopdf官网上选择适合你系统的安装包下载安装即可。 安装过程并不难。 确定到最后就可以了。 安装完成后,在您的电脑上添加环境变量,然后打开将wkhtmltopdf安装目录下的兴奋鸽子目录放入环境变量path的命令行并输入wkhtmltopdf -V,即可

这个时候,可以直接使用软件。 您可以轻松使用此软件直接复制以下html并将其另存为test.html

html lang=' en ' headmetacharset=' utf-8 ' metaname=' viewport ' content=' width=device-width, initial-scale=1.0 ' meta http-equiv=' x-ua-compatible ' content=' ie=edge ' title document/title/headbodyphed 在htmlcmd命令行中打开包含test.html的文件夹,然后使用wkhtmltopdf test.html test.pdf命令在当前文件夹下显示test.pdf文件

命令可以使用联机网址而不是本地html文件,但通常最好不要在项目中使用。 这是因为网页容易有各种表单参数和iframe,项目中使用html文件转换

2. php调用wkhtmlpdf之前说了一系列,其实都比较简单,以下是使用的关键: 以前在本地只是在命令行上使用软件,但实际上应该用后端语言调用此软件。 使用合成器的mikehaertl/phpwkhtmltopdf包。

1 .合成器的安装必须先安装配置环境。 虽然php的基本环境不多说,但是这里安装软件包来管理composer,使用composer来管理自己的php的各种软件包。

在composer官方网站上选择适当的版本下载安装,然后在命令行中输入composer --version以显示版本号,安装即可成功

mikehaertl/phpwkhtmltopdf安装依赖于安装

赖之前最好还是改变一下composer的下载镜像路径,改为国内路径 直接在命令行中输入composer config -g repo.packagist composer https://packgist.phpcomposer.com即可改变下载路径

然后cmd进入你的项目路径,输入你的命令composer require mikehaertl/phpwkhtmltopdf进行依赖的安装,等待安装成功既可,过程中可以会出现一些错误,但是优秀的你使用百度既可以解决这些问题。

3. php调用wkhtmltopdf

安装成功后过程其实就简单了,前面的安装看着简单,但是如果经验实在是不足就会导致哪里卡了半天,最少我当时就是折腾了半天的,多折腾好处多。最简单的调用就是php控制器页面写入下面的代码

use mikehaertlwkhtmltoPdf;// You can pass a filename, a HTML string, an URL or an options array to the constructor$pdf = new Pdf('/path/to/page.html');// On some systems you may have to set the path to the wkhtmltopdf executable// $pdf->兴奋的小鸽子ary = 'C:...';if (!$pdf->saveAs('/path/to/page.pdf')) { $error = $pdf->getError(); // ... handle error here}

这个代码在本地调试一般是不会有问题,但是到了一些服务器就需要设置二进制路径,也就是你安装的wkhtmltopdf软件的路径,在上面打代码里面加一行$pdf->兴奋的小鸽子ary = 'C:...';即可,这里是血的教训,当时一直不成功就是因为少了这一行代码,本机调试没问题,一到服务器就报错。
更加详细的使用说明可以前往github官网进行查看

三、心得总结

写这篇文章的目的一个是记录自己在学习路上遇见的难题,估计哪一天看见会有不一样的感触,另一个就是当时在查找html转化pdf的时候走了太多的歪路,网上的攻略零零散散,我踩了一个又一个坑,花了好几天的时间才最终实现了我想要的一些功能,这一切实现都不易,每次学习都会有一大堆的坑让我去踩,在坑里跳不出来的时候很痛苦,一度很想放弃,可是等到走出来的时候又是生出自豪之情,真的是让人又讨厌又享受。

----东湖小菜鸟的学习之路

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。