そのため、バージョン 1.2 を使用fpdi
して、ドキュメントのすべてのページに小さなマークを追加しています。これが私のコードです:
public static function markPdf($file, $text){
define('FPDF_FONTPATH','font/');
require_once('fpdi/fpdf.php');
require_once('fpdi/fpdi.php');
try{
$pdf = new FPDI();
$pagecount = $pdf->setSourceFile($file);
for($i = 1 ; $i <= $pagecount ; $i++){
$tpl = $pdf->importPage($i);
$size = $pdf->getTemplateSize($tpl);
// Here you can see that I'm setting orientation for every single page,
// depending on the orientation of the original page
$orientation = $size['h'] > $size['w'] ? 'P':'L';
$pdf->AddPage($orientation);
$pdf->useTemplate($tpl);
$pdf->SetXY(5, 5);
$pdf->SetTextColor(150);
$pdf->SetFont('Arial','',8);
$pdf->Cell(0,0,$text,0,1,'R');
}
$pdf->Output($file, "F");
}catch(Exception $e){
Logger::log("Exception during marking occurred");
return false;
}
return true;
}
そして、1 つの小さな問題を除いて、すべてが正常に機能します。最初のページが横向きのドキュメントがある場合、生成されたドキュメントのすべてのページが下と右から切り取られます (最初のページが縦向きモードの場合、すべてうまくいきます) 、たとえ後続のページが横向きモードであっても)。問題は明らかです: この関数の何が問題なのですか?