使用Mpdf 将pdf 某些信息写入到pdf描述信息中

在一个场景中  我们需要在生成的pdf文件中,写入一些特别的数据,以便读取这些特别的数据,但我这个数据并不希望显示在PDF文件中,是不显示,

于是乎我想到了一个文件信息描述  类似这样 

于是顺着这个思路,果真让我找到了方法,具体方法实现如下:

 步骤一   先composer 相关扩展

composer require mpdf/mpdf:8.0.3

步骤二 生成pdf

<?php

 /**
   * 生成pdf 方法
   *
   */
  public function createFileToPdf($data){
     $ext = "pdf";
     $filename = microtime(true) . '.' . $ext;
     $filepath = $this->createSavePath('supervise');  //根据年月日创建目录
     $full_name = BASEPATH . $filepath . $filename;  //文件完整路径
 
     //实例化mpdf
     $mpdf = new Mpdf();
 
     //设置字体,解决中文乱码
     $mpdf->autoLangToFont = true;
     $mpdf->autoScriptToLang = true;
     
     $title = "张飞_26_中国_湖北省武汉市XXX";
     $mpdf->SetTitle($title);   
     $html = <<<HTML
    <style>
            p {
                text-align: center;
            }
            
        </style>
        <p style="text-align: center;font-size: 24px;">协助单{$data['date']}</p>
        <p>协助单位:{$data['depart_name']}</p>
        <p><a href="{$data['license_plate_img']}" > <img height="150" src="{$data['license_plate_img']}" alt="" srcset=""></a></p>
        
        <p>{$data['require_text']}</p>
    HTML;
      $mpdf->WriteHTML($html);
     // $res =  $mpdf->Output($full_name,'S');  //输出文件流
     $mpdf->Output($full_name);
     $res_data = [
         'path' => $full_name,
         'url' => 'https://' .WEB_IP. $filepath . $filename,
         'file_name' => $filename,
     ];
     return $res_data;
   }
    
   /**
     * 创建目录
     * @param $dir   目录名称
     * @return bool
     */
    protected function createSavePath($dir)
    {
        //$upload_path = $this->config['EXPORT_PATH'];  //上传路径
        $export_path = "/export_file/";
        $filepath = $export_path . $dir . '/' . date('Ymd') . '/';
        if (!file_exists(BASEPATH . $filepath)) {
            mkdir(BASEPATH . $filepath, 0777, true);
        }
        return $filepath;
    }

 

其中这里是关键 关键 关键

$title = "张飞_26_中国_湖北省武汉市XXX";
$mpdf->SetTitle($title); 

这里就是将这个字符串写入到pdf 文件描述信息中,此信息并不能直接通过PDF查看,需要使用代码进行读取处理。

步骤三 解码文件描述信息

composer require smalot/pdfparser

$parser = new \Smalot\PdfParser\Parser();   
$file = "/web/222.pdf";      
$pdf = $parser->parseFile($file); 
$details = $pdf->getDetails();

var_dump($details);

end

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值