जावा में PDF जनरेशन: iText, Apache PDFBox, OpenPDF लाइब्रेरीज़ का अवलोकन

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

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

पाठ्यक्रम शुरू करें
आपके कोड में अनुरोधित HTML कंटेंट का रूसी से हिंदी अनुवाद नीचे दिया गया है। सभी HTML टैग्स और विशेषताएँ अपरिवर्तित रखी गई हैं, और
 टैग के अंदर की सामग्री को नहीं बदला गया है, और उचित संज्ञाओं (पुस्तक शीर्षक, लेखक नाम, प्रोग्रामिंग शब्द) को अपरिवर्तित रखा गया है।

```html

जावा में PDF निर्माण: लोकप्रिय लाइब्रेरियों का अवलोकन



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



1. iText — शक्तिशाली, लेकिन लाइसेंस प्रतिबंधों के साथ



iText PDF के साथ काम करने के लिए सबसे प्रसिद्ध जावा लाइब्रेरी है। यह 2000 से मौजूद है और प्रारूप की लगभग सभी क्षमताओं का समर्थन करती है: टेक्स्ट, टेबल्स, इमेजेस, वॉटरमार्क, एनोटेशन, हस्ताक्षर और बहुत कुछ।



हालाँकि, iText में एक महत्वपूर्ण बारीकी है: संस्करण 5.5.x से, लाइब्रेरी डबल लाइसेंस के तहत जारी की गई है। वाणिज्यिक उपयोग के लिए AGPL लाइसेंस खरीदना आवश्यक है, जब तक कि आप अपने एप्लिकेशन को ओपन सोर्स के रूप में वितरित नहीं करते। सार्वजनिक रूप से उपलब्ध शैक्षिक परियोजनाओं के लिए, AGPL के तहत iText 5.x संस्करण उपयुक्त है।



iText 5 का उपयोग करके टेक्स्ट और टेबल के साथ एक सरल PDF बनाने का उदाहरण:



import com.itextpdf.text.*;import com.itextpdf.text.pdf.PdfPTable;import com.itextpdf.text.pdf.PdfWriter;import java.io.FileOutputStream;

public class ITextExample { public static void main(String[] args) throws Exception { Document document = new Document(); PdfWriter.getInstance(document, new FileOutputStream("example_itext.pdf")); document.open();

// заголовок document.add(new Paragraph("iText के साथ PDF उदाहरण", FontFactory.getFont(FontFactory.HELVETICA_BOLD, 18)));

// तालिका PdfPTable table = new PdfPTable(3); table.addCell("स्तंभ 1"); table.addCell("स्तंभ 2"); table.addCell("स्तंभ 3"); table.addCell("डेटा 1"); table.addCell("डेटा 2"); table.addCell("डेटा 3"); document.add(table);

document.close(); System.out.println("PDF बनाया गया: example_itext.pdf"); }}


2. Apache PDFBox — मुफ्त और ओपन सोर्स



Apache PDFBox Apache 2.0 लाइसेंस के तहत पूरी तरह से मुफ्त लाइब्रेरी है। इसका वाणिज्यिक उपयोग पर कोई प्रतिबंध नहीं है और यह PDF के साथ काम करने के लिए लो-लेवल API प्रदान करती है। PDFBox आपको दस्तावेज़ बनाने, टेक्स्ट निकालने, फॉर्म भरने, इमेजेस के साथ काम करने और यहाँ तक कि जटिल लेआउट बनाने की अनुमति देती है।



PDFBox का मुख्य लाभ लचीलापन और लाइसेंस शुल्क का अभाव है। नुकसान यह है कि इसका API सरल कार्यों के लिए iText की तुलना में कम सुविधाजनक है और फ़ॉर्मेटिंग के लिए अधिक कोड की आवश्यकता होती है।



PDFBox 2.x का उपयोग करके टेक्स्ट और टेबल के साथ PDF बनाने का उदाहरण:



import org.apache.pdfbox.pdmodel.PDDocument;import org.apache.pdfbox.pdmodel.PDPage;import org.apache.pdfbox.pdmodel.PDPageContentStream;import org.apache.pdfbox.pdmodel.font.PDType1Font;import org.apache.pdfbox.pdmodel.common.PDRectangle;import java.io.IOException;

public class PDFBoxExample { public static void main(String[] args) throws IOException { try (PDDocument document = new PDDocument()) { PDPage page = new PDPage(PDRectangle.A4); document.addPage(page);

try (PDPageContentStream cs = new PDPageContentStream(document, page)) { // заголовок cs.setFont(PDType1Font.HELVETICA_BOLD, 18); cs.beginText(); cs.newLineAtOffset(50, 750); cs.showText("PDFBox के साथ PDF उदाहरण"); cs.endText();

// सरल तालिका (अनुकरण) cs.setFont(PDType1Font.HELVETICA, 12); cs.setLineWidth(1f); // मैन्युअल रूप से तालिका की रेखाएँ खींचना (सरलीकृत) for (int i = 0; i < 4; i ```

अनुशंसाएँ