国产精品一区二区三区……-大杳蕉伊人欧美一本遒在饯-日本不卡一区免费在线观看-国产亚洲欧美中文字幕

400-800-9385
網(wǎng)站建設(shè)資訊詳細(xì)

php程序如何在pdf文檔上加上水印

發(fā)表日期:2020-08-12 09:12:00   作者來源:劉紅旺   瀏覽:5110   標(biāo)簽:    
項(xiàng)目需求:在后臺(tái)上傳的pdf上自動(dòng)加上水印,防止別人盜用,在一定程度上可以起到保護(hù)作用,以前沒有做過只有在圖片上加水印,分享一下百度的案例;
需要用到的插件
fpdf
fpdi
下面github地址可以在項(xiàng)目中下載這兩個(gè)文件
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);
        // 獲取導(dǎo)入頁面的大小      
  $size = $pdf->getTemplateSize($templateId);
        //創(chuàng)建頁面(橫向或縱向取決于導(dǎo)入的頁面大?。?br />         if ($size['w'] > $size['h']) $pdf->AddPage('L', array($size['w'], $size['h']));
        else $pdf->AddPage('P', array($size['w'], $size['h']));
        // use the imported page
        $pdf->useTemplate($templateId);
 
        // 放置圖形     
   $pdf->image($img, 75, 85, 50);\\img水印圖片,后面的是水印在pdf中坐標(biāo)
 
        }
        $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++)
    {
        // 導(dǎo)入pdf
        $templateId = $pdf->importPage($pageNo);
        // 獲取pdf的大小
        $size = $pdf->getTemplateSize($templateId);
    
        // 創(chuàng)建頁面(橫向或縱向取決于導(dǎo)入的頁面大?。?br />         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');//設(shè)置文字的字號字
     $pdf->SetXY(0, 0); // 文字所在位置這個(gè)x,y值,自己調(diào)
      $pdf->Write(7, '1111');//寫入內(nèi)容大小
    }
     $pdf->Output('word.pdf');
這樣就可以,原圖效果如下:

水印1

導(dǎo)出圖片如下:
 

水印2

如圖達(dá)到了在圖片上加上圖片印章的效果:


 
下面是加上文字的效果:
 

水印3


 
感覺還是加圖片效果更好。而且中文會(huì)亂碼,這個(gè)問題沒有去解決因?yàn)槲抑恍枰訄D片水印,猜想應(yīng)該是頁面編碼和 arial字體原因。
 

水印4



  $pdf->Write(7,'這是水印');//寫入內(nèi)容大小
 header("Content-type: text/html; charset=utf-8");
定義了頁面編碼是utf-8 輸出的文字還是亂碼
 

水印5


 
  $pdf->SetFont('宋體','B','12');//設(shè)置文字的字號字
 
我嘗試將字體改成中文的最后發(fā)現(xiàn)不支持
 
暫時(shí)沒有找到解決方法。
如沒特殊注明,文章均為方維網(wǎng)絡(luò)原創(chuàng),轉(zhuǎn)載請注明來自http://pdcharm.com/news/5818.html
临安市| 邯郸县| 慈溪市| 海晏县| 海阳市| 土默特右旗| 德州市| 永仁县| 镇江市| 濮阳县| 革吉县| 石河子市| 肇东市| 繁昌县| 夏津县| 宁陵县| 当雄县| 鹤山市| 临颍县| 西丰县| 新闻| 南华县| 常德市| 赣榆县| 疏附县| 海口市| 怀柔区| 册亨县| 五常市| 巧家县| 横峰县| 雷州市| 外汇| 松江区| 剑阁县| 稷山县| 武夷山市| 吉隆县| 墨竹工卡县| 东海县| 乌拉特中旗|