ompdf是一个可以将HTML生成PD并保留样式效果的PHP第三方扩展。
下面就一步步讲解如何使用:
一、通过composer安装
composer require dompdf/dompdf
安装过程
二 、编写测试代码
(1)引用autoload.php
include 'vendor/autoload.php';
(2)实例化Dompdf
$dompdf=new \Dompdf\Dompdf();
(3)加载HTML
$dompdf->loadHtml($html); //$html 为HTML字符串
(4)设置纸张和方向
$dompdf->setPaper('A4', 'landscape'); //纸张大小和纸张方向
(5)生成PDF并下载
$dompdf->render();
$dompdf->stream('数据字典.pdf');
三、导出PDF测试,发现中文乱码了
导出PDF发现中文乱码了
四、解决中文乱了问题
(1)下载支持中文的字体包放到根目录下(和vendor目录同级),这里演示使用的是阿里巴巴的普惠字体(字体格式是ttf的,小编原先下载使用的字体格式是otf格式的无效)
(2)下载dompdf字体安装工具解压到根目录(和vendor目录同级)
下载地址:https://github.com/dompdf/utils
(3)在命令行(CMD定位到根目录)下执行命令
php load_font.php "puhui" Alibaba-PuHuiTi-Light.ttf
执行成功后在路径(vendor\dompdf\dompdf\lib\fonts)下就会出现刚才的字体
(4)在样式文件中指定使用刚才安装的字体
body{font-family:puhui;}
(5)再次导出PDF测试成功
乱码问题解决
. PHP魔法的起源
PHP作为一种强大的编程语言,拥有着广泛的应用领域。而在这个数字化时代,文章采集成为了一项重要的任务。那么,PHP又是如何实现文章采集的呢?让我们揭开这个神秘面纱。
2.文章采集的意义
在信息爆炸的时代,获取有价值的文章资源显得尤为重要。而通过PHP编写的文章采集代码,可以帮助我们快速、高效地从互联网上采集到我们需要的文章内容。这不仅节省了时间和人力成本,还能够提高工作效率。
3. PHP文档解析技术
PHP文档解析技术是实现文章采集的核心。通过使用各种解析函数和库,我们可以将目标网页中的HTML或XML结构进行解析,并提取出我们需要的数据。这项技术使得PHP能够轻松应对各种网页结构和数据格式,极大地提高了文章采集的灵活性。
4.优秀的文章采集工具
除了自己编写代码,还有一些优秀的文章采集工具可以帮助我们完成这项任务。比如,PHP Simple HTML DOM Parser和Goutte等工具,它们提供了方便易用的API和丰富的功能,使得我们能够更加便捷地进行文章采集。
5.注意事项与技巧
在进行文章采集时,我们需要注意一些细节和技巧。首先,要选择合适的目标网站,并了解其网页结构和数据格式。其次,要设置合理的请求频率和并发数,以避免给目标网站带来过大的压力。此外,还要处理好异常情况和错误信息,确保采集过程的稳定性和可靠性。
6.遵守法律与道德
在进行文章采集时,我们必须遵守相关的法律法规和道德规范。不得采集他人的知识产权内容,并且要尊重原作者的权益。同时,在使用采集到的文章内容时,要注明出处并遵守相关的版权规定。
7. PHP魔法持续进化
随着互联网技术的不断发展,PHP文章采集代码也在不断进化。新的解析技术、优秀的工具和更高效的算法不断涌现,使得文章采集变得更加智能化、自动化。PHP魔法的力量将继续引领我们走向更广阔的知识海洋。
通过PHP编写的文章采集代码,让我们能够轻松获取到海量的有价值文章资源。它不仅是一种工具,更是一种魔法,帮助我们探索知识的边界。让我们一起揭开这个神奇世界的面纱,感受PHP魔法的力量吧!
日有网友希望有一篇用PHP生成PDF的文章教程,好的今天我们就讲一讲怎么样用PHP将HTML生成PDF
我们使用的开源类库就是TCPDF
GITHUB地址:
https://github.com/tecnickcom/TCPDF
composer安装:
composer require tecnickcom/tcpdf
demo示例:
https://tcpdf.org/examples/
这里主要讲的是讲HTML生成PDF因为HTML格式绝大部分够用了,其它个性化的功能大家看下官方的DEMO就行了比如生成图表等
下面说下具体使用方式:
1.实例化TCPDF对象
$pdf = new TCPDF(PDF_PAGE_ORIENTATIN, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
2.设置标题关键字等(步骤可以省略)
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Nicola Asuni');
$pdf->SetTitle('TCPDF演示');
$pdf->SetSubject('TCPDF Tutorial');
$pdf->SetKeywords('TCPDF, PDF, example, test, guide');
3.设置字体(这步很重要不然中文乱码)
$fontname = TCPDF_FONTS::addTTFfont('Droid Sans Fallback.ttf', 'TrueTypeUnicode', '', 32);
$pdf->SetFont($fontname, '', 20);
4.添加个页面
$pdf->AddPage();
5.将HTML生成PDF
$pdf->writeHTML($html);
6.输出(默认直接在浏览器显示)
$pdf->Output();
$pdf->Output('123.pdf','D');//这个是下载,其他方式请替换参数
7.生成后的效果
链接列表等演示
生成图片演示
表格演示
最后总结:
1.一定要设置字体,否则中文乱码。最好使用文本的设置方法和字体。网上的设置字体的方法虽然能解决但是用pdfparser这个类读取生成后的PDF内容还是乱码(读取PDF内容的方法在我另一篇文章中有说到)
2.如果你设置了PDF的头和脚 还需在设置一遍字体
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, 'PDF头部标题', '代码庸医');
$pdf->setHeaderFont(Array($fontname, '', PDF_FONT_SIZE_MAIN));
*请认真填写需求信息,我们会在24小时内与您取得联系。