PHP में PDF जनरेशन: लाइब्रेरीज़ का अवलोकन और व्यावहारिक उदाहरण
\n\nPDF दस्तावेज़ बनाना वेब डेवलपमेंट में सामान्य कार्यों में से एक है। चालान और रिपोर्ट से लेकर प्रमाणपत्र और पुस्तकों तक, PDF दस्तावेज़ आदान-प्रदान के लिए एक सार्वभौमिक प्रारूप बना हुआ है। PHP में कई शक्तिशाली लाइब्रेरीज़ मौजूद हैं जो HTML से और प्रोग्रामेटिक रूप से PDF जनरेट करने की अनुमति देती हैं। इस लेख में, हम चार लोकप्रिय टूल्स पर चर्चा करेंगे: TCPDF, FPDF, Dompdf और mPDF।
\n\n1. FPDF — हल्की और तेज़ क्लासिक
\n\nFPDF सबसे पुरानी और सबसे सरल लाइब्रेरीज़ में से एक है। इसे अतिरिक्त एक्सटेंशन (GD के अलावा) स्थापित करने की आवश्यकता नहीं है। मुख्य लाभ न्यूनतमता और गति है। FPDF सीधे निर्देशांक के साथ काम करता है, जो तत्वों के स्थान पर पूर्ण नियंत्रण देता है।
\n\nसरल PDF बनाने का उदाहरण:
\n<?php\nrequire('fpdf.php');\n\n$pdf = new FPDF();\n$pdf->AddPage();\n$pdf->SetFont('Arial', 'B', 16);\n$pdf->Cell(40, 10, 'नमस्ते, दुनिया!');\n$pdf->Output();\n?>\n\nलाभ:
\n- \n
- बहुत छोटा आकार (लगभग 100 KB) \n
- बाहरी निर्भरता की आवश्यकता नहीं \n
- अलग फोंट के माध्यम से UTF-8 समर्थन \n
नुकसान:
\n- \n
- HTML के साथ जटिल कार्य \n
- सीमित CSS समर्थन \n
2. TCPDF — शक्तिशाली और कार्यात्मक
\n\nTCPDF UTF-8, HTML, CSS, इमेज, QR कोड, डिजिटल हस्ताक्षर और बहुत कुछ के समर्थन के साथ FPDF का एक उन्नत संस्करण है। यह जटिल दस्तावेज़ों के लिए मानक विकल्प है।
\n\nHTML के साथ उदाहरण:
\n<?php\nrequire_once('tcpdf/tcpdf.php');\n\n$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);\n$pdf->AddPage();\n$pdf->writeHTML('<h1>शीर्षक</h1><p>यह <b>बोल्ड</b> टेक्स्ट वाला एक पैराग्राफ है।</p>');\n$pdf->Output('example.pdf', 'I');\n?>\n\nविशेषताएँ:
\n- \n
- Unicode और RTL (अरबी, हिब्रू) का पूर्ण समर्थन \n
- अंतर्निहित फोंट (DejaVu, FreeSerif) \n
- SVG, JavaScript, फॉर्म का समर्थन \n
3. Dompdf — HTML/CSS से जनरेशन
\n\nDompdf HTML और CSS को PDF में बदलता है। यह आदर्श विकल्प है यदि आपके पास पहले से पेज का लेआउट या टेम्पलेट है। Dompdf अधिकांश CSS गुणों का समर्थन करता है, लेकिन सभी नहीं (उदाहरण के लिए, Flexbox और Grid सही ढंग से काम नहीं कर सकते हैं)।
\n\nउदाहरण:
\n<?php\nrequire 'vendor/autoload.php';\n\nuse Dompdf\\Dompdf;\n\n$dompdf = new Dompdf();\n$html = '<h2 style="color:red;">लाल शीर्षक</h2><p>मार्जिन वाला टेक्स्ट।</p>';\n$dompdf->loadHtml($html);\n$dompdf->setPaper('A4', 'portrait');\n$dompdf->render();\n$dompdf->stream("document.pdf");\n?>\n\nलाभ:
\n- \n
- सरलता: HTML लिखें, PDF प्राप्त करें \n
- टेबल और इमेज का अच्छा समर्थन \n
नुकसान:
\n- \n
- PHP 7.1+ और mbstring, dom एक्सटेंशन की आवश्यकता
- जटिल CSS लेआउट टूट सकते हैं
4. mPDF — हाइब्रिड दृष्टिकोण
\n\nmPDF एक लाइब्रेरी है जो TCPDF और Dompdf की क्षमताओं को जोड़ती है। यह HTML और CSS के साथ उत्कृष्ट रूप से काम करता है, Unicode, टेबल, हेडर/फुटर, वॉटरमार्क का समर्थन करता है। mPDF विशेष रूप से पुस्तकों और पत्रिकाओं के निर्माण के लिए अच्छा है।
\n\nCSS के साथ उदाहरण:
\n<?php\nrequire_once __DIR__ . '/vendor/autoload.php';\n\n$mpdf = new \\Mpdf\\Mpdf();\n$html = '<div style="border:1px solid #000; padding:10px;">ब्लॉक की सामग्री</div>';\n$mpdf->WriteHTML($html);\n$mpdf->Output('output.pdf', 'I');\n?>\n\nलाभ:
\n- \n
- CSS 2.1 और आंशिक रूप से CSS3 का उत्कृष्ट समर्थन