当前位置: 首页 > news >正文

有了域名建设网站站优云网络公司

有了域名建设网站,站优云网络公司,怀化seo快速排名,清远网站设计公司目录 引入Setasign/fpdf、Setasign/fpdi 解决写入中文时乱码问题 1.下载并放置中文语言包(他人封装):https://github.com/DCgithub21/cd_FPDF 2.编写并运行生成字体文件的程序文件(addFont.php) 中文字体举例&…

目录

引入Setasign/fpdf、Setasign/fpdi

解决写入中文时乱码问题

1.下载并放置中文语言包(他人封装):https://github.com/DCgithub21/cd_FPDF

2.编写并运行生成字体文件的程序文件(addFont.php)

中文字体举例(其他字体同样操作)

3.修改部分文件内容

实现功能-创建PDF文件

实现功能-编辑PDF文件

感谢阅读,欢迎讨论(本文仅记录项目集成的功能)


引入Setasign/fpdf、Setasign/fpdi

composer require Setasign/fpdf ^1.8
composer require Setasign/fpdi ^2.3

fpdi官网:FPDI free PDF document importer ▷ setasign.com

fpdf官网:FPDF 

fpdf中文使用手册 

解决写入中文时乱码问题

1.下载并放置中文语言包(他人封装):https://github.com/DCgithub21/cd_FPDF

 ttf2pt1.zip:字体转换工具程序

解压文件夹并修改名称:fpdf_chinese;

将文件夹放置到vendor/setasign目录下,与setasign/fpdf、setasign/fpdi同等级 ;

2.编写并运行生成字体文件的程序文件(addFont.php)

<?php
// 引入fPdf中文语言包
require '../vendor/setasign/fpdf/makefont/makefont.php';
// 设置中文字体文件的路径
$fontFilePath = './simhei.ttf';
// 执行方法,转换字体文件
MakeFont($fontFilePath);
# 执行脚本文件
php addFont.php simhei.ttf

中文字体举例(其他字体同样操作)

引入中文字体:微软雅黑、下载中文字体:微软雅黑

下载地址:http://m.diyiziti.com/Download/537/

3.修改部分文件内容

vendor/setasign/fpdi/src/FpdfTpl.php

 vendor/setasign/fpdf_chinese/chinese.php

vendor/setasign/fpdf_chinese/fpdf.php 

实现功能-创建PDF文件

class Setasign extends Pdf
{/* todo 边框的参数值 */const Border = 1; // todo 设置边框const NoBorder = 0; // todo 设置无边框const BorderL = 'L'; // todo 设置左边边框const BorderR = 'R'; // todo 设置右边边框const BorderT = 'T'; // todo 设置顶部边框const BorderB = 'B'; // todo 设置底部边框/* todo 文字的对齐方向 */const AlignJ = 'J'; // todo 自动调整const AlignL = 'L'; // todo 左边对齐const AlignC = 'C'; // todo 居中对齐const AlignR = 'R'; // todo 右边对齐/* todo 内容的换行方向 */const LnRight = 0; // todo 向右移动const LnNextStart = 1; // todo 向下一行开始const LnDown = 2; // todo 向下面移动/* todo 背景是否填满 */const FillBgTransparent = 0; // todo 透明背景const FillBg = 1; // todo 填满背景/* 创建pdf文件 */public static function createPdf(){// 引入中文的fpdf库require root_path('vendor\\setasign\\fpdf_chinese') . 'chinese.php';$pdf = new \PDF_Chinese();$pdf->SetAutoPageBreak(true);$pdf->AddPage();$pdf->AddGBFont('simhei',iconv("UTF-8","gbk",'黑体'));$pdf->SetFont('simhei');$width = $pdf->GetPageWidth(); // 页面的宽度$height = $pdf->GetPageHeight(); // 页面的高度$pdf->SetTitle(iconv("UTF-8", "gbk", "test-pdf"));$str = "自动换行,自动换行,自动换行,自动换行,自动换行,自动换行自动换行,自动换行,自动换行,自动换行,自动换行,自动换行";$pdf->MultiCell($width - 20, 8, iconv("utf-8", "gbk", $str));for ($i = 1;$i < 100;$i++) {$str = "这是第{$i}行的文字";$pdf->MultiCell($width - 20, 8, iconv("utf-8", "gbk", $str), null, Setasign::AlignC);}$pdf->Output(root_path('app\\controller').'/result.pdf',"F");}
}

实现功能-编辑PDF文件

<?php
namespace Pdf;use setasign\Fpdi\Fpdi;
class Setasign extends Pdf
{/* todo 边框的参数值 */const Border = 1; // todo 设置边框const NoBorder = 0; // todo 设置无边框const BorderL = 'L'; // todo 设置左边边框const BorderR = 'R'; // todo 设置右边边框const BorderT = 'T'; // todo 设置顶部边框const BorderB = 'B'; // todo 设置底部边框/* todo 文字的对齐方向 */const AlignJ = 'J'; // todo 自动调整const AlignL = 'L'; // todo 左边对齐const AlignC = 'C'; // todo 居中对齐const AlignR = 'R'; // todo 右边对齐/* todo 内容的换行方向 */const LnRight = 0; // todo 向右移动const LnNextStart = 1; // todo 向下一行开始const LnDown = 2; // todo 向下面移动/* todo 背景是否填满 */const FillBgTransparent = 0; // todo 透明背景const FillBg = 1; // todo 填满背景public static function editPdf(){$pdf = new Fpdi();// 获取pdf的页数$pageCount = $pdf->setSourceFile(root_path('app\\controller').'/result.pdf');// 设置全局字体、字体大小、字体颜色、每一个都需要单独字体则再设置覆盖$pdf->AddGBFont('mryh', iconv("utf-8", "gbk", "微软雅黑"));$pdf->SetFont("mryh", '', 20);$pdf->SetTextColor(0,0,0);$width = $pdf->GetPageWidth(); // 页面的宽度// 加载第一页$pdf->AddPage();$tpl = $pdf->importPage(1);$pdf->useTemplate($tpl, 0, 0);$pdf->SetXY(10, 170);$str = "第一页设置的内容";$pdf->MultiCell($width - 20, 8,iconv("utf-8", "gbk", $str),null, Setasign::AlignC);// 加载第二页$pdf->AddPage();$tpl = $pdf->importPage(2);$pdf->useTemplate($tpl, 0, 0, null, null, true);$str = "第二页设置的内容";$pdf->SetXY(40, 170);$pdf->Write(10,  iconv("utf-8", "gbk", $str));// 输出文件$pdf->Output(root_path('app\\controller').'/result1.pdf',"F");}
}

感谢阅读,欢迎讨论(本文仅记录项目集成的功能)

http://www.wangmingla.cn/news/56037.html

相关文章:

  • 香港哪个网站是做旅游的合肥seo整站优化
  • 做暧暧网站免费靠谱的代运营公司有哪些
  • 贵州省交通建设工程质量监督局网站百度指数只能查90天吗
  • 网站后台生成文章很慢上海网站制作开发
  • 江苏专业网站制作新闻软文发布平台
  • 做网站和做免费推广网站的区别百度推广登录平台客服
  • 自己做个网站如何创建网站的快捷方式
  • 企业网站用哪个cms好电商平台怎么运营的
  • 中国菲律宾关系为什么不好惠州网站seo排名优化
  • 郑州做网站的大公谷歌商店paypal官网下载
  • 聊城做网站建设的公司seo服务工程
  • 坪山做网站的公司网络推广怎么做好
  • 做网站老板不发工资我拿尾款最新消息新闻头条
  • adobe 网站开发软件制作网站免费
  • 网页游戏网站4399seo作弊
  • 旅行社网站 模板市场营销实务
  • 做类似返利网的网站有哪些seo自学
  • 如何快速建设推广网站如何建立一个自己的网站
  • 江西 网站制作微信小程序开发零基础入门
  • 自己做网站需要什么软件下载付费推广方式有哪些
  • 国外ui界面设计网站大连网站制作
  • 灵璧做网站的公司抖音seo培训
  • 万网封停慧聪事件最后怎么处理了充电宝关键词优化
  • 微信小程序开发流程图seo服务指什么意思
  • 网上商城建设网站定制开发百度问答兼职怎么做
  • 设计师常看的网站招工 最新招聘信息
  • 吴江做网站的公司seo快速建站
  • .net网站做优化网络营销企业网站优化
  • 高端医院网站建设zoho crm
  • wordpress主题合并高中同步测控优化设计答案