पायथन में PDF जनरेट करना
मेरा पसंदीदा लाइब्रेरी pdf-reports है।
PDF रिपोर्ट बनाने के लिए पायथन का उपयोग
पायथन, अपने व्यापक पुस्तकालयों और मॉड्यूल्स के साथ, पेशेवर PDF रिपोर्ट बनाने के लिए शक्तिशाली उपकरण प्रदान करता है।
इस गाइड में, पायथन का उपयोग करके PDF दस्तावेज बनाने के विभिन्न तरीकों के बारे में चर्चा की गई है, जिसमें रिपोर्टलैब, एफपीडीएफ, एक्सएचटीएमएलटूपीडीएफ, वीज़ाईस्प्रिंट, जिन्जा2, पीडीएफ-रिपोर्ट्स और पीडीएफकिट जैसे लोकप्रिय पुस्तकालयों का शामिल करता है।
क्यों पायथन के साथ PDF रिपोर्ट बनाएं?
- स्वचालन: पायथन स्क्रिप्ट रिपोर्ट उत्पादन को स्वचालित कर सकते हैं, समय बचाकर और मानव त्रुटि को कम करके।
- अनुकूलन: विशिष्ट आवश्यकताओं के अनुसार रिपोर्ट को अनुकूलित करें और पाठ, चित्र, तालिकाओं और चार्ट जोड़ें।
- एकरूपता: मानकीकृत टेम्पलेट के साथ रिपोर्ट में ब्रैंडिंग एकरूपता सुनिश्चित करें।
- विविधता: फैक्टर, व्यवसाय रिपोर्ट, डेटा सम्मिलन या कोई भी अन्य दस्तावेज प्रकार बनाएं।
PDF उत्पादन के लिए लोकप्रिय पायथन पुस्तकालय
रिपोर्टलैब
रिपोर्टलैब एक विविध पुस्तकालय है जो आपको प्रोग्रामेटिक रूप से PDF दस्तावेज बनाने की अनुमति देता है प्रोग्रामेटिक रूप से। यह पाठ, चित्र, तालिकाओं और ग्राफिक्स जोड़ने के समर्थन के साथ है, जो विभिन्न प्रकार के रिपोर्ट के लिए उपयुक्त है।
लाभ:
- समृद्ध विशेषता सेट
- आसान उपयोग के लिए उच्च स्तर की API
- टिप्पणियों और इंटरैक्टिव फॉर्म जैसी उन्नत विशेषताओं का समर्थन
कमियाँ:
- अन्य पुस्तकालयों की तुलना में अधिक जटिल सीखने की लाइन
- कुछ कार्यों के लिए कम अनुमान योग्य API
रिपोर्टलैब का उपयोग करना
इस्तामल: पायथन के उपयोग से रिपोर्टलैब को इंस्टॉल करें:
pip install reportlab
मूल सेटअप:
from reportlab.pdfgen import canvas
c = canvas.Canvas('hello.pdf')
# पाठ जोड़ना:
python c.drawString(100, 800, "Hello World")
# PDF को सहेजें:
python c.save()
FPDF
FPDF एक सरल लेकिन शक्तिशाली PDF दस्तावेज बनाने के पुस्तकालय है जो शुद्ध पायथन में लिखा गया है। यह न्यूनतम कोड के साथ बुनियादी PDF दस्तावेज बनाने के लिए आदर्श है।
लाभ:
- सीखना आसान और उपयोग करना
- हल्का और तेज
- यूनिकोड के अक्षरों का समर्थन
कमियाँ:
- रिपोर्टलैब की तुलना में सीमित विशेषता सेट
- पृष्ठ पर तत्वों के स्थान के लिए कम नियंत्रण
FPDF का उपयोग करना
इस्तामल: FPDF को pip के उपयोग से इंस्टॉल करें:
pip install fpdf2
मूल सेटअप:
from fpdf import FPDF pdf = FPDF()
# पाठ जोड़ना:
python pdf.add_page()
pdf.set_font('Arial', 'B', 16)
pdf.cell(40, 10, 'Hello World')
# PDF को सहेजें:
python pdf.output('hello.pdf', 'F')
Xhtml2pdf
Xhtml2pdf एक CSS/HTML से PDF में परिवर्तन करने वाला उपकरण है जो रिपोर्टलैब के तहत काम करता है। यह HTML टेम्पलेट से PDF बनाने के लिए आदर्श है, इसलिए वेब से PDF परिवर्तन के लिए एक उत्कृष्ट विकल्प है।
लाभ:
- HTML और CSS को PDF में परिवर्तित करें
- जटिल लेआउट और स्टाइलिंग का समर्थन
- डेज़ंगो जैसे वेब फ्रेमवर्क के साथ अच्छी तरह से एकीकृत
कमियाँ:
- HTML और CSS के ज्ञान की आवश्यकता
- सरल, वेब आधारित रिपोर्ट के लिए उपयुक्त नहीं हो सकता
Xhtml2pdf का उपयोग करना
इस्तामल: Xhtml2pdf को pip के उपयोग से इंस्टॉल करें:
pip install xhtml2pdf
HTML से PDF बनाना: python
from xhtml2pdf import pisa
html = "<h1>Hello World</h1>"
with open('hello.pdf', 'wb') as output_file:
pisa_status = pisa.CreatePDF(html, dest=output_file)
WeasyPrint
WeasyPrint एक विविध पायथन पुस्तकालय है जो विकासकर्ताओं को HTML और CSS को PDF दस्तावेज में उच्च गुणवत्ता रेंडरिंग के साथ परिवर्तित करने की अनुमति देता है। यह रिपोर्ट, फैक्टर या कोई भी अन्य दस्तावेज जो ठीक से स्वरूपन की आवश्यकता होती है, बनाने के लिए विशेष रूप से उपयुक्त है। नीचे कुछ उदाहरण दिए गए हैं जो WeasyPrint के विभिन्न परिस्थितियों में उपयोग करने के तरीके दिखाते हैं।
विशेषताएं
- HTML और CSS को PDF दस्तावेज में परिवर्तित करता है।
- जिन्जा2 जैसे टेम्पलेटिंग इंजन के सहायता से डाइनामिक डेटा रेंडरिंग का समर्थन करता है।
इस्तामल:
pip install weasyprint
यहां एक HTML स्ट्रिंग से PDF बनाने का एक सरल उदाहरण है:
from weasyprint import HTML
html_string = """
<html>
<head><title>सैंपल PDF</title></head>
<body>
<h1>हैलो, WeasyPrint!</h1>
<p>WeasyPrint के उपयोग से बनाया गया एक सैंपल PDF।</p>
</body>
</html>
"""
HTML(string=html_string).write_pdf("सैंपल.pdf")
इस उदाहरण में, WeasyPrint के HTML कक्ष का उपयोग एक HTML स्ट्रिंग को “सैंपल.pdf” नामक एक PDF फ़ाइल में परिवर्तित करने के लिए किया गया है।
HTML फ़ाइल से लोड करना
आप HTML सामग्री को सीधे फ़ाइल से भी लोड कर सकते हैं:
from weasyprint import HTML
# एक फ़ाइल से HTML लोड करें
HTML('सैंपल.html').write_pdf('आउटपुट.pdf')
यह विधि तब उपयोगी होती है जब आपके पास बाहरी फ़ाइल में HTML सामग्री संग्रहित होती है। CSS स्टाइलशीट का उपयोग करना
WeasyPrint CSS स्टाइलशीट के उपयोग के समर्थन करता है ताकि आप अपने PDF दस्तावेज को स्टाइल कर सकें। यहां एक CSS फ़ाइल के उपयोग के तरीका दिया गया है:
from weasyprint import HTML
# एक फ़ाइल से HTML और CSS लोड करें
HTML('सैंपल.html').write_pdf('आउटपुट.pdf', stylesheets=['सैंपल.css'])
यह अधिक जटिल स्टाइलिंग के लिए अनुमति देता है, जिससे आप दृश्य रूप से आकर्षक PDF बनाने में सक्षम हो सकते हैं ।
जिन्जा2
जिन्जा2 पायथन के लिए एक शक्तिशाली टेम्पलेटिंग इंजन है जो टेम्पलेट में पायथन अभिव्यक्ति, शर्तों और लूप्स के एम्बेडिंग के माध्यम से गतिशील सामग्री उत्पन्न करने की अनुमति देता है। इस गाइड में, जिन्जा2 के विभिन्न उदाहरणों के साथ जिन्जा2 के उपयोग के बारे में चर्चा की गई है, जिसमें बुनियादी चर स्थानांतरण से अधिक उन्नत विशेषताओं जैसे टेम्पलेट विरासत के बारे में चर्चा की गई है।
जिन्जा2 की मुख्य विशेषताएं
- वीज़ाईस्प्रिंट या रिपोर्टलैब के साथ उपयोग करने योग्य एक टेम्पलेटिंग इंजन।
- पूर्वनिर्धारित टेम्पलेट में डेटा एम्बेड करने के लिए आदर्श।
- इस्तामल:
pip install jinja2
अधिक उदाहरण आधिकारिक जिन्जा2 दस्तावेज पृष्ठ पर देखें: https://jinja.palletsprojects.com/en/3.0.x/
पीडीएफकिट
पीडीएफकिट एक शक्तिशाली पायथन पुस्तकालय है जो HTML सामग्री को PDF दस्तावेज में परिवर्तित करने के प्रक्रिया को सरल बनाता है। यह wkhtmltopdf उपयोगिता के एक विकल्प के रूप में कार्य करता है, जो वेबकिट के माध्यम से HTML पृष्ठों को सटीक रूप से PDF प्रारूप में रेंडर करता है। इस गाइड में, पीडीएफकिट के उपयोग के विभिन्न उदाहरण और उपयोग के मामलों के बारे में चर्चा की गई है।
मुख्य विशेषताएं
- wkhtmltopdf के लिए एक पायथन विकल्प, जो HTML को PDF में परिवर्तित करता है।
- पूरे सिस्टम में wkhtmltopdf की इस्तामल की आवश्यकता है। https://wkhtmltopdf.org/downloads.html
इस्तामल:
# और wkhtmltopdf को इंस्टॉल करें।
मूल उपयोग - HTML स्ट्रिंग को PDF में परिवर्तित करना
आपको एक सरल HTML स्ट्रिंग को PDF फ़ाइल में परिवर्तित करने के लिए pdfkit.from_string() का उपयोग कर सकते हैं:
import pdfkit
html_sample = """
<html>
<head><title>सैंपल PDF</title></head>
<body>
<h1>यह एक सीरिंग है</h1>
<p>पहला पंक्ति।</p>
<p>दूसरा पंक्ति।</p>
<p>तीसरा पंक्ति।</p>
<p>चौथा पंक्ति।</p>
</body>
</html>
"""
pdfkit.from_string(html_sample, 'आउटपुट.pdf')
यह वर्तमान डायरेक्टरी में नाम “आउटपुट.pdf” वाला एक PDF फ़ाइल बनाएगा।
स्थानीय HTML फ़ाइल को PDF में परिवर्तित करना
यदि आपके पास एक स्थानीय HTML फ़ाइल है, तो pdfkit.from_file() का उपयोग करें:
import pdfkit
pdfkit.from_file('स्थानीय.html', 'सैंपल.pdf')
PDF रिपोर्ट पुस्तकालय (pdf-रिपोर्ट्स)
पायथन में pdf-रिपोर्ट्स पुस्तकालय के उपयोग से PDF रिपोर्ट बनाना एक शक्तिशाली तरीका है जिसके द्वारा आप HTML या Pug टेम्पलेट से व्यावहारिक दस्तावेज बना सकते हैं। यह पुस्तकालय आधिकारिक रूप से Python 3.x के साथ काम करता है लेकिन उचित संस्करण के weasyprint के साथ Python 2.x पर भी चल सकता है। यह एक विविध उपकरण है जो डाइनामिक और अच्छी तरह से संरचित दस्तावेज बनाने के लिए कार्य करता है।
मुख्य विशेषताएं
- आधुनिक घटक: आधुनिक घटकों के लिए सेमैंटिक यूआई फ्रेमवर्क का उपयोग करता है।
- घटकों के एम्बेडिंग: तालिकाओं, चार्ट और अन्य घटकों के एम्बेडिंग की अनुमति देता है।
- टेम्पलेट समर्थन: HTML और Pug टेम्पलेट के लिए अधिक लचीले रिपोर्ट डिज़ाइन के लिए समर्थन।
pdf-रिपो端 के उपयोग का उदाहरण
इस्तामल:
pip install pdf-reports
यहां pdf-रिपोर्ट्स पुस्तकालय के उपयोग के एक बुनियादी उदाहरण है:
from pdf_reports import PDFReport
# अपने टेम्पलेट फ़ाइल (template.pug) को परिभाषित करें
template = """
doctype html
html
head
title= title
body
h1= title
p यह एक सैंपल रिपोर्ट है।
"""
# एक PDF रिपोर्ट उदाहरण बनाएं
report = PDFReport(template)
# टेम्पलेट के लिए संदर्भ निर्धारित करें
context = {
'title': 'सैंपल रिपोर्ट'
}
# PDF बनाएं
pdf = report.generate(context, output='सैंपल_रिपोर्ट.pdf')
पायथन में PDF उत्पादन के बारे में एक अधिक जानकारी
पायथन में PDF रिपोर्ट बनाने के लिए एक श्रेणी शक्तिशाली पुस्तकालय हैं। क्या आप फैक्टर, व्यवसाय रिपोर्ट या डेटा सम्मिलन बना रहे हैं, ये उपकरण आपको प्रक्रिया को स्वचालित करने, अपने दस्तावेज को अनुकूलित करने और ब्रैंडिंग एकरूपता सुनिश्चित करने की अनुमति देते हैं। अपनी आवश्यकताओं के अनुसार उपयुक्त पुस्तकालय का चयन करें और आज ही व्यावहारिक PDF बनाना शुरू करें!