Kotlin में PDF जनरेशन: सर्वश्रेष्ठ लाइब्रेरी और कोड उदाहरण

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

Kotlin में PDF जनरेशन: लाइब्रेरी का अवलोकन और व्यावहारिक उदाहरण



PDF-दस्तावेज़ जनरेट करना आधुनिक अनुप्रयोगों में एक सामान्य कार्य है: रिपोर्ट और चालान बनाने से लेकर प्रमाणपत्र और ई-पुस्तकें तैयार करना। Kotlin, अपनी संक्षिप्तता और Java के साथ संगतता के कारण, डेवलपर्स को PDF के साथ काम करने के लिए शक्तिशाली Java-लाइब्रेरी तक पहुँच प्रदान करता है। इस लेख में, हम तीन मुख्य लाइब्रेरी: iText, Apache PDFBox और OpenPDF पर विचार करेंगे, साथ ही Kotlin में कोड उदाहरण भी देंगे।



1. iText — शक्तिशाली और लचीली लाइब्रेरी



iText JVM पर PDF-दस्तावेज़ बनाने और हेरफेर करने के लिए सबसे लोकप्रिय लाइब्रेरी में से एक है। यह जटिल फ़ॉर्मेटिंग, तालिकाएँ, चित्र, वॉटरमार्क, एन्क्रिप्शन और बहुत कुछ सपोर्ट करता है। Kotlin के लिए, Kotlin-एक्सटेंशन के साथ आधिकारिक रैपर iText7 उपलब्ध है।



कनेक्शन (Gradle)

dependencies {    implementation("com.itextpdf:itext7-core:7.2.5")    implementation("com.itextpdf:itext7-kotlin-extensions:1.0.0")}


उदाहरण: टेक्स्ट के साथ सरल PDF बनाना

import com.itextpdf.kernel.pdf.PdfDocumentimport com.itextpdf.kernel.pdf.PdfWriterimport com.itextpdf.layout.Documentimport com.itextpdf.layout.element.Paragraph

fun createSimplePdf(fileName: String) { val writer = PdfWriter(fileName) val pdf = PdfDocument(writer) val document = Document(pdf)

document.add(Paragraph("नमस्ते, Kotlin पर PDF की दुनिया!")) document.add(Paragraph("यह iText7 का उपयोग करने का एक उदाहरण है।"))

document.close() println("PDF बनाया गया: $fileName")}

fun main() { createSimplePdf("example_itext.pdf")}


उदाहरण: डेटा के साथ तालिका

import com.itextpdf.layout.element.Tableimport com.itextpdf.layout.element.Cell

fun createTablePdf(fileName: String) { val writer = PdfWriter(fileName) val pdf = PdfDocument(writer) val document = Document(pdf)

val table = Table(3) // 3 कॉलम table.addHeaderCell("नाम") table.addHeaderCell("आयु") table.addHeaderCell("शहर")

table.addCell("अन्ना") table.addCell("28") table.addCell("मॉस्को")

table.addCell("इवान") table.addCell("35") table.addCell("सेंट पीटर्सबर्ग")

document.add(table) document.close() println("तालिका के साथ PDF बनाया गया: $fileName")}


2. Apache PDFBox — हल्का और मुफ्त विकल्प



Apache PDFBox एक ओपन-सोर्स लाइब्रेरी है (Apache 2.0 लाइसेंस)। यह बुनियादी कार्यों के लिए आदर्श है: दस्तावेज़ बनाना, टेक्स्ट निकालना, फ़ॉर्म भरना। iText के विपरीत, PDFBox को व्यावसायिक उपयोग के लिए लाइसेंस शुल्क की आवश्यकता नहीं है।



कनेक्शन (Gradle)

dependencies {    implementation("org.apache.pdfbox:pdfbox:2.0.27")}


उदाहरण: टेक्स्ट के साथ PDF बनाना

import org.apache.pdfbox.pdmodel.PDDocumentimport org.apache.pdfbox.pdmodel.PDPageimport org.apache.pdfbox.pdmodel.PDPageContentStreamimport org.apache.pdfbox.pdmodel.font.PDType1Font

fun createPdfWithPdfBox(fileName: String) { val document = PDDocument() val page = PDPage() document.addPage(page)

val contentStream = PDPageContentStream(document, page) contentStream.beginText() contentStream.setFont(PDType1Font.HELVETICA_BOLD, 14f) contentStream.newLineAtOffset(100f, 700f) contentStream.showText("PDFBox + Kotlin = बहुत अच्छा!") contentStream.endText() contentStream.close()

document.save(fileName) document.close() println("PDF बनाया गया: $fileName")}


उदाहरण: चित्र जोड़ना

import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject

fun createPdfWithImage(fileName: String, imagePath: String) { val document = PDDocument() val

अनुशंसाएँ