PDF से टेबल निकालना Java में GroupDocs.Parser का उपयोग करके
PDF फ़ाइलों से टेबल निकालना एक सामान्य आवश्यकता है जब आपको स्थिर दस्तावेज़ों को संरचित डेटा में बदलना होता है। इस ट्यूटोरियल में हम Java के लिए GroupDocs.Parser लाइब्रेरी का उपयोग करके PDFs से टेबल कैसे निकालें दिखाएंगे। आप देखेंगे कि यह तरीका java pdf table extraction के लिए क्यों आदर्श है, सटीक परिणामों के लिए लेआउट कैसे कॉन्फ़िगर करें, और बाद में export pdf tables csv कैसे करें।
त्वरित उत्तर
- प्राथमिक लाइब्रेरी कौन सी है? GroupDocs.Parser for Java
- क्या मैं स्कैन किए गए PDFs से टेबल निकाल सकता हूँ? केवल OCR के बाद; नीचे “extract tables scanned pdf” नोट देखें
- क्या मुझे लाइसेंस चाहिए? विकास के लिए ट्रायल लाइसेंस काम करता है; उत्पादन के लिए पूर्ण लाइसेंस आवश्यक है
- कौन सा Java संस्करण आवश्यक है? Java 8 या उससे ऊपर
- क्या बैच प्रोसेसिंग समर्थित है? हाँ – API बड़े‑पैमाने पर एक्सट्रैक्शन के लिए अनुकूलित है
PDFs के संदर्भ में “टेबल कैसे निकालें” क्या है?
जब हम टेबल कैसे निकालें की बात करते हैं, तो हम उस प्रक्रिया को कहते हैं जिसमें प्रोग्रामेटिक रूप से PDF के भीतर तालिका संरचनाओं को ढूँढा जाता है, सेल सीमाओं की व्याख्या की जाती है, और टेक्स्ट कंटेंट को मशीन‑रीडेबल फॉर्मेट (जैसे CSV, Excel) में प्राप्त किया जाता है। GroupDocs.Parser लो‑लेवल PDF पार्सिंग को एब्स्ट्रैक्ट करता है और आपको एक साफ़ ऑब्जेक्ट मॉडल देता है जिससे आप काम कर सकते हैं।
java pdf table extraction के लिए GroupDocs.Parser क्यों उपयोग करें?
- सटीक लेआउट डिटेक्शन – कस्टम कॉर्डिनेट्स के साथ मल्टी‑कॉलम, मल्टी‑रो टेबल को संभालता है।
- परफॉर्मेंस‑फोकस्ड – बड़े दस्तावेज़ों और बैच जॉब्स के साथ अच्छी तरह काम करता है।
- आसान इंटीग्रेशन – Maven‑आधारित डिपेंडेंसी मैनेजमेंट और सीधा API।
- विस्तार योग्य – आप extract tables scanned pdf परिदृश्यों के लिए इसे GroupDocs OCR के साथ संयोजित कर सकते हैं।
पूर्वापेक्षाएँ
शुरू करने से पहले सुनिश्चित करें कि आपके पास निम्नलिखित हैं:
- Java 8+ आपके IDE या बिल्ड टूल में स्थापित और कॉन्फ़िगर किया हुआ।
- Maven डिपेंडेंसी मैनेजमेंट के लिए।
- GroupDocs.Parser लाइसेंस (ट्रायल या फुल) तक पहुंच।
आवश्यक लाइब्रेरी और डिपेंडेंसियां
आपको चाहिए:
- GroupDocs.Parser for Java लाइब्रेरी (संस्करण 25.5 या बाद का)।
- डिपेंडेंसी मैनेजमेंट के लिए आपके सिस्टम पर Maven स्थापित।
पर्यावरण सेटअप
सुनिश्चित करें कि आपका डेवलपमेंट एनवायरनमेंट Java (Java 8 या उससे ऊपर) के संगत संस्करण के साथ सेट है।
ज्ञान पूर्वापेक्षाएँ
Java प्रोग्रामिंग की बुनियादी समझ और Java में फ़ाइलों को संभालने की परिचितता उपयोगी होगी।
Java के लिए GroupDocs.Parser सेट अप करना
GroupDocs.Parser का उपयोग शुरू करने के लिए इसे अपने प्रोजेक्ट में इस प्रकार इंटीग्रेट करें:
Maven सेटअपpom.xml फ़ाइल में निम्न कॉन्फ़िगरेशन जोड़ें ताकि GroupDocs.Parser को डिपेंडेंसी के रूप में शामिल किया जा सके:
<repositories>
<repository>
<id>repository.groupdocs.com</id>
<name>GroupDocs Repository</name>
<url>https://releases.groupdocs.com/parser/java/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-parser</artifactId>
<version>25.5</version>
</dependency>
</dependencies>
डायरेक्ट डाउनलोड
वैकल्पिक रूप से, नवीनतम संस्करण का GroupDocs.Parser for Java GroupDocs releases से डाउनलोड करें।
लाइसेंस प्राप्त करना
एक मुफ्त ट्रायल से शुरू करें, अस्थायी लाइसेंस प्राप्त करें, या पूर्ण लाइसेंस खरीदें। विवरण के लिए GroupDocs licensing page देखें।
बेसिक इनिशियलाइज़ेशन और सेटअप
अपने Java एप्लिकेशन में GroupDocs.Parser को इस प्रकार इनिशियलाइज़ करें:
import com.groupdocs.parser.Parser;
public class DocumentParser {
public static void main(String[] args) {
final String filePath = "YOUR_DOCUMENT_DIRECTORY/SampleInvoicePagesPdf.pdf";
try (Parser parser = new Parser(filePath)) {
// Ready to perform operations on the document
} catch (Exception e) {
System.err.println("Error creating Parser instance: " + e.getMessage());
}
}
}
इम्प्लीमेंटेशन गाइड
आइए प्रत्येक फीचर को देखें जिसे आपको PDF से टेबल कैसे निकालें में महारत हासिल करने के लिए समझना होगा।
फीचर 1: GroupDocs के साथ डॉक्यूमेंट पार्सिंग
सारांश
PDF डॉक्यूमेंट के साथ इंटरैक्ट करने के लिए Parser क्लास का एक इंस्टेंस बनाएं। यह डॉक्यूमेंट पर विभिन्न ऑपरेशन्स को सक्षम करता है।
Parser इंस्टेंस बनाना
import com.groupdocs.parser.Parser;
public class CreateParserInstance {
public static void main(String[] args) {
final String filePath = "YOUR_DOCUMENT_DIRECTORY/SampleInvoicePagesPdf.pdf";
try (Parser parser = new Parser(filePath)) {
// Document is ready for operations
} catch (Exception e) {
System.err.println("Error creating Parser instance: " + e.getMessage());
}
}
}
फीचर 2: टेबल एक्सट्रैक्शन क्षमता जांच
सारांश
टेबल निकालने से पहले यह सत्यापित करें कि PDF टेबल एक्सट्रैक्शन का समर्थन करता है।
टेबल सपोर्ट की जाँच
import com.groupdocs.parser.Parser;
public class CheckTableSupport {
public static void main(String[] args) {
final String filePath = "YOUR_DOCUMENT_DIRECTORY/SampleInvoicePagesPdf.pdf";
try (Parser parser = new Parser(filePath)) {
boolean isTablesSupported = parser.getFeatures().isTables();
if (!isTablesSupported) {
System.out.println("Document doesn't support tables extraction.");
}
} catch (Exception e) {
System.err.println("Error checking table extraction capability: " + e.getMessage());
}
}
}
फीचर 3: टेबल लेआउट कॉन्फ़िगरेशन
सारांश
टेबल के लेआउट को कॉन्फ़िगर करने से डेटा एक्सट्रैक्शन की सटीकता बढ़ सकती है।
टेबल लेआउट सेट अप करना
import com.groupdocs.parser.templates.TemplateTableLayout;
import java.util.Arrays;
public class ConfigureTableLayout {
public static void main(String[] args) {
final double[] columnWidths = {50.0, 95.0, 275.0, 415.0, 485.0, 545.0};
final double[] rowHeights = {325.0, 340.0, 365.0, 395.0};
TemplateTableLayout layout = new TemplateTableLayout(
Arrays.asList(columnWidths),
Arrays.asList(rowHeights));
}
}
फीचर 4: टेबल एक्सट्रैक्शन विकल्प सेटअप
सारांश
विशिष्ट कॉन्फ़िगरेशन्स के साथ टेबल निकालने के विकल्प सेट करें ताकि एक्सट्रैक्शन की सटीकता सुधरे।
एक्सट्रैक्शन विकल्प कॉन्फ़िगर करना
import com.groupdocs.parser.options.PageTableAreaOptions;
import com.groupdocs.parser.templates.TemplateTableLayout;
public class SetExtractionOptions {
public static void main(String[] args) {
TemplateTableLayout layout = new TemplateTableLayout(
Arrays.asList(new Double[]{50.0, 95.0, 275.0, 415.0, 485.0, 545.0}),
Arrays.asList(new Double[]{325.0, 340.0, 365.0, 395.0}));
PageTableAreaOptions options = new PageTableAreaOptions(layout);
}
}
फीचर 5: डॉक्यूमेंट से टेबल निकालना
सारांश
कॉन्फ़िगर किए गए विकल्पों का उपयोग करके टेबल निकालें और आवश्यकतानुसार प्रोसेस करें।
एक्सट्रैक्शन प्रक्रिया
import com.groupdocs.parser.Parser;
import com.groupdocs.parser.options.PageTableAreaOptions;
import com.groupdocs.parser.data.PageTableArea;
public class ExtractTables {
public static void main(String[] args) {
final String filePath = "YOUR_DOCUMENT_DIRECTORY/SampleInvoicePagesPdf.pdf";
PageTableAreaOptions options = new PageTableAreaOptions(/* layout from previous feature */);
try (Parser parser = new Parser(filePath)) {
Iterable<PageTableArea> tables = parser.getTables(options);
for (PageTableArea table : tables) {
// Process each table as needed
}
} catch (Exception e) {
System.err.println("Error extracting tables: " + e.getMessage());
}
}
}
फीचर 6: टेबल रो और कॉलम पर इटरेट करना
सारांश
एक्सट्रैक्शन के बाद, रो और कॉलम पर इटरेट करके व्यक्तिगत सेल्स तक पहुंचें।
सेल्स इटरेट और एक्सेस करना
import com.groupdocs.parser.data.PageTableArea;
import com.groupdocs.parser.data.PageTableAreaCell;
public class IterateTables {
public static void main(String[] args) {
PageTableArea table = /* reference to a specific PageTableArea object */;
for (int row = 0; row < table.getRowCount(); row++) {
for (int column = 0; column < table.getColumnCount(); column++) {
PageTableAreaCell cell = table.getCell(row, column);
if (cell != null) {
// Process the cell text as needed
}
}
}
}
}
सामान्य समस्याएं और समाधान
| समस्या | क्यों होता है | प्रो टिप |
|---|---|---|
| कोई टेबल नहीं मिली | PDF स्कैन किया गया है (इमेज‑आधारित) | पहले OCR चलाएँ या पार्सिंग से पहले GroupDocs OCR उपयोग करें। |
| गलत कॉलम संरेखण | लेआउट कॉर्डिनेट्स गलत हैं | दृश्य ग्रिड से मेल खाने के लिए TemplateTableLayout मानों को फाइन‑ट्यून करें। |
| बड़े PDFs पर मेमोरी स्पाइक्स | Parser पूरे दस्तावेज़ को मेमोरी में लोड करता है | पेजों को बैच में प्रोसेस करें और प्रत्येक बैच के बाद Parser को बंद करें। |
अक्सर पूछे जाने वाले प्रश्न
1. क्या मैं स्कैन किए गए PDFs से टेबल निकाल सकता हूँ या केवल डिजिटल PDFs से?
उत्तर: GroupDocs.Parser मुख्यतः डिजिटल, चयन योग्य PDFs के साथ काम करता है जिनमें एम्बेडेड टेक्स्ट होता है। स्कैन किए गए PDFs के लिए आपको OCR (ऑप्टिकल कैरेक्टर रिकग्निशन) क्षमताओं को इंटीग्रेट करना पड़ेगा। GroupDocs अलग OCR मॉड्यूल प्रदान करता है, या आप अन्य OCR टूल्स का उपयोग करके इमेज को टेक्स्ट में बदल सकते हैं फिर टेबल एक्सट्रैक्शन करें।
2. जटिल लेआउट या मर्ज्ड सेल्स वाली टेबल्स को कैसे हैंडल करूँ?
उत्तर: जटिल लेआउट के लिए आप TemplateTableLayout को विशिष्ट कॉलम और रो कॉर्डिनेट्स के साथ कस्टमाइज़ कर सकते हैं, या रिकग्निशन पैरामीटर्स को समायोजित करके सटीकता बढ़ा सकते हैं। मर्ज्ड सेल्स को संभालने के लिए सेल स्पैन का विश्लेषण करना और पोस्ट‑प्रोसेसिंग लॉजिक लागू करना पड़ सकता है।
3. क्या GroupDocs.Parser बड़े दस्तावेज़ों या बैच प्रोसेसिंग के लिए उपयुक्त है?
उत्तर: हाँ, GroupDocs.Parser बैच प्रोसेसिंग के लिए अनुकूलित है और बड़े दस्तावेज़ों को प्रभावी ढंग से संभाल सकता है। उचित रिसोर्स मैनेजमेंट और टास्क को चंक्स में विभाजित करने से प्रदर्शन और भी बेहतर हो सकता है।
4. क्या मैं निकाली गई टेबल डेटा को CSV या Excel जैसे फॉर्मेट में एक्सपोर्ट कर सकता हूँ?
उत्तर: जबकि GroupDocs.Parser स्वयं एक्सट्रैक्शन पर केंद्रित है, यह कच्चा डेटा (रो और सेल्स) प्रदान करता है। आप इस डेटा को मैन्युअली या Java लाइब्रेरी जैसे Apache POI (Excel के लिए) या OpenCSV (CSV के लिए) का उपयोग करके आसानी से एक्सपोर्ट कर सकते हैं। यही export pdf tables csv उपयोग‑केस का उद्देश्य है।
5. क्या कई पेजों से टेबल निकालना समर्थित है?
उत्तर: हाँ, जब आप parser.getTables() को पेज विकल्पों के साथ उपयोग करते हैं, तो यह कई पेजों पर टेबल निकाल सकता है। आप पेज रेंज निर्दिष्ट कर सकते हैं या सभी पेजों को इटरेटिवली प्रोसेस करके सभी टेबल डेटा इकट्ठा कर सकते हैं।
निष्कर्ष
PDF से टेबल निकालना दस्तावेज़ डेटा प्रोसेसिंग को ऑटोमेट करने का एक आवश्यक कदम है, और Java के लिए GroupDocs.Parser इस कार्य को पहले से कहीं अधिक सरल बनाता है। एक parser इंस्टेंस बनाकर, टेबल सपोर्ट की जाँच करके, लेआउट विकल्प कॉन्फ़िगर करके, और निकाले गए डेटा पर इटरेट करके, डेवलपर्स जटिल PDF दस्तावेज़ों से भी संरचित डेटा को कुशलता से प्राप्त कर सकते हैं। यह टूलकिट इनवॉइस ऑटोमेशन से लेकर बड़े‑पैमाने डेटा एनालिटिक्स तक विभिन्न परिदृश्यों को समर्थन देता है और Java एप्लिकेशनों में सहजता से इंटीग्रेट होता है। थोड़ी सेटअप और कस्टमाइज़ेशन के साथ, आप स्थिर PDFs को सटीक और आसान तरीके से कार्रवाई योग्य डेटा में बदल पाएँगे।
Last Updated: 2026-02-09
Tested With: GroupDocs.Parser 25.5 (Java)
Author: GroupDocs