1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > PHP使用fpdf+fpdi解决中文乱码

PHP使用fpdf+fpdi解决中文乱码

时间:2022-04-20 03:18:37

相关推荐

PHP使用fpdf+fpdi解决中文乱码

本篇是针对要在现有pdf文件上写字,加图片这种需求而描述的方法。用到PHP代码,无需配置服务器PHP扩展库环境,因此是简单和方便的。

需要用到三个库(下面三个文件大家可以去GitHub下载也可以网上搜索 另外我也上传了资源)

FPDF, 用来建立pdf文档chines.php fpdf 的chinese包(里面包括一个chinese.php 以及一个示例文件)FPDI,用来读取现有的pdf文件,且兼容fpdf

chines.php是解决中文乱码的 这三个文件放到第三方引用库的地方,修改下引用地址

就是这个语句 require_once('xx/xx/xx')一定要使用正确地址

chinese.php有个demo

<?phprequire('chinese.php');$pdf=new PDF_Chinese();$pdf->AddGBFont();//添加GB字体就是中文简体 还有一个Big5 是繁体$pdf->AddPage();$pdf->SetFont('GB','',20);$pdf->Write(10,'测试');$pdf->Output();?>

然后需要修改一个文件fpdi下面的一个文件 这里我使用的是1.5.2版本 其他版本大同小异找见对应的文件

if (!class_exists('TCPDF', false)) {/*** Class fpdi_bridge*/class fpdi_bridge extends PDF_Chinese//这里原先是继承pdf改为PDF_Chinese 因为chinese解决中文乱码 他已经继承了pdf类所以继承他就好了{// empty body}}

下面是我的demo

<?phperror_reporting (E_ALL); $file = dirname(__FILE__);$pdf_file = $file.'/public/pdf/1.pdf';//引入需要添加字体的pdfrequire_once('vendor/chinese/chinese.php');//引入chines.phprequire_once('vendor/fpdi/fpdi.php');//引入fpdi$pdf = new FPDI();$pageCount = $pdf->setSourceFile($pdf_file);$pdf->AddPage();$tplIdx = $pdf->importPage($pageCount);$pdf->useTemplate($tplIdx, 0, 0);$pdf->AddGBFont();//添加中文字体$pdf->SetFont('GB');$pdf->SetXY(30, 150);//定位//使用iconv()转码$pdf->Write(10,iconv("utf-8","gb2312","同意开通!"));$pdf->Output();//这里是输出到浏览器 输出文件在里面添加参数即可$pdf->Output($file.'/demo.pdf', 'F');

这里主要是解决中文乱码的问题 如果是添加图片不需要chines.php文件的。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。