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轴位置
            }

看效果

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
生成骑缝章PDF文件可以通过以下步骤完成: 1. 准备一个包含正文和骑缝章图案的Word文档。在需要放置骑缝章的位置,插入一个空白图像框,并调整其大小和位置以适应骑缝章的尺寸。 2. 将Word文档保存为PDF格式。 3. 打开一个图像编辑软件,如Adobe Photoshop或GIMP。 4. 在图像编辑软件中,打开保存的PDF文件。 5. 使用骑缝章图案的模板或参考图像,在图像编辑软件中创建一个新的图层。 6. 在新图层上绘制或插入骑缝章的图案。确保图案的尺寸和比例符合预期。 7. 将新图层中的骑缝章图案调整到与空白图像框的位置和大小对齐。可以使用编辑工具来移动、缩放和旋转图案。 8. 调整图层的透明度,使骑缝章图案透明度降低,以便正文内容可以透过显示。 9. 保存图层和整个图像编辑软件中的图像。 10. 再次使用图像编辑软件,打开保存的图像。 11. 使用软件中的“复制”或“裁剪”工具,选择并复制仅包含骑缝章的部分。 12. 打开一个新的PDF编辑软件,如Adobe Acrobat。 13. 在PDF编辑软件中,选择“编辑”或“插入”功能,将之前复制的骑缝章图像粘贴到所需的位置。 14. 调整骑缝章图像的大小和位置,使其适应PDF页面的要求。 15. 保存并导出编辑后的PDF文件。 生成骑缝章PDF文件需要使用图像编辑软件和PDF编辑软件,通过在图像编辑软件中创建和调整骑缝章图案的图层,然后将图层复制粘贴到PDF编辑软件中的指定位置,最后导出为PDF文件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值