Java दस्तावेज़ पार्सिंग: GroupDocs.Parser के साथ दस्तावेज़ों से छवियों को निकालें
इस व्यापक गाइड में आप java document parsing तकनीकों को सीखेंगे जो विभिन्न फ़ाइल प्रकारों से छवियों को निकालने के लिए GroupDocs.Parser for Java का उपयोग करती हैं। हम लाइब्रेरी सेटअप, एक कस्टम ExternalResourceHandler बनाने, और स्मार्ट फ़िल्टरिंग लागू करने के चरणों से गुजरेंगे ताकि आप केवल वही संसाधन लोड करें जो आपको वास्तव में चाहिए—जिससे आप reduce memory usage कर सकते हैं और प्रोसेसिंग गति बढ़ा सकते हैं।
त्वरित उत्तर
- GroupDocs.Parser क्या करता है? यह 50 से अधिक फ़ाइल फ़ॉर्मेट को पार्स करता है, टेक्स्ट, छवियों और अन्य एम्बेडेड संसाधनों को प्रोग्रामेटिक उपयोग के लिए उजागर करता है।
- क्या मैं अनचाही छवियों को छोड़ सकता हूँ? हाँ—रिसोर्सेज़ को ऑन‑द‑फ़्लाई फ़िल्टर करने के लिए एक कस्टम
ExternalResourceHandlerलागू करें। - कौन सा Maven संस्करण आवश्यक है? GroupDocs.Parser Java 25.5 या उससे नया उपयोग करें।
- क्या मुझे लाइसेंस चाहिए? मूल्यांकन के लिए एक मुफ्त ट्रायल काम करता है; उत्पादन के लिए एक स्थायी लाइसेंस आवश्यक है।
- क्या यह तरीका थ्रेड‑सेफ़ है? प्रत्येक थ्रेड के लिए एक अलग
Parserइंस्टेंस बनाएं; ऑब्जेक्ट्स साझा नहीं होते।
दस्तावेज़ों से छवियों को निकालना क्या है?
दस्तावेज़ों से छवियों को निकालना का अर्थ है प्रोग्रामेटिक रूप से एम्बेडेड चित्र फ़ाइलों को प्राप्त करना ताकि आप उन्हें मूल फ़ाइल के बाहर संग्रहीत, प्रदर्शित या आगे प्रोसेस कर सकें। यह ऑपरेशन तब आवश्यक होता है जब आपको थंबनेल, डेटा विज़ुअलाइज़ेशन चाहिए, या पूरे स्रोत दस्तावेज़ को रखे बिना मीडिया एसेट्स को पुनः उपयोग करना हो।
छवियों को निकालते समय संसाधनों को फ़िल्टर क्यों करें?
छवियों को निकालते समय संसाधनों को फ़िल्टर करने से आप बड़े फ़ाइलों को प्रोसेस करते समय memory usage को 70 % तक कम कर सकते हैं, क्योंकि अनचाहे बाइनरी कभी JVM हीप में नहीं आते। यह संभावित असुरक्षित सामग्री को लोड होने से रोककर सुरक्षा भी बढ़ाता है, और पाइपलाइन को तेज़ करता है—सैकड़ों सजावटी ग्राफ़िक्स वाले बड़े कॉन्ट्रैक्ट्स को मूल समय के एक अंश में पार्स किया जा सकता है।
पूर्वापेक्षाएँ
- Java Development Kit (JDK) – संस्करण 8 या उससे ऊपर।
- Maven – निर्भरता प्रबंधन के लिए।
- Java I/O और एक्सेप्शन हैंडलिंग की बुनियादी परिचितता।
GroupDocs.Parser को Java के लिए सेटअप करना
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 releases से।
लाइसेंस प्राप्ति
- Free Trial – बिना लागत के कोर फीचर्स का अन्वेषण करें।
- Temporary License – मूल्यांकन के दौरान पूरी कार्यक्षमता अनलॉक करें।
- Purchased License – व्यावसायिक तैनाती के लिए आवश्यक है।
छवियों को निकालते समय संसाधनों को कैसे फ़िल्टर करें
संसाधनों को फ़िल्टर करने के लिए, एक ExternalResourceHandler लागू करें जो तय करता है कि कौन सी एम्बेडेड फ़ाइलें लोड होंगी। इस हैंडलर को ParserSettings में दस्तावेज़ खोलने से पहले रजिस्टर करें, फिर पार्सर को कॉल करें। हैंडलर प्रत्येक संसाधन की मेटाडेटा प्राप्त करता है, जिससे आप प्रकार, आकार, या नाम जैसे मानदंडों के आधार पर उसे स्वीकार या अस्वीकार कर सकते हैं, यह सुनिश्चित करते हुए कि केवल आवश्यक छवियों को प्रोसेस किया जाए।
चरण 1: एक कस्टम हैंडलर बनाएं
ExternalResourceHandler एक इंटरफ़ेस है जो आपको यह तय करने देता है कि कोई विशिष्ट बाहरी संसाधन—जैसे एक छवि—लोड किया जाना चाहिए या नहीं। onLoading मेथड को लागू करें और उन संसाधनों के लिए true लौटाएँ जिन्हें आप रखना चाहते हैं, उन्हें छोड़ने के लिए false। onLoading मेथड संसाधन की मेटाडेटा प्राप्त करता है और लोड करने के लिए true या छोड़ने के लिए false लौटाना चाहिए।
import com.groupdocs.parser.options.ExternalResourceHandler;
import com.groupdocs.parser.data.ExternalResourceLoadingArgs;
class Handler extends ExternalResourceHandler {
@Override
public void onLoading(ExternalResourceLoadingArgs args) {
if (!args.getUri().endsWith("installation.png")) {
args.setSkipped(true);
}
super.onLoading(args);
}
}
चरण 2: हैंडलर के साथ ParserSettings को कॉन्फ़िगर करें
ParserSettings एक कॉन्फ़िगरेशन क्लास है जो कस्टम हैंडलर्स, डिटेक्शन सेटिंग्स, और पार्सर के प्रदर्शन ट्यूनिंग जैसे विकल्प रखती है। दस्तावेज़ खोलने से पहले अपने हैंडलर इंस्टेंस को ParserSettings में पास करें।
import com.groupdocs.parser.Parser;
import com.groupdocs.parser.data.PageImageArea;
import com.groupdocs.parser.exceptions.IOException;
import com.groupdocs.parser.options.ParserSettings;
public class LoadExternalResources {
public static void run() throws IOException {
ParserSettings settings = new ParserSettings(new Handler());
try (Parser parser = new Parser("YOUR_DOCUMENT_DIRECTORY", settings)) {
Iterable<PageImageArea> images = parser.getImages();
for (PageImageArea image : images) {
System.out.println(image.getFileType());
}
}
}
}
चरण 3: फ़िल्टरिंग लॉजिक को फाइन‑ट्यून करें
यदि आपको अधिक परिष्कृत नियमों की आवश्यकता है—जैसे छवि आकार, फ़ॉर्मेट, या URI पैटर्न के आधार पर फ़िल्टरिंग—तो onLoading मेथड को उसी अनुसार विस्तारित करें। उदाहरण के लिए, आप 2 MB से बड़ी किसी भी छवि को छोड़ सकते हैं या सभी PNG फ़ाइलों को अनदेखा कर सकते हैं।
@Override
public void onLoading(ExternalResourceLoadingArgs args) {
if (!args.getUri().endsWith("installation.png")) {
args.setSkipped(true);
}
}
व्यावहारिक अनुप्रयोग
- Document Management Systems – स्कैन किए गए कॉन्ट्रैक्ट्स से केवल आवश्यक छवियों को खींचें ताकि थंबनेल बन सकें।
- Data Extraction Services – सजावटी ग्राफ़िक्स को छोड़ें और उन चार्ट्स पर ध्यान दें जिनमें मूल्यवान डेटा हो।
- Web Scraping Tools – HTML‑आधारित दस्तावेज़ों से सार्थक मीडिया प्राप्त करते समय ट्रैकिंग पिक्सेल को फ़िल्टर करें।
प्रदर्शन संबंधी विचार
Parser वह मुख्य क्लास है जो दस्तावेज़ खोलता है और उसकी सामग्री तक पहुंच प्रदान करता है।
- पहले फ़िल्टर करें: संसाधनों पर इटरेट करने से पहले अपना कस्टम हैंडलर लागू करें ताकि अनचाहा डेटा मेमोरी में लोड न हो।
- त्वरित डिस्पोज़ करें: नेटीव रिसोर्सेज़ को मुक्त करने के लिए try‑with‑resources (
try (Parser parser = …)) का उपयोग करें। - ऐसिंक्रोनस प्रोसेसिंग: बड़े बैच के लिए, दस्तावेज़ों को पैरलल स्ट्रीम्स में प्रोसेस करें जबकि प्रत्येक
Parserइंस्टेंस को एक ही थ्रेड तक सीमित रखें।
सामान्य समस्याएँ और समाधान
| समस्या | क्यों होता है | समाधान |
|---|---|---|
| कोई छवि नहीं मिली | हैंडलर अनजाने में सभी संसाधनों को स्किप कर देता है | if शर्त की जाँच करें और सुनिश्चित करें कि args.setSkipped(true) केवल अनचाहे URIs के लिए ही कॉल किया गया है। |
बड़ी फ़ाइलों पर IOException | हीप मेमोरी अपर्याप्त | JVM हीप बढ़ाएँ (-Xmx2g) या पेज़ को छोटे हिस्सों में प्रोसेस करें। |
| लाइसेंस पहचाना नहीं गया | प्रोडक्शन कोड में ट्रायल DLL का उपयोग | License.setLicense("path/to/license") के माध्यम से सही लाइसेंस फ़ाइल पाथ लागू करें। |
अक्सर पूछे जाने वाले प्रश्न
Q: कस्टम ExternalResourceHandler का मुख्य उद्देश्य क्या है?
A: यह आपको यह नियंत्रित करने देता है कि कौन से बाहरी संसाधन लोड किए जाएँ, अनावश्यक फ़ाइलों को फ़िल्टर करके सुरक्षा और प्रदर्शन को बढ़ाता है।
Q: क्या मैं GroupDocs.Parser for Java को बिना लाइसेंस के उपयोग कर सकता हूँ?
A: हाँ, एक मुफ्त ट्रायल उपलब्ध है, लेकिन उन्नत फीचर्स और बड़े‑पैमाने पर तैनाती के लिए वैध लाइसेंस आवश्यक है।
Q: GroupDocs.Parser के साथ पार्सिंग के दौरान अपवादों को कैसे संभालें?
A: IOException और अन्य विशिष्ट अपवादों के लिए try‑catch ब्लॉक्स में पार्सिंग कॉल को रैप करें ताकि त्रुटियों को सुगमता से संभाला जा सके।
Q: संसाधनों को फ़िल्टर करते समय सामान्य pitfalls क्या हैं?
A: गलत URI जाँचें आवश्यक फ़ाइलों को स्किप कर सकती हैं; अपनी शर्तों की पुष्टि के लिए लॉगिंग या ब्रेकपॉइंट्स का उपयोग करें।
Q: क्या GroupDocs.Parser for Java का उपयोग करके non‑HTML दस्तावेज़ों को पार्स करना संभव है?
A: बिल्कुल—GroupDocs.Parser PDFs, Word, Excel, PowerPoint, और कई अन्य फ़ॉर्मेट्स को सपोर्ट करता है।
अगले कदम
अतिरिक्त सेटिंग्स जैसे ParserSettings.setDetectTables(true) के साथ टेबल निकालने या फ़ॉन्ट एक्सट्रैक्शन के लिए ParserSettings.setExtractEmbeddedFonts(true) के साथ प्रयोग करने के लिए पूर्ण API Reference देखें।
अंतिम अपडेट: 2026-06-22
परीक्षित संस्करण: GroupDocs.Parser 25.5 for Java
लेखक: GroupDocs
संसाधन
- दस्तावेज़ीकरण: GroupDocs.Parser Documentation
- API संदर्भ: API Details
- डाउनलोड: Latest Versions