जावा में PDF जनरेशन: सर्वश्रेष्ठ लाइब्रेरीज़ का अवलोकन
PDF दस्तावेज़ जनरेट करना कॉर्पोरेट जावा डेवलपमेंट में एक सामान्य कार्य है। रिपोर्ट, चालान, अनुबंध, प्रमाणपत्र - ये सब प्रोग्रामेटिक रूप से बनाना सुविधाजनक है। इस लेख में, हम जावा में PDF के साथ काम करने के लिए तीन सबसे लोकप्रिय लाइब्रेरीज़ पर चर्चा करेंगे: iText, Apache PDFBox और OpenPDF। हम उनकी क्षमताओं, विशेषताओं का विश्लेषण करेंगे और व्यावहारिक कोड उदाहरण प्रस्तुत करेंगे।
1. iText - शक्तिशाली और व्यावसायिक मानक
iText जावा में PDF बनाने के लिए डी-फैक्टो मानक है। यह लाइब्रेरी 2000 से अस्तित्व में है और सबसे व्यापक कार्यक्षमता प्रदान करती है: सरल टेक्स्ट से लेकर जटिल फॉर्म, वॉटरमार्क, डिजिटल हस्ताक्षर और PDF/A के साथ काम करने तक।
लाइसेंसिंग: iText दोहरे लाइसेंस के तहत वितरित किया जाता है। ओपन-सोर्स प्रोजेक्ट्स (AGPL) के लिए मुफ्त, व्यावसायिक उपयोग के लिए लाइसेंस खरीदना आवश्यक है।
उदाहरण: तालिका के साथ एक सरल PDF बनाना
import com.itextpdf.kernel.pdf.PdfDocument;import com.itextpdf.kernel.pdf.PdfWriter;import com.itextpdf.layout.Document;import com.itextpdf.layout.element.Cell;import com.itextpdf.layout.element.Paragraph;import com.itextpdf.layout.element.Table;import com.itextpdf.layout.property.UnitValue;
public class ItextExample { public static void main(String[] args) throws Exception { String dest = "example_itext.pdf"; PdfWriter writer = new PdfWriter(dest); PdfDocument pdfDoc = new PdfDocument(writer); Document document = new Document(pdfDoc);
// शीर्षक जोड़ें document.add(new Paragraph("बिक्री रिपोर्ट"));
// तालिका बनाएँ Table table = new Table(UnitValue.createPercentArray(3)).useAllAvailableWidth(); table.addHeaderCell(new Cell().add(new Paragraph("उत्पाद"))); table.addHeaderCell(new Cell().add(new Paragraph("मात्रा"))); table.addHeaderCell(new Cell().add(new Paragraph("मूल्य")));
table.addCell(new Cell().add(new Paragraph("लैपटॉप"))); table.addCell(new Cell().add(new Paragraph("10"))); table.addCell(new Cell().add(new Paragraph("1200 $")));
table.addCell(new Cell().add(new Paragraph("माउस"))); table.addCell(new Cell().add(new Paragraph("50"))); table.addCell(new Cell().add(new Paragraph("25 $")));
document.add(table); document.close();
System.out.println("PDF बनाया गया: " + dest); }}iText के लाभ: विशाल समुदाय, उत्कृष्ट दस्तावेज़ीकरण, जटिल परिदृश्यों (हस्ताक्षर, फॉर्म, PDF/UA) का समर्थन। नुकसान: व्यावसायिक लाइसेंस की उच्च लागत।
2. Apache PDFBox - मुफ्त और ओपन-सोर्स
Apache PDFBox Apache 2.0 लाइसेंस के साथ पूरी तरह से मुफ्त लाइब्रेरी है। यह न केवल शुरू से 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.PDType0Font;import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject;
import java.io.File;
public class PdfBoxExample { public static void main(String[] args) throws Exception { PDDocument document = new PDDocument(); PDPage page = new PDPage(); document.addPage(page);
PDPageContentStream contentStream = new PDPageContentStream(document, page);
// फ़ॉन्ट लोड करें (फ़ॉन्ट फ़ाइल आवश्यक है) PDType0Font font = PDType0Font.load(document, new File("/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf")); contentStream.setFont(font, 14); contentStream.beginText(); contentStream.newLineAtOffset(50, 700); conte पुस्तकालय में भी
CoreBluetooth Swift: BLE ब्लूटूथ गाइड उदाहरण सहित
Swift में Prometheus मेट्रिक्स: iOS/macOS ऐप्स के लिए गाइड
जावास्क्रिप्ट (Node.js) में लॉगिंग: आपके प्रोजेक्ट के लिए सर्वोत्तम समाधान
C# (.NET) में HTML पार्सिंग: HtmlAgilityPack और AngleSharp लाइब्रेरीज़