当前位置: 首页> 财经> 创投人物 > php fpdf使用记录

php fpdf使用记录

时间:2025/7/10 7:22:50来源:https://blog.csdn.net/meis27461/article/details/139374679 浏览次数:0次

使用composer安装fpdf

> composer require setasign/fpdf

简单创建一个pdf文件并输出下载

//fpdf版本:"setasign/fpdf": "^1.8",
// 创建PDF实例
$pdf = new \FPDF();// 设置文档信息
$pdf->SetAuthor('Your Name');
$pdf->SetTitle('Your PDF Title');
// 开始新页面
$pdf->AddPage();
// 设置字体
$pdf->SetFont('Arial', 'B', 16);
// 添加文本
$pdf->Cell(40, 10, 'Hello World!');
$pdf->Output('document.pdf', 'D');

导入pdf出现报错

This PDF document probably uses a compression technique which is not supported by the free parser shipped with FPDI. (See https://www.setasign.com/fpdi-pdf-parser for more details)

解决:使用AcrobatDC导出4.0版本(最低版本)的pdf

$page_count = $pdf->setSourceFile('temp_pdf_test2.pdf');

如何基于现有的pdf进行编辑

    use \setasign\Fpdi\Fpdi;$pdf = new FPDI();    //实例化$pdf->setSourceFile('temp_pdf_test2.pdf');    //设置源文件$pdf->AddPage();    //添加一个页面(本身pdf是空的,需要加一个空白页来存储源文件的页面)$tpl = $pdf->importPage(1);    //获取源文件模板页面id$pdf->useTemplate($tpl, 0, 0);    //将模板添加到pdf实例中$pdf->AddGBFont("GB","");//添加中文字体,待使用$pdf->SetFont('GB','',13);    //使用字体$pdf->SetXY(48,84);    //定位$pdf->Write(12,iconv("utf-8","gb2312","xxxx"));    //渲染文字

解决中文乱码的问题

下载支持中文的改写后的代码

如果只使用fpdf(读),就直接引用这个里面的chinese.php即可
如果还需要写,就需要改写fpdi源码

将fpdi下的FpdfTpl.php改写为:

namespace setasign\Fpdi;
require_once(dirname(__FILE__) . './../../fpdf_chinese/chinese.php');
/*** Class FpdfTpl* This class adds a templating feature to FPDF.*/
class FpdfTpl extends \PDF_Chinese
{use FpdfTplTrait;
}

其他

链接: 更换字体的问题链接

关键字:php fpdf使用记录

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: