入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

php如何给pdf加上文字水印和图片水印

创建时间:2017-06-27 投稿人: 浏览次数:1772

环境

  • php5.5.12
  • fpdi-1.5.2
  • fpdf-1.7

原理

利用fpdi来加载已知pdf文件,用fpdf对pdf进行操作

注意事项

免费的fpdi只支持处理pdf1.4及以下版本,1.5以上就需要用到FPDI PDF-Parser插件

使用方法

  • fpdi-1.5.2
  • fpdf-1.7

1.文字水印 word.php

<?php

require_once("./fpdf/fpdf.php");
require_once("./fpdi/fpdi.php");


//word_watermark
$pdf = new FPDI();

// get the page count
$pageCount = $pdf->setSourceFile("more.pdf");

// iterate through all pages
for ($pageNo = 1; $pageNo <= $pageCount; $pageNo++)
{
    // import a page
    $templateId = $pdf->importPage($pageNo);

    // get the size of the imported page
    $size = $pdf->getTemplateSize($templateId);

    // create a page (landscape or portrait depending on the imported page size)
    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->SetFont("Arial","B","12");
    // sign with current date
    $pdf->SetXY(0, 0); // you should keep testing untill you find out correct x,y values
    $pdf->Write(7, date("Y-m-d"));

}
$pdf->Output("word.pdf");



2.图片水印 pic.php

<?php

require_once("./fpdf/fpdf.php");
require_once("./fpdi/fpdi.php");


//pic_watermark
$pdf = new FPDI();
// get the page count
$pageCount = $pdf->setSourceFile("more.pdf");

// iterate through all pages
for ($pageNo = 1; $pageNo <= $pageCount; $pageNo++)
{
    // import a page
    $templateId = $pdf->importPage($pageNo);

    // get the size of the imported page
    $size = $pdf->getTemplateSize($templateId);

    // create a page (landscape or portrait depending on the imported page size)
    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);

    // Place the graphics
    $pdf->image("test.png", 75, 85, 50);

}
$pdf->Output("pic.pdf");

3.项目地址

pdf_watermark

声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。