环境
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.71.文字水印 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 =
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
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 =
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'
);
|