PHP पर PDF रिपोर्ट जनरेशन: लाइब्रेरी चुनना
PDF दस्तावेज़ बनाना वेब डेवलपमेंट में सबसे आम कार्यों में से एक है। चालान, अधिनियम, सांख्यिकीय रिपोर्ट, मूल्य सूची - इन सभी को अक्सर सर्वर साइड पर गतिशील रूप से तैयार करने की आवश्यकता होती है। PHP PDF जनरेशन के लिए कई परिपक्व लाइब्रेरीज़ प्रदान करता है। इस लेख में हम तीन सबसे लोकप्रिय टूल्स पर चर्चा करेंगे: FPDF, TCPDF और Dompdf, साथ ही व्यावहारिक कोड उदाहरण भी देंगे।
1. FPDF — हल्का और तेज़ क्लासिक
FPDF एक सरल लाइब्रेरी है जिसे बाहरी निर्भरता की आवश्यकता नहीं है। यह बुनियादी रिपोर्ट के लिए आदर्श है: टेक्स्ट, तालिकाएँ, सरल चित्र। मुख्य विशेषताएँ:
- अतिरिक्त एक्सटेंशन (चित्रों के लिए मानक GD के अलावा) स्थापित किए बिना काम करता है।
- अलग प्लगइन (tFPDF) या मैन्युअल फ़ॉन्ट रूपांतरण के माध्यम से UTF-8 का समर्थन करता है।
- सरल दस्तावेज़ों पर उत्कृष्ट प्रदर्शन।
तालिका के साथ एक सरल PDF रिपोर्ट बनाने का उदाहरण:
<?phprequire('fpdf.php');
$pdf = new FPDF();$pdf->AddPage();$pdf->SetFont('Arial', 'B', 16);$pdf->Cell(40, 10, 'बिक्री रिपोर्ट', 0, 1);$pdf->SetFont('Arial', '', 12);
// तालिका शीर्षक$pdf->Cell(40, 10, 'उत्पाद', 1);$pdf->Cell(30, 10, 'मात्रा', 1);$pdf->Cell(40, 10, 'मूल्य', 1);$pdf->Ln();
// डेटा$pdf->Cell(40, 10, 'लैपटॉप', 1);$pdf->Cell(30, 10, '5', 1);$pdf->Cell(40, 10, '45000 रु.', 1);$pdf->Ln();$pdf->Cell(40, 10, 'माउस', 1);$pdf->Cell(30, 10, '10', 1);$pdf->Cell(40, 10, '1200 रु.', 1);
$pdf->Output('D', 'report.pdf');?>2. TCPDF — जटिल रिपोर्ट के लिए शक्तिशाली उपकरण
TCPDF FPDF का एक उन्नत संस्करण है जो UTF-8, CSS, HTML टैग, QR कोड, डिजिटल हस्ताक्षर और बहुत कुछ का समर्थन करता है। इसके लिए अनुशंसित:
- सिरिलिक और अन्य गैर-लैटिन फ़ॉन्ट वाले दस्तावेज़।
- जटिल लेआउट वाली रिपोर्ट (हेडर/फुटर, बहु-पृष्ठ तालिकाएँ)।
- संग्रह के लिए PDF/A जनरेशन।
TCPDF में HTML मार्कअप का उपयोग करने का उदाहरण:
<?phprequire_once('tcpdf/tcpdf.php');
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);$pdf->SetCreator('PythonLib');$pdf->SetAuthor('डेवलपर');$pdf->SetTitle('जटिल रिपोर्ट');
$pdf->AddPage();$html = '<h2>मासिक आँकड़े</h2><table border="1" cellpadding="5"><tr><th>पैरामीटर</th><th>मान</th></tr><tr><td>आगंतुक</td><td>12,450</td></tr><tr><td>ऑर्डर</td><td>342</td></tr></table><p><strong>स्वचालित रूप से</strong> तैयार किया गया।</p>';
$pdf->writeHTML($html, true, false, true, false, '');$pdf->Output('stat.pdf', 'I');?>3. Dompdf — HTML/CSS से जनरेशन
Dompdf एक अनोखी लाइब्रेरी है जो सामान्य HTML और CSS से PDF रेंडर करती है। यह आदर्श विकल्प है यदि आपके पास पहले से रिपोर्ट का लेआउट है (उदाहरण के लिए, ब्राउज़र से प्रिंट करने के लिए)। समर्थन करता है:
- CSS 2.1 और आंशिक रूप से CSS 3 (float, position, border-radius)।
- चित्र एम्बेड करना (base64 या URL द्वारा)।
- तालिकाएँ, सूचियाँ, बहु-पृष्ठ दस्तावेज़।
HTML टेम्पलेट को PDF में बदलने का उदाहरण:
<?phprequire 'vendor/autoload.php';
use Dompdf\\Dompdf;
$dompdf = new Dompdf();$html = '<html><head> पुस्तकालय में भी
C# (.NET) में कार्य शेड्यूलर: Quartz.NET और System.Threading.Timer
Kotlin में छवियों के साथ कार्य: लाइब्रेरी और उपकरण
Go में Rate Limiting: अनुरोध दर सीमित करने की पूरी गाइड
Go में Markdown के साथ काम करना: blackfriday, goldmark और chroma लाइब्रेरीज़
PHP में क्रिप्टोग्राफी: एन्क्रिप्शन और हैशिंग (व्यावहारिक मार्गदर्शिका)