Apache PDFBox: जावा के लिए संपूर्ण PDF टूलकिट
टेक्स्ट निकालें, दस्तावेज़ संपादित करें, फॉर्म भरें और बहुत कुछ - सभी शुद्ध जावा में
Apache PDFBox क्या है?
Apache PDFBox एक शक्तिशाली ओपन-सोर्स जावा लाइब्रेरी है जो जावा में PDF प्रसंस्करण को सरल बनाती है, जो डेवलपर्स को प्रोग्रामेटिक रूप से PDF दस्तावेज़ बनाने, संपादित करने और सामग्री निकालने की सुविधा देती है। जावा की सबसे लोकप्रिय PDF लाइब्रेरीज़ में से एक के रूप में, PDFBox PDF से टेक्स्ट निकालने, कई PDF फाइलों को मर्ज करने और डिजिटल हस्ताक्षर जोड़ने जैसे कार्यों में उत्कृष्ट है - सभी एक हल्के API और बिना लाइसेंस लागत के। चाहे आपको जावा में PDF पार्सिंग, PDF जनरेशन या PDF/A अनुपालन की आवश्यकता हो, यह लाइब्रेरी OCR एकीकरण, फॉर्म भरने और HTML से PDF रूपांतरण जैसी उन्नत सुविधाओं का समर्थन करती है। Maven-ready निर्भरताओं (जैसे pdfbox-maven) और व्यापक प्रलेखन के साथ, PDFBox जटिल वर्कफ़्लो को सरल बनाता है - जो इसे एंटरप्राइज़ एप्लिकेशन, दस्तावेज़ स्वचालन और डेटा निष्कर्षण के लिए आदर्श बनाता है। iText जैसे विकल्पों की तुलना में, Apache PDFBox अपनी ओपन-सोर्स लचीलापन, सक्रिय समुदाय और क्रॉस-प्लेटफ़ॉर्म संगतता के लिए बाहर खड़ा है। जावा में PDF हेरफेर की पूरी क्षमता को अनलॉक करने के लिए हमारे PDFBox ट्यूटोरियल का अन्वेषण करें और जावा कोड उदाहरण खोजें।
PDFBox के प्रमुख लाभ:
- संपूर्ण समाधान: निष्कर्षण और निर्माण दोनों क्षमताएं
- शुद्ध जावा: कोई मूल निर्भरताएं नहीं
- सक्रिय विकास: Apache Software Foundation द्वारा समर्थित
- व्यापक सुविधाएँ: टेक्स्ट निष्कर्षण, विभाजन, विलय, हस्ताक्षर
- फॉर्म समर्थन: PDF फॉर्म पढ़ें और भरें
दस्तावेज़ प्रबंधन प्रणालियों, सामग्री निष्कर्षण और PDF स्वचालन के लिए आदर्श।
PDFBox क्यों चुनें?
- परिपक्वता: 2002 से स्थिर, नियमित अद्यतनों के साथ
- बहुमुखी प्रतिभा: पढ़ने और लिखने दोनों की क्षमताएं
- मानक समर्थन: PDF 1.7 और PDF/A दस्तावेज़ों को संभालता है
- समुदाय: बड़ा उपयोगकर्ता आधार और व्यापक प्रलेखन
- एकीकरण: सभी जावा-आधारित फ्रेमवर्क के साथ काम करता है
स्थापना
PDFBox Maven Central के माध्यम से आसान एकीकरण के लिए उपलब्ध है:
Maven
org.apache.pdfbox
pdfbox
3.0.0
Gradle
implementation 'org.apache.pdfbox:pdfbox:3.0.0'
सिस्टम आवश्यकताएँ: जावा 8 या बाद का
कोड उदाहरण
PDFBox की क्षमताओं के व्यावहारिक उदाहरण:
उदाहरण 1: जावा में PDF दस्तावेज़ से बुनियादी टेक्स्ट निष्कर्षण
यह उदाहरण दिखाता है कि कैसे PDF दस्तावेज़ से टेक्स्ट निकाला जाए जबकि फॉर्मेटिंग और संरचना को संरक्षित रखा जाए। PDFBox उन्नत टेक्स्ट स्ट्रिपिंग क्षमताएं प्रदान करता है जो पढ़ने के क्रम को बनाए रखता है और जटिल लेआउट को संभालता है।
आउटपुट में शामिल:
- संरचित टेक्स्ट सामग्री
- पृष्ठ-दर-पृष्ठ निष्कर्षण
- बुनियादी फॉर्मेटिंग संरक्षण
उदाहरण 2: जावा में स्क्रैच से PDF दस्तावेज़ निर्माण
PDFBox PDF पढ़ने और बनाने दोनों में उत्कृष्ट है। यह उदाहरण टेक्स्ट और बुनियादी फॉर्मेटिंग के साथ एक नया PDF दस्तावेज़ उत्पन्न करने का प्रदर्शन करता है।
उदाहरण 3: जावा में PDF पृष्ठों में हेडर और फुटर जोड़ना
PDFBox आपकी जावा एप्लिकेशन से PDF पृष्ठों में हेडर और फुटर जोड़ने के लिए व्यापक समर्थन प्रदान करता है। निम्नलिखित कोड नमूना दिखाता है कि जावा के लिए PDFBox API का उपयोग करके इसे कैसे प्राप्त किया जाए।
उन्नत सुविधाएँ
PDFBox पेशेवर PDF प्रसंस्करण का समर्थन करता है:
- छवि निष्कर्षण: एम्बेडेड छवियों तक पहुंच:
छवि निष्कर्षण
PDDocument document = PDDocument.load(new File("document.pdf")); for (PDPage page : document.getPages()) { PDResources resources = page.getResources(); for (COSName name : resources.getXObjectNames()) { PDXObject xobject = resources.getXObject(name); if (xobject instanceof PDImageXObject) { BufferedImage image = ((PDImageXObject) xobject).getImage(); // छवि प्रसंस्करण } } }
- दस्तावेज़ विभाजन: PDF को कई फाइलों में विभाजित करें:
PDF विभाजन
Splitter splitter = new Splitter(); List
pages = splitter.split(document); for (int i = 0; i < pages.size(); i++) { pages.get(i).save("page-" + (i+1) + ".pdf"); } - एन्क्रिप्टेड PDF: पासवर्ड-सुरक्षित फाइलों को संभालें:
एन्क्रिप्टेड PDF
String password = "secure123"; FileInputStream fis = new FileInputStream("encrypted.pdf"); PDDocument doc = PDDocument.load(fis, password);
PDFBox बनाम iText
PDFBox और iText के बीच 5 प्रमुख अंतर यहां दिए गए हैं:
- लाइसेंस: PDFBox Apache-लाइसेंस्ड (ओपन सोर्स), जबकि iText के पास अधिकांश उपयोग मामलों के लिए वाणिज्यिक लाइसेंस है
- सुविधा फोकस: PDFBox संतुलित पढ़ने/लिखने की क्षमताएं प्रदान करता है, जबकि iText PDF जनरेशन में विशेषज्ञता रखता है
- प्रदर्शन: iText आमतौर पर दस्तावेज़ निर्माण में तेज होता है, जबकि PDFBox टेक्स्ट निष्कर्षण में उत्कृष्ट होता है
- समुदाय: PDFBox में अधिक व्यापक ओपन सोर्स अपनाना है, जबकि iText पेशेवर समर्थन प्रदान करता है
- उपयोग मामले: PDFBox विश्लेषण और बुनियादी हेरफेर के लिए आदर्श है, जबकि iText उच्च-मात्रा PDF जनरेशन के लिए बेहतर है
निष्कर्ष
Apache PDFBox जावा डेवलपर्स के लिए व्यापक PDF प्रसंस्करण प्रदान करता है। इसके लिए आदर्श:
- सामग्री निष्कर्षण: PDF से टेक्स्ट और डेटा निकालना
- दस्तावेज़ स्वचालन: रिपोर्ट और फॉर्म उत्पन्न करना
- दस्तावेज़ प्रबंधन: PDF विभाजित, मर्ज और ट्रांसफॉर्म करना
- फॉर्म प्रसंस्करण: इंटरैक्टिव फॉर्म पढ़ना और भरना
अपने ओपन सोर्स लाइसेंस और व्यापक सुविधा सेट के साथ, PDFBox जावा-आधारित PDF प्रसंस्करण के लिए प्रमुख विकल्प है।
इसी तरह के उत्पादों
- Apache POI XWPF | DOCX फ़ाइलें बनाने और संशोधित करने के लिए ओपन सोर्स जावा API
- DocX | DOCX फ़ाइलें बनाने और संशोधित करने के लिए ओपन सोर्स .NET API
- Docx4J | DOC और DOCX फ़ाइलें बनाने और संशोधित करने के लिए ओपन सोर्स जावा API
- ExcelDataReader | XLS, XLSX, CSV और स्प्रेडशीट दस्तावेज़ों को पढ़ने के लिए ओपन सोर्स .NET API
- FileFormat.Cells | C# .NET के साथ Excel फ़ाइलें बनाएँ और अपडेट करें