दस्तावेज़ों से छवियों को निकालें और GroupDocs.Parser Java के साथ संसाधनों को फ़िल्टर करें

दस्तावेज़‑प्रोसेसिंग पाइपलाइन बनाते समय छवियों को निकालना एक सामान्य आवश्यकता है। इस ट्यूटोरियल में आप दस्तावेज़ों से छवियों को निकालने का तरीका GroupDocs.Parser for Java का उपयोग करके सीखेंगे, और साथ ही संसाधनों को फ़िल्टर करने का तरीका भी जानेंगे ताकि केवल आवश्यक फ़ाइलें ही लोड हों। हम लाइब्रेरी सेट‑अप, एक कस्टम ExternalResourceHandler बनाने, और फ़िल्टरिंग लॉजिक लागू करने के चरणों से गुजरेंगे जिससे आपका एप्लिकेशन तेज़ और सुरक्षित रहेगा।

त्वरित उत्तर

  • GroupDocs.Parser क्या करता है? यह विभिन्न दस्तावेज़ फ़ॉर्मेट को पार्स करता है और आपको टेक्स्ट, छवियों और अन्य एम्बेडेड संसाधनों तक पहुँच देता है।
  • क्या मैं अनचाही छवियों को छोड़ सकता हूँ? हाँ—एक कस्टम ExternalResourceHandler लागू करके आप तय कर सकते हैं कि कौन से संसाधन लोड हों।
  • कौन सा Maven संस्करण आवश्यक है? GroupDocs.Parser Java 25.5 या नया उपयोग करें।
  • क्या लाइसेंस चाहिए? मूल्यांकन के लिए मुफ्त ट्रायल काम करता है; उत्पादन के लिए स्थायी लाइसेंस आवश्यक है।
  • क्या यह तरीका थ्रेड‑सेफ़ है? पार्सिंग ऑब्जेक्ट्स को थ्रेड्स के बीच साझा नहीं किया जाता; प्रत्येक थ्रेड के लिए नया Parser इंस्टेंस बनाएँ।

“दस्तावेज़ों से छवियों को निकालना” क्या है?

जब किसी दस्तावेज़ में एम्बेडेड चित्र, चार्ट या अन्य मीडिया होते हैं, तो “दस्तावेज़ों से छवियों को निकालना” का अर्थ है उन बाइनरी फ़ाइलों को प्रोग्रामेटिक रूप से प्राप्त करना ताकि आप उन्हें मूल फ़ाइल के बाहर स्टोर, डिस्प्ले या आगे प्रोसेस कर सकें।

छवियों को निकालते समय संसाधनों को फ़िल्टर क्यों करें?

संसाधनों को फ़िल्टर करने से आपको मदद मिलती है:

  • बड़े या अप्रासंगिक फ़ाइलों को अनदेखा करके मेमोरी उपयोग कम करने में।
  • संभावित असुरक्षित कंटेंट लोड होने से रोककर सुरक्षा बढ़ाने में।
  • बहुत बड़े दस्तावेज़ों में कई एम्बेडेड ऑब्जेक्ट्स होने पर प्रोसेसिंग गति बढ़ाने में।

पूर्वापेक्षाएँ

  • Java Development Kit (JDK) – संस्करण 8 या उससे ऊपर।
  • Maven – डिपेंडेंसी मैनेजमेंट के लिए।
  • Java I/O और एक्सेप्शन हैंडलिंग की बुनियादी समझ।

GroupDocs.Parser for Java सेट‑अप करना

pom.xml में GroupDocs रिपॉज़िटरी और पार्सर डिपेंडेंसी जोड़ें:

<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 से डाउनलोड करें।

लाइसेंस प्राप्त करना

  • फ्री ट्रायल – बिना लागत के कोर फीचर्स का अन्वेषण करें।
  • टेम्पररी लाइसेंस – मूल्यांकन के दौरान पूरी कार्यक्षमता अनलॉक करें।
  • पर्चेज्ड लाइसेंस – व्यावसायिक डिप्लॉयमेंट के लिए आवश्यक।

छवियों को निकालते समय संसाधनों को फ़िल्टर कैसे करें

चरण 1: एक कस्टम हैंडलर बनाएं

एक क्लास परिभाषित करें जो ExternalResourceHandler को एक्सटेंड करे। onLoading मेथड के भीतर आप तय करेंगे कि कौन से संसाधन रखे जाएँ।

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 कॉन्फ़िगर करें

अपना Handler इंस्टेंस 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 मेथड को उसी अनुसार विस्तारित करें:

@Override
public void onLoading(ExternalResourceLoadingArgs args) {
    if (!args.getUri().endsWith("installation.png")) {
        args.setSkipped(true);
    }
}

व्यावहारिक अनुप्रयोग

  1. डॉक्यूमेंट मैनेजमेंट सिस्टम – स्कैन किए गए कॉन्ट्रैक्ट्स से केवल आवश्यक छवियों को निकालकर थंबनेल बनाएं।
  2. डेटा एक्सट्रैक्शन सर्विसेज – सजावटी ग्राफ़िक्स को छोड़ें और उन चार्ट्स पर फोकस करें जिनमें मूल्यवान डेटा हो।
  3. वेब स्क्रैपिंग टूल्स – HTML‑आधारित दस्तावेज़ों से ट्रैकिंग पिक्सेल को फ़िल्टर करके अर्थपूर्ण मीडिया प्राप्त करें।

प्रदर्शन संबंधी विचार

  • जल्दी फ़िल्टर करें: अनावश्यक डेटा को मेमोरी में लोड होने से बचाने के लिए कस्टम हैंडलर को रिसोर्स इटरशन से पहले लागू करें।
  • तुरंत डिस्पोज़ करें: try‑with‑resources (try (Parser parser = …)) का उपयोग करके नेटिव रिसोर्सेज़ को फ्री करें।
  • ऐसिंक्रोनस प्रोसेसिंग: बड़े बैच के लिए डॉक्यूमेंट्स को पैरालल स्ट्रीम्स में प्रोसेस करें, जबकि प्रत्येक Parser इंस्टेंस को एक ही थ्रेड तक सीमित रखें।

सामान्य समस्याएँ और समाधान

समस्याकारणसमाधान
कोई छवि नहीं मिलीहैंडलर अनजाने में सभी रिसोर्सेज़ को स्किप कर रहा हैif कंडीशन की जाँच करें और सुनिश्चित करें कि args.setSkipped(true) केवल अनचाहे URI के लिए ही कॉल हो रहा है।
बड़े फ़ाइलों पर IOExceptionहिप मेमोरी अपर्याप्तJVM हिप बढ़ाएँ (-Xmx2g) या पेजेज़ को छोटे चंक्स में प्रोसेस करें।
लाइसेंस पहचान नहीं रहाप्रोडक्शन कोड में ट्रायल DLL का उपयोगसही लाइसेंस फ़ाइल पाथ License.setLicense("path/to/license") के माध्यम से सेट करें।

अक्सर पूछे जाने वाले प्रश्न

प्रश्न: कस्टम ExternalResourceHandler का मुख्य उद्देश्य क्या है?
उत्तर: यह आपको यह नियंत्रित करने देता है कि कौन से एक्सटर्नल रिसोर्सेज़ लोड हों, जिससे अनावश्यक फ़ाइलों को फ़िल्टर करके सुरक्षा और प्रदर्शन दोनों में सुधार होता है।

प्रश्न: क्या मैं GroupDocs.Parser for Java को बिना लाइसेंस के उपयोग कर सकता हूँ?
उत्तर: हाँ, एक फ्री ट्रायल उपलब्ध है, लेकिन कुछ उन्नत फीचर्स केवल टेम्पररी या पर्चेज्ड लाइसेंस मिलने पर ही उपलब्ध होते हैं।

प्रश्न: GroupDocs.Parser के साथ पार्सिंग के दौरान एक्सेप्शन कैसे हैंडल करें?
उत्तर: IOException और अन्य विशिष्ट एक्सेप्शन के लिए try‑catch ब्लॉक्स में पार्सिंग कॉल्स को रैप करें ताकि त्रुटियों को सुगमता से संभाला जा सके।

प्रश्न: रिसोर्स फ़िल्टरिंग में आम pitfalls क्या हैं?
उत्तर: गलत URI चेक्स आवश्यक फ़ाइलों को स्किप कर सकते हैं; अपनी कंडीशन को वैरिफ़ाई करने के लिए लॉगिंग या ब्रेकपॉइंट्स का उपयोग करें।

प्रश्न: क्या GroupDocs.Parser for Java का उपयोग नॉन‑HTML दस्तावेज़ों के लिए भी किया जा सकता है?
उत्तर: बिल्कुल—GroupDocs.Parser PDFs, Word, Excel, PowerPoint और कई अन्य फ़ॉर्मेट्स को सपोर्ट करता है।

अगले कदम

लाइब्रेरी को और गहराई से एक्सप्लोर करने के लिए API Reference देखें या ParserSettings.setDetectTables(true) जैसी अतिरिक्त सेटिंग्स के साथ प्रयोग करें ताकि टेबल एक्सट्रैक्शन भी संभव हो सके।


अंतिम अपडेट: 2025-12-29
टेस्टेड विद: GroupDocs.Parser 25.5 for Java
लेखक: GroupDocs

संसाधन