php给pdf加上水印

来源:互联网 发布:xd网络上是什么意思啊 编辑:程序博客网 时间:2024/06/13 08:08

环境

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<!--?php
 
require_once('./fpdf/fpdf.php');
require_once('./fpdi/fpdi.php');
 
 
//word_watermark
$pdf = newFPDI();
 
// 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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<!--?php
 
require_once('./fpdf/fpdf.php');
require_once('./fpdi/fpdi.php');
 
 
//pic_watermark
$pdf = newFPDI();
// 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');
原创粉丝点击