跳转到主要内容

主页内容

PHP操作pdf

由 webadmin 发布于 阅读 20 次

1、安装fpdi和fpdf

composer require setasign/fpdf:^1.8
composer require setasign/fpdi:^2.5

2、输出内容到pdf模板

<?php
use setasign\Fpdi\Fpdi;
require_once('/vendor/autoload.php');
$file_out_path = "/public/uploads/"
//判断文件输出目录是否存在,如果不存在则创建目录
if ( !file_exists( $file_out_path ) ) {
   mkdir($file_out_path, 0755, true);
}
$pdf = new Fpdi();
$pdf->setSourceFile('/assets/pdf_template/template.pdf');//载入pdf模板
$page_id = $pdf->importPage(1, \setasign\Fpdi\PdfReader\PageBoundaries::MEDIA_BOX,true,true);
$size    = $pdf->getTemplateSize($page_id);
//新增1页
$pdf->addPage();
//使用模板
$pdf->useTemplate($page_id, 0, 0, $size['width'], $size['height'],true);//使用模板
$pdf->SetFont('Arial', 'B', 14);//设置文字字体、加粗、字号
$pdf->SetTextColor(0, 0, 62);//设置字体颜色
$pdf->SetXY(24, 90);//设置文字显示位置x轴和y轴的坐标
$pdf->MultiCell(169, 8, "Hello world!");
//新增第2页
$pdf->AddPage();
//使用第2页的模板
$pdf->setSourceFile('/assets/pdf_template/template2.pdf');
$tplIdx = $pdf->importPage(2);
$pdf->useTemplate($tplIdx, null, null, $size['width'],$size['height'],false);
$pdf->MultiCell(169, 8, "Hello world2!");
$file_name = 'PDF-'.date('Ymdhis',time()).'.pdf';
$pdf->Output('F', $file_out_path.$file_name,true);//生成的pdf包存在$file_out_path下

1、设置字体

字体转换:https://cloudconvert.com/、https://convertio.co/otf-ttf/

pdf字体转换:http://www.fpdf.org/makefont/