PHP में PDF जनरेशन: उपकरणों और लाइब्रेरीज़ का संपूर्ण अवलोकन
सर्वर-साइड पर PDF दस्तावेज़ जनरेट करना वेब डेवलपमेंट में एक सामान्य कार्य है। चालान और रिपोर्ट से लेकर प्रमाणपत्र और किताबों तक, PDF प्रारूप दस्तावेज़ प्रबंधन के लिए मानक बना हुआ है। PHP में कई परिपक्व लाइब्रेरीज़ हैं, जिनमें से प्रत्येक की अपनी खूबियाँ हैं। इस लेख में हम चार मुख्य उपकरणों: FPDF, TCPDF, Dompdf और mPDF पर चर्चा करेंगे, कोड उदाहरण देंगे और आपके प्रोजेक्ट के लिए उपयुक्त समाधान चुनने में मदद करेंगे।
1. FPDF — हल्की और तेज़ लाइब्रेरी
FPDF PHP में PDF जनरेट करने के लिए सबसे पुरानी और सबसे लोकप्रिय लाइब्रेरीज़ में से एक है। इसे किसी बाहरी निर्भरता की आवश्यकता नहीं है, यह तेज़ी से काम करती है और सरल दस्तावेज़ों जैसे चालान, रसीद, और अधिनियमों के लिए आदर्श है।
स्थापना
composer require setasign/fpdfउदाहरण: टेक्स्ट और चित्र के साथ सरल PDF
<?phprequire_once 'vendor/autoload.php';
$pdf = new FPDF();$pdf->AddPage();$pdf->SetFont('Arial', 'B', 16);$pdf->Cell(40, 10, 'नमस्ते, दुनिया!');$pdf->Image('logo.png', 10, 20, 30);$pdf->Output();?>FPDF समर्थन करता है:
- विभिन्न फ़ॉन्ट्स के साथ काम (TrueType, Type1)
- तालिकाएँ, बहु-पंक्ति कोशिकाएँ बनाना
- चित्र सम्मिलित करना (JPEG, PNG, GIF)
- पृष्ठ क्रमांकन, हेडर और फुटर
कमी: HTML और CSS का सीमित समर्थन — सभी तत्वों को प्रोग्रामेटिक रूप से बनाना होता है।
2. TCPDF — जटिल दस्तावेज़ों के लिए शक्तिशाली उपकरण
TCPDF FPDF का एक उन्नत संस्करण है जो Unicode, HTML टैग, SVG, डिजिटल हस्ताक्षर, QR कोड और बहुत कुछ का समर्थन जोड़ता है। यह चालान, प्रमाणपत्र, तालिकाओं वाली रिपोर्ट बनाने के लिए उत्कृष्ट है।
स्थापना
composer require tecnickcom/tcpdfउदाहरण: HTML सामग्री और तालिका के साथ PDF
<?phprequire_once 'vendor/autoload.php';
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);$pdf->AddPage();$html = '<h1>शीर्षक</h1><table border="1"><tr><td>कोशिका 1</td><td>कोशिका 2</td></tr></table>';$pdf->writeHTML($html, true, false, true, false, '');$pdf->Output('example.pdf', 'I');?>TCPDF की प्रमुख क्षमताएँ:
- Unicode (UTF-8) और सिरिलिक का पूर्ण समर्थन
- अंतर्निहित टेम्पलेट, पृष्ठ क्रमांकन
- वेक्टर ग्राफिक्स (SVG, PDF फॉर्म)
- डिजिटल हस्ताक्षर, एन्क्रिप्शन
- PDF में JavaScript का समर्थन
3. Dompdf — HTML/CSS से जनरेशन
Dompdf आपको HTML मार्कअप से PDF बनाने की अनुमति देता है, CSS (Flexbox, Grid, मीडिया क्वेरी सहित) को प्रोसेस करता है। यह आदर्श है यदि आपके पास पहले से वेब टेम्पलेट हैं या आप किसी HTML पेज को जल्दी से PDF में बदलना चाहते हैं।
स्थापना
composer require dompdf/dompdfउदाहरण: HTML स्ट्रिंग से PDF
<?phpuse Dompdf\\Dompdf;
require_once 'vendor/autoload.php';
$dompdf = new Dompdf();$html = '<h2 style="color:blue;">Dompdf से नमस्ते!</h2><p>यह HTML से जनरेट की गई PDF है।</p>';$dompdf->loadHtml($html);$dompdf->setPaper('A4', 'portrait');$dompdf->render();$dompdf->stream("document.pdf");?>Dompdf की विशेषताएँ:
- CSS 2.1 और आंशिक रूप से CSS3 का समर्थन
- चित्रों, फ़ॉन्ट्स (स्थानीय और Google Fonts) के साथ काम
- सही फ़ॉन्ट्स का उपयोग करने पर सिरिलिक का अंतर्निहित समर्थन
- फ्रेमवर्क (Laravel, Symfony) के साथ सरल एकीकरण
महत्वपूर्ण: JavaScript या एनिमेशन वाले जटिल लेआउट के लिए