PHP html生成pdf 并且加上电子骑缝章
项目需求 需要生成电子报告 并且能够线上签发 所以需要自定义内容并且能够加上电子骑缝章,TCPDF使用直接看手册就行
解决思路如下
· 最 好是使用TCPDF 来实现html和pdf的转化 使用富文本编辑的话要注意 富文本添加以后特别是表格是没有边框的所以你的文本数据入库可以在头部拼接以下内容 实现边框
<style>table {border-top: 1px solid black;border-left: 1px solid black;
}
table td,
table th {border-bottom: 1px solid black;border-right: 1px solid black;padding: 3px 5px;
}
table th {border-bottom: 2px solid black;text-align: center;
}</style>
如果富文本编辑的内容直接加入进去会导致内容样式变乱,因为pdf里面一般对table 和 p 是支持的最好的当前我的解决方法就是 ,所有富文本内容都放在一个table里面显示
$html = '<p style="height: 40px">测试结论</p><p><table border="1px" width="650px" align="left" cellpadding="0" cellspacing="1"><tr style="text-align: left"><td>'.$report_info['report_comclusion'].'</td></tr></table></p> ';
如果有封面页或者单独页可以单独生成page
$html_page_first = Report::fristPageHtml($report_info['sheet'],$report_info['body']);
$pdf->AddPage();//单独生成注意事项页
$pdf->writeHTML($html_page_first, true, false, true, false, '');
生成以后增加电子骑缝章 思路很简单 根据生成的pdf的页数 把电子章切割成均份贴在每页相同的位置
获取pdf页数
$page_all = $pdf->PageNo();
切割图片 直接上代码吧
//被切割的图片必须是.png结尾的 如果是jpg或者其他格式 下面的某些函数就需要替换
static function cuttingImg($filename,$p){$img_src = $filename;$num_pages = $p;$image = imagecreatefrompng($img_src); //由文件或 URL 创建一个新图象list($width, $height,$type,$attr) = getimagesize($img_src); //获取尺寸$offset = ceil($width/$num_pages);$maxW = $offset;$maxH = $height;$widthnum = $num_pages;$heightnum = 1;$dir_src = "./new_file/";$back_msg = true;for ($i=0;$i<$heightnum;$i++){for ($j=0;$j<$widthnum;$j++){$iOut = imagecreatetruecolor($maxW,$maxH);//新建一个真彩色图像 $bg = imagecolorallocatealpha($iOut,0,0,0,127);//为幅图像分配颜色imagealphablending($iOut,false);imagefill($iOut,0,0,$bg);//填充imagesavealpha($iOut,true);//设置保存PNG时 保留透明通道 这个很重要对于透明背景的图片imagecopy($iOut,$image,0,0,($j*$maxW),($i*$maxH),$maxW,$maxH);//复制图片的一部分$cutting_img_src = $dir_src.$i."_".$j.".png";if (!imagepng($iOut,$cutting_img_src)){$back_msg = false;}}}if (!$back_msg) return false;return $maxW;}
循环页数 每页插入图片
for($i=0;$i<$page_all;$i++){$pdf->setPage($i+1);$pdf->Image($pa.'0_'.$i.'.png', 201, 100, "", "", 'png', '', '', false,300); //前三个参数 分别是 图片地址 X、Y轴位置}
看效果
PHP html生成pdf 并且加上电子骑缝章相关推荐
- PDF文件批量签章骑缝章软件 附百度云盘地址 使用C# itextsharp开发
其实关于itext一搜教程真的挺多的 不过大部分都是java c#都是基础图片文字应用 高级应用甚少 以前没用过这个插件 在开发的时候 没少google 主要应用在难点是数字签名 和 重复签名 其中包 ...
- C# PDF添加骑缝章
许多比较重要的文件比如合同等都有多页,在签订合同时,为了防止造假或更换页面,我们通常会选择给合同文件加盖骑缝章.这篇文章将介绍如何使用.NET PDF组件Spire.PDF for .NET在C#应用 ...
- FreeMarker 模板生成 PDF电子凭证/图片
一.场景 在某些业务场景中,需要提供相关的电子凭证,比如网银/支付宝中转账的电子回单,签约的电子合同等.方便用户查看,下载,打印.目前常用的解决方案是,把相关数据信息,生成对应的pdf文件返回给用户. ...
- Java给PDF文件生成骑缝章
什么是缝骑章? 骑缝章(Paging seal.)是海关常用词汇.为了保证海关监管货物留存单据的完整齐全以及核对有关单证,在单据交接处所加盖的印章. 在两张纸交接处的印章.这种印章多盖在条据.证书或其 ...
- Java 实现 生成PDF -(电子凭证生成原理分析)
需求 实现:电子合同,电子回单.电子对账单等 需求插件(依赖) 1.基本插件 itextpdf 功能很强大,差不多可以实现PDF所有的功能.(如果你想实现有特殊需求的,如表单.PDF模板.水印等等都可 ...
- 【Java】电子凭证-Java生成PDF
文章目录 背景 实现思路 技术方案图 Template Engines(模板引擎) `Thymeleaf` `Apache Freemarker` `Groovy Templates` `veloci ...
- 如何用 Java 对 PDF 文件进行电子签章(五) 如何生成一个高清晰的签章
参考: https://blog.csdn.net/javasun608/article/details/79307845 具体步骤: 由PDF模板生成一个PDF文件.加签章.由itext5 生 ...
- 前端生成PDF 文件教程+在线demo案例
个人博客导航页(点击右侧链接即可打开个人博客):大牛带你入门技术栈 PDF 简介 PDF 全称Portable Document Format (PDF)(便携文档格式),该格式的显示与操作系统.分辨 ...
- python实现给pdf文件加骑缝章效果
骑缝章是在合同上经常看到的一种盖章方式,如下图所示.现在电子合同的应用已经越来越广泛,合同上如何实现骑缝章的效果 ,也是有必要研究一下的.本文几乎Python的方式,讲述了如果对印章图片进行处理,然后 ...
最新文章
- 弹出页(指定高度,自由拖动,点击空白包括状态栏触发)
- propertychange 属性说明
- UWP 推荐 - 限时免费的RSS阅读器《RSS 追踪》登录 Windows 10
- Spring整合ibatis的配置
- 时间紧任务重---extjs的学习就这么开始吧
- 避坑:一次离奇性能故障的排查与反思
- 查看文件md5_软件推荐丨go-fastdfs——高性能、高可靠分布式文件系统
- mysql 编码utfmb4
- python get score gain_Python functional.linear方法代码示例
- java spring 登录验证_浅析Spring Security登录验证流程源码
- 如何算三角形的cotangent
- Android Studio升级中的“未找到默认活动”
- 文献解读-Physics Informed Deep Learning(PINN)
- thinkphp 2.x 任意代码执行
- mysql emoji 问号_mysql数据库怎么存入emoji表情,更改utf8mb4后为什么出现全是问号...
- [木野狐]ViewState 剖析(翻译兼笔记)
- 【极简spark教程】RDD编程
- Ant Design Pro
- 2020年新版Java学习路线图最全更新!囊括史上最全面104个知识点
- 菲尼克斯PSR-SCP- 24DC/FSP2/2X1/1X2耦合继电器
热门文章
- 机器学习中常用的数学(一)
- java毕业设计实验填报系统(附源码、数据库)
- 第十一讲:独立成分分析(Independent Components Analysis )
- matlab红色三维爱心,matlab编写爱心三维图
- cs1.6让别人成为op_可以勇敢地成为新的CS吗
- Golang基础学习1
- Day16(PHP操作MySQL)
- vue fromData提交表单(文件)的同时 axios通过将token封装一起发送,Springboot后端拦截器通过request.getParameter获取,Redis验证token
- PyCharm - Column Selection Mode (列选择模式 / 列复制粘贴)
- 在网上赚到第一个订单有多重要?