در این مقاله ، روش تولید خروجی پی دی اف (PDF) با زبان پی اچ پی را آموزش می دهیم.
FPDF کلاس PHP مستقل است که به اجازه می دهد فایل های PDF را تولید کنیم. FPDF به کتابخانه های اضافی پی اچ پی وابسته نیست بلکه خود دارای همه آنچه برای تبدیل اطلاعات به فرمت PDF نیاز است می باشد.
FPDF رایگان است و می تواند از بخش دانلود وب سایت رسمی دانلود شود. بسته دانلود شامل تمام فایل های لازم به همراه مجموعه ای از آموزش ها در مورد نحوه استفاده از آن است،
پس از دریافت بسته FPDF می توانید محتوای آنرا در پوشه سایت خود باز کرده و در برنامه ها از ان استفاده کنید.
نمونه کد زیر یک مثال ساده از کاربرد کتابخانه FPDF را نشان می دهد:
<?php require(‘./fpdf.php’); $pdf=new FPDF(); $pdf->AddPage(); $pdf->SetFont('Arial','B',16); $pdf->Cell(40,10,'Hello World!'); $pdf->Output(); ?>
اگر بسته FPDF را در داخل پوشه ای به نام ~ / public_html/fpdf/ باز کرده باشید می توانید یک فایل پی اچ پی جدید به نام toPDF.php داخل همان پوشه ایجاد کرده و کد بالا را وارد کنید. سپس می توانید فایل را ذخیره کنید و سعی کنید به آن از طریق مرورگر خود دسترسی پیدا کنید:
http://yourdomain.com/fpdf/toPDF.php
پس از اضافه کردن فایل کتابخانه، یک شی FPDF ایجاد می کنیم. سازنده در اینجا با مقادیر پیش فرض مورد استفاده قرار می گیرد: صفحات در قطع A4 و واحد اندازه گیری میلی متر است. این را می توان به صراحت با روش زیر تعیین کرد:
$pdf = new FPDF('P','mm','A4');
همچنین امکان استفاده از نمای خوابیده(Landscape)، اندازه های دیگر صفحه (مثل Letter و Legal) و واحدهای دیگر (pt، cm، in) وجود دارد.
در شروع کار هیچ صفحه ای وجود ندارد، ما باید صفحه ای را با AddPage () اضافه کنیم. در گوشه بالا سمت چپ قرار دارد و موقعیت فعلی به طور پیش فرض در 1 سانتی متر از مرزها تنظیم شده است؛ همچنین حاشیه ها را می توان با SetMargins () تغییر داد.
قبل از اینکه بتوانیم متن را چاپ کنیم، انتخاب فونت با SetFont () اجباری است. ما Arial bold را انتخاب می کنیم 16:
$pdf->SetFont('Arial','B',16);
علاوه بر این با استفاده از I نوشته ها را مورب کنیم یا با U متن را زیر خط دار کنیم. توجه داشته باشید که اندازه قلم در نقاط، نه میلی متر (یا یک واحد کاربری دیگر) داده می شود. این تنها استثناست. فونت های استاندارد دیگر عبارتند از Times، Courier، Symbol و ZapfDingbats.
ما می توانیم یک سلول را با Cell() چاپ کنیم. یک سلول یک منطقه مستطیلی است، احتمالا قاب، که شامل یک خط از متن است و در موقعیت فعلی در خروجی چاپ خواهد شد. می توانیم ابعاد ، ترازبندی متن آن (وسط چین، راست چین و ..) را مشخص کنیم. اینکه کادر داشته باشد یا خیر،و اینکه بعد از آن، مکان نما به کدام سمت منتقل شود (راست، پایین یا اول سطر بعد) و …
برای اضافه کردن قاب دستور زیر را اجرا می کنیم:
$pdf->Cell(40,10,'Hello World !',1);
برای اضافه کردن یک سلول جدید در کنار آن با متن وسط چین و رفتن به خط بعدی پس از نمایش متن ، دستور زیر را اجرا می کنیم:
$pdf->Cell(60,10,'Powered by FPDF.',0,1,'C');
شما می توانید بسته FPDF را از اینجا دریافت کرده و برای یادگیری کامل استفاده از بسته FPDF می توانید از راهنمای کار با FPDF استفاده کنید.
مثال زیر یک صفحه PDF دارای هدر، فوتر و تصویر ایجاد می کند:
<?php require('fpdf.php'); class PDF extends FPDF { // Page header function Header() { // Logo $this->Image('logo.png',10,6,30); // Arial bold 15 $this->SetFont('Arial','B',15); // Move to the right $this->Cell(80); // Title $this->Cell(30,10,'Title',1,0,'C'); // Line break $this->Ln(20); } // Page footer function Footer() { // Position at 1.5 cm from bottom $this->SetY(-15); // Arial italic 8 $this->SetFont('Arial','I',8); // Page number $this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C'); } } // Instanciation of inherited class $pdf = new PDF(); $pdf->AliasNbPages(); $pdf->AddPage(); $pdf->SetFont('Times','',12); for($i=1;$i<=40;$i++) $pdf->Cell(0,10,'Printing line number '.$i,0,1); $pdf->Output(); ?>