Kotlin पर PDF रिपोर्ट जनरेशन: iText 7 लाइब्रेरी

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

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

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

iText 7 के साथ Kotlin पर PDF रिपोर्ट जनरेशन



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



iText 7 क्यों?

  • पूर्ण नियंत्रण सामग्री पर: टेक्स्ट, टेबल, इमेज, फ़ॉन्ट।
  • प्रदर्शन: लाइब्रेरी बड़े दस्तावेज़ों के साथ काम करने के लिए अनुकूलित है।
  • क्रॉस-प्लेटफ़ॉर्म: JVM, Android और वेब पर काम करता है।
  • लाइसेंसिंग: ओपन-सोर्स प्रोजेक्ट्स के लिए AGPL या वाणिज्यिक लाइसेंस।


इंस्टॉलेशन (Gradle)

build.gradle.kts में डिपेंडेंसी जोड़ें:

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


बेसिक उदाहरण: "Hello, PDF!"

टेक्स्ट के साथ एक सरल PDF दस्तावेज़ बनाएं:

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

fun main() { val writer = PdfWriter("hello.pdf") val pdf = PdfDocument(writer) val document = Document(pdf)

document.add(Paragraph("Kotlin पर PDF की दुनिया में आपका स्वागत है!")) document.close() println("PDF बनाया गया: hello.pdf")}


टेबल और स्टाइल के साथ रिपोर्ट बनाना

वास्तविक रिपोर्ट के लिए सिर्फ टेक्स्ट से अधिक की आवश्यकता होती है। टेबल, हेडर और स्टाइल जोड़ें:

import com.itextpdf.kernel.colors.ColorConstantsimport com.itextpdf.kernel.pdf.PdfDocumentimport com.itextpdf.kernel.pdf.PdfWriterimport com.itextpdf.layout.Documentimport com.itextpdf.layout.element.Cellimport com.itextpdf.layout.element.Paragraphimport com.itextpdf.layout.element.Tableimport com.itextpdf.layout.properties.UnitValue

fun generateReport() { val writer = PdfWriter("report.pdf") val pdf = PdfDocument(writer) val document = Document(pdf)

// शीर्षक val title = Paragraph("मासिक बिक्री रिपोर्ट") .setFontSize(20) .setBold() .setTextAlignment(com.itextpdf.layout.properties.TextAlignment.CENTER) document.add(title)

// टेबल val table = Table(UnitValue.createPercentArray(floatArrayOf(1f, 2f, 1.5f, 1.5f))) table.setWidth(UnitValue.createPercentValue(100))

// टेबल हेडर val headers = listOf("आईडी", "उत्पाद", "मात्रा", "मूल्य") headers.forEach { header -> val cell = Cell().add(Paragraph(header).setBold()) cell.setBackgroundColor(ColorConstants.LIGHT_GRAY) table.addCell(cell) }

// डेटा val data = listOf( listOf("1", "लैपटॉप", "3", "150000"), listOf("2", "माउस", "10", "5000"), listOf("3", "कीबोर्ड", "5", "12500") ) data.forEach { row -> row.forEach { value -> table.addCell(Cell().add(Paragraph(value))) } }

document.add(table) document.close() println("रिपोर्ट बनाई गई: report.pdf")}

fun main() { generateReport()}


इमेज और स्टाइल जोड़ना

अक्सर रिपोर्ट में लोगो या ग्राफ़िक्स डालने की आवश्यकता होती है। iText 7 इमेज को सपोर्ट करता है:

import com.itextpdf.kernel.pdf.PdfDocumentimport com.itextpdf.kernel.pdf.PdfWriterimport com.itextpdf.layout.Documentimport com.itextpdf.layout.element.Imageimport com.itextpdf.io.image.ImageDataFactory

fun addImageExample() { val writer = PdfWriter("report_with_image.pdf") val pdf = PdfDocument(writer) val document = Documen

अनुशंसाएँ