意见箱
恒创运营部门将仔细参阅您的意见和建议,必要时将通过预留邮箱与您保持联络。感谢您的支持!
意见/建议
提交建议

php 导出pdf

来源:恒创科技 编辑:恒创科技编辑部
2024-01-08 16:32:59
、接口生成查询参数

$exportCS = urlSafeB64Encode(msgpack_pack(['key' => 'value']))

2、解析查询参数,获取查询数据结果
$condition = msgpack_unpack(urlSafeB64Decode($exportCS))
3、安装依赖
composer require tecnickcom/tcpdf
4、生成pdf并下载
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
// set document information
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetTitle('标题');
//不打印头和页脚
$pdf->setPrintHeader(false);
$pdf->setPrintFooter(false);
// set default monospaced font 设置默认的字体
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
// set margins
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
// set auto page breaks 自动分页
$pdf->SetAutoPageBreak(true, PDF_MARGIN_BOTTOM);
// set image scale factor
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
foreach ($list as $res) {
// set font
// $pdf->SetFont('stsongstdlight', 'BI', 15);
// add a page
$pdf->AddPage();
// print a block of text using Write()
$pdf->SetFont('stsongstdlight', 'B', 20);
$pdf->Write(0, '', '', 0, 'C', true, 0, false, false, 0);
$pdf->SetFont('stsongstdlight', 'B', 18);
$pdf->Write(0, '', '', '', 'L', true, 0, false, false, 0);
$pdf->SetFont('stsongstdlight', '', 13);
$pdf->Cell(100, 10, ":{$res['name']}", 1, 0, 'L');
$pdf->Cell(80, 10, ":{$res['no']}", 1, 0, 'L');
$pdf->Ln();
$pdf->SetFont('stsongstdlight', '', 13);
$pdf->Cell(180, 10, "{$res['address']}", 1, 0, 'L');
$pdf->Ln();
$pdf->SetFont('stsongstdlight', 'B', 18);
$pdf->Write(10, '', '', '', 'L', true, 10, true, true, 10);
$pdf->setColor('fill', 211, 211, 211);
$pdf->SetFont('stsongstdlight', '', 15);
$pdf->Cell(90, 10, ":{$res['time']}", 1, 0, 'L');
$pdf->Cell(90, 10, ":{$res['operator']}", 1, 0, 'L');
$pdf->Ln();
$pdf->SetFont('stsongstdlight', '', 15);
$pdf->Cell(15, 10, '', 1, 0, 'C');
$pdf->Cell(50, 10, '', 1, 0, 'C');
$pdf->Cell(40, 10, '', 1, 0, 'C');
$pdf->Cell(75, 10, '', 1, 0, 'C');
$pdf->Ln();
$index = 1;
$x = 0;
$j = 97;
$page = $pdf->getPage();
foreach ($res['list'] as $item) {
$pdf->SetFont('stsongstdlight', '', 12);
$pdf->Cell(15, 40, $index, 1, 0, 'C');
$pdf->Cell(50, 40, $item['name'], 1, 0, 'C');
$item['result'] = $item['result'] == 1 ? '合格' : '不合格';
$pdf->Cell(40, 40, $item['result'], 1, 0, 'C');
$currentPage = $pdf->getPage();
if ($page != $currentPage) {
$height = 33;
$j = 30;
$x = 1;
$page = $currentPage;
} else {
$height = $j + 40 * $x;
$x++;
}
$pdf->Cell(75, 40, '', 1, 0, 'C');
if (!empty($item['photo'])) {
$pdf->Image($item['photo'], 135, $height, 30, 30, '', '', 'R', false);
}
// $pdf->Cell(75, 10, $item['result'], 1, 0, 'C');
$index++;
$pdf->Ln();
}
$pdf->Cell(180, 10, ":{$res['advise']}", 1, 0, 'L');
}
$name = makeOrderNo().'.pdf';
$fileName = APP_UPLOAD_DIR.'/pdf/'.$name;
// ---------------------------------------------------------
// $pdf->Image('/data/project/hyperf-skeleton/img.png');
$pdf->Output($fileName, 'F');
header('Content-Type:application/force-download');
header('Content-Disposition: attachment;filename="'.$name.'"');
readfile($fileName);
unlink($fileName);
参考链接 /news/upload/ueditor/image/202208/00qgngh03ku 破罐子互摔




php 导出pdf

上一篇: regex 下一篇: 从创建数据表到实现最基础增删改查的实现全过程【带附件】