服务热线 400-660-8066

保定网站建设
首页 站内资讯

保定网站建设

站内资讯
保定网站建设 / 站内资讯 / 行业资讯 / 正文

php程序如何在pdf文档上加上

来源: All文章
发布时间:2023-04-19 16:04:30

  项目需求:在后台上传的pdf上自动加上,防止别人盗用,在一定程度上可以起到保护作用,以前没有做过只有在图片上加,分享一下百度的案例;

  需要用到的插件

  fpdf

  fpdi

  下面github地址可以在项目中下载这两个文件

  https://github.com/laiyuxiang/pdf_watermark/

  1.添加图片

  vendor('fpdf.fpdf',,.php);//引入文件

  vendor('fpdi.fpdi',,.php);//引入文件

  $pdf=new\FPDI();

  $pageCount=$pdf-setSourceFile($file);//文件地址

  for($pageNo=1;$pageNo=$pageCount;$pageNo++)

  {

  $templateId=$pdf-importPage($pageNo);

  //获取导入页面的大小

  $size=$pdf-getTemplateSize($templateId);

  //创建页面(横向或纵向取决于导入的页面大小)

  if($size['w']$size['h'])$pdf-AddPage('L',array($size['w'],$size['h']));

  else$pdf-AddPage('P',array($size['w'],$size['h']));

  //usetheimportedpage

  $pdf-useTemplate($templateId);

  //放置图形

  $pdf-image($img,75,85,50);\\img图片,后面的是在pdf中坐标

  }

  $pdf-Output($file_dir.$file_url);

  二、加文字

  vendor('fpdf.fpdf',,.php);

  vendor('fpdi.fpdi',,.php);

  $pdf=new\FPDI();//初始

  //文件地址

  $pageCount=$pdf-setSourceFile($file);

  for($pageNo=1;$pageNo=$pageCount;$pageNo++)

  {

  //导入pdf

  $templateId=$pdf-importPage($pageNo);

  //获取pdf的大小

  $size=$pdf-getTemplateSize($templateId);

  //创建页面(横向或纵向取决于导入的页面大小)

  if($size['w']$size['h'])$pdf-AddPage('L',array($size['w'],$size['h']));

  else$pdf-AddPage('P',array($size['w'],$size['h']));

  $pdf-SetFont('Arial','B','12');//设置文字的字号字

  $pdf-SetXY(0,0);//文字所在位置这个x,y值,自己调

  $pdf-Write(7,'1111');//写入内容大小

  }

  $pdf-Output('word.pdf');

  这样就可以,原图效果如下:

  导出图片如下:

  如图达到了在图片上加上图片印章的效果:

  下面是加上文字的效果:

  感觉还是加图片效果更好。而且中文会乱码,这个问题没有去解决因为我只需要加图片,猜想应该是页面编码和arial字体原因。

  $pdf-Write(7,'这是');//写入内容大小

  header(Content-type:text/html;charset=utf-8);

  定义了页面编码是utf-8输出的文字还是乱码

  $pdf-SetFont('宋体','B','12');//设置文字的字号字

  我尝试将字体改成中文的最后发现不支持

  暂时没有找到解决方法。

* 文章来源于网络,如有侵权,请联系客服删除处理。
在线 咨询

添加动力小姐姐微信

微信 咨询

电话咨询

400-660-8066

我们联系您

电话 咨询
微信扫码关注动力小姐姐 X
qr