GroupDocs.Viewer for Java का उपयोग करके docx से टेक्स्ट निकालें
क्या आप प्रोग्रामेटिक रूप से docx से टेक्स्ट निकालने की तलाश में हैं? चाहे आपको पेज नंबर निकालने हों, प्रत्येक टेक्स्ट लाइन को कैप्चर करना हो, या सर्चेबल इंडेक्स बनाना हो, इसे मैन्युअली करना समय‑साध्य और त्रुटिप्रवण हो सकता है। GroupDocs.Viewer for Java प्रक्रिया को सरल बनाता है, उच्च‑प्रदर्शन API प्रदान करके जो दस्तावेज़ की संरचना पढ़ते हैं और साफ़ टेक्स्ट डेटा लौटाते हैं।
इस ट्यूटोरियल में आप सीखेंगे कि GroupDocs.Viewer कैसे सेटअप करें, पेज मेटाडाटा निकालें, और DOCX फ़ाइल से प्रत्येक टेक्स्ट लाइन निकालें। अंत तक, आपके पास एक तैयार‑से‑उपयोग समाधान होगा जिसे आप किसी भी Java‑आधारित बैकएंड में इंटीग्रेट कर सकते हैं।

त्वरित उत्तर
- “extract text from docx” का क्या अर्थ है? इसका मतलब है प्रोग्रामेटिक रूप से DOCX फ़ाइल पढ़ना और उसकी प्लेन‑टेक्स्ट सामग्री लाइन दर लाइन प्राप्त करना।
- कौन सी लाइब्रेरी इसे संभालती है? GroupDocs.Viewer for Java
Viewerक्लास और संबंधित API प्रदान करता है। - क्या मुझे लाइसेंस चाहिए? मूल्यांकन के लिए फ्री ट्रायल काम करता है; प्रोडक्शन के लिए पेड लाइसेंस आवश्यक है।
- कौन सा Java संस्करण आवश्यक है? Maven के साथ संगत कोई भी JDK 8 +।
- क्या मैं बड़े बैच प्रोसेस कर सकता हूँ? हाँ—
Viewerइंस्टेंसेज़ को पुनः उपयोग करके और पेजों को स्ट्रीम में हैंडल करके।
“extract text from docx” क्या है?
DOCX फ़ाइल से टेक्स्ट निकालना मतलब दस्तावेज़ की आंतरिक XML संरचना पढ़ना और फ़ॉर्मेटिंग के बिना मानव‑पठनीय टेक्स्ट लौटाना। यह इंडेक्सिंग, सर्चिंग, या कंटेंट को डाउनस्ट्रीम एनालिटिक्स पाइपलाइन में फीड करने के लिए उपयोगी है।
GroupDocs.Viewer for Java का उपयोग क्यों करें?
- सटीकता: जटिल लेआउट, टेबल और मल्टी‑कॉलम दस्तावेज़ों को संभालता है।
- गति: ऑप्टिमाइज़्ड रेंडरिंग इंजन जो बड़े फ़ाइलों पर भी तेज़ काम करता है।
- क्रॉस‑फ़ॉर्मेट समर्थन: वही API PDF, PPTX, XLSX आदि के लिए भी काम करता है, इसलिए आप कोड को पुनः उपयोग कर सकते हैं।
- कोई बाहरी डिपेंडेंसी नहीं: शुद्ध Java, कोई नेटिव लाइब्रेरी आवश्यक नहीं।
पूर्वापेक्षाएँ
- Java Development Kit (JDK) 8 या उससे नया।
- डिपेंडेंसी मैनेजमेंट के लिए Maven स्थापित।
- एक DOCX फ़ाइल जिसे आप विश्लेषण करना चाहते हैं (इसे ज्ञात फ़ोल्डर में रखें)।
GroupDocs.Viewer for Java सेटअप करना
Add the GroupDocs repository and dependency to your pom.xml:
<repositories>
<repository>
<id>repository.groupdocs.com</id>
<name>GroupDocs Repository</name>
<url>https://releases.groupdocs.com/viewer/java/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-viewer</artifactId>
<version>25.2</version>
</dependency>
</dependencies>
लाइसेंस प्राप्त करने के चरण
- Free Trial: डाउनलोड पेज से फ्री ट्रायल डाउनलोड करें: GroupDocs downloads page।
- Temporary License: विस्तारित परीक्षण के लिए अस्थायी लाइसेंस प्राप्त करें: temporary license page।
- Purchase: पूर्ण एक्सेस और सपोर्ट के लिए लाइसेंस खरीदें: GroupDocs purchase portal।
बुनियादी इनिशियलाइज़ेशन
- आवश्यक क्लासेस इम्पोर्ट करें।
- अपने DOCX फ़ाइल की ओर इशारा करने वाला
Viewerइंस्टेंस बनाएं। - पेज‑लेवल जानकारी (मेटाडाटा और टेक्स्ट लाइन्स) के लिए
ViewInfoOptions.forPngView(true)का उपयोग करें।
docx से टेक्स्ट निकालने का चरण‑दर‑चरण गाइड
1. पेज मेटाडाटा निकालना
जब आपको नेविगेशन स्ट्रक्चर बनाना हो या विशिष्ट सेक्शन का रेफ़रेंस चाहिए हो, तो पेज नंबर जैसे मेटाडाटा आवश्यक होते हैं।
try (Viewer viewer = new Viewer("YOUR_DOCUMENT_DIRECTORY/SAMPLE_DOCX")) {
ViewInfoOptions viewInfoOptions = ViewInfoOptions.forPngView(true);
ViewInfo viewInfo = viewer.getViewInfo(viewInfoOptions);
for (Page page : viewInfo.getPages()) {
int pageNumber = page.getNumber();
System.out.println("Page: " + pageNumber); // Outputs the page number
}
}
ViewInfoOptions.forPngView(true): PNG रेंडरिंग तैयार करते समय API को पेज जानकारी एकत्र करने का निर्देश देता है।viewInfo.getPages(): एक कलेक्शन लौटाता है जहाँ प्रत्येकPageऑब्जेक्ट अपना नंबर और अन्य मेटाडाटा रखता है।
Pro tip: Viewer को try‑with‑resources ब्लॉक के अंदर डिस्पोज़ करें ताकि नेटिव रिसोर्सेज़ स्वचालित रूप से मुक्त हो जाएँ।
2. पेजों से टेक्स्ट लाइन्स निकालना
अब जब आप प्रत्येक पेज की पहचान कर सकते हैं, चलिए वास्तविक टेक्स्ट लाइन्स निकालते हैं।
try (Viewer viewer = new Viewer("YOUR_DOCUMENT_DIRECTORY/SAMPLE_DOCX")) {
ViewInfoOptions viewInfoOptions = ViewInfoOptions.forPngView(true);
ViewInfo viewInfo = viewer.getViewInfo(viewInfoOptions);
for (Page page : viewInfo.getPages()) {
System.out.println("Page: " + page.getNumber());
System.out.println("Text lines:");
for (Line line : page.getLines()) {
String lineText = line.getValue();
System.out.print(lineText + "\t");
}
}
}
page.getLines():Lineऑब्जेक्ट्स की एक सूची लौटाता है, जहाँ प्रत्येक पेज पर दिखाई देने वाली एकल टेक्स्ट लाइन का प्रतिनिधित्व करता है।- अंदर का लूप प्रत्येक लाइन को टैब द्वारा अलग करके प्रिंट करता है, जिससे पढ़ने में आसानी होती है।
सामान्य समस्याएँ और समाधान
| लक्षण | संभावित कारण | समाधान |
|---|---|---|
null पेज नंबर | दस्तावेज़ सही ढंग से लोड नहीं हुआ | फ़ाइल पथ की जाँच करें और सुनिश्चित करें कि फ़ाइल मौजूद है। |
| कोई टेक्स्ट लाइन्स नहीं मिलीं | असमर्थित फ़ाइल फ़ॉर्मेट | जाँचें कि DOCX संस्करण समर्थित है; आवश्यक होने पर GroupDocs को अपग्रेड करें। |
OutOfMemoryError बड़े फ़ाइलों पर | Viewer मेमोरी में बहुत सारे पेज रख रहा है | पेजों को छोटे बैचों में प्रोसेस करें या वही Viewer इंस्टेंस पुनः उपयोग करें। |
व्यावहारिक अनुप्रयोग
- Search Engine Indexing: निकाले गए टेक्स्ट के साथ पेज नंबर स्टोर करें ताकि सटीक स्निपेट रिट्रीवल संभव हो।
- Legal Document Review: स्वचालित क्लॉज़ डिटेक्शन या रेडैक्शन वर्कफ़्लो के लिए प्रत्येक लाइन निकालें।
- Content Migration: लेगेसी DOCX कंटेंट को CMS में माइग्रेट करें जबकि संरचना बनी रहे।
- Reporting Dashboards: हेडिंग्स और बुलेट पॉइंट्स निकालकर प्रमुख सेक्शन का सारांश बनाएं।
प्रदर्शन संबंधी विचार
- Dispose Properly: हमेशा
Viewerको बंद करें (try‑with‑resources का उपयोग करें)। - Batch Processing: कई दस्तावेज़ों को हैंडल करते समय प्रति थ्रेड एक ही
Viewerइंस्टेंस पुनः उपयोग करें ताकि ओवरहेड कम हो। - Render Options: यदि आपको केवल टेक्स्ट चाहिए, तो PNG रेंडरिंग को स्किप करके
ViewInfoOptions.forTextView()(यहाँ नहीं दिखाया गया) का उपयोग करें, जिससे प्रोसेसिंग समय घटेगा।
निष्कर्ष
आप अब जानते हैं कि docx से टेक्स्ट निकालें GroupDocs.Viewer for Java का उपयोग करके कैसे किया जाता है, पेज नंबर कैसे प्राप्त करें, और प्रत्येक टेक्स्ट लाइन पर इटररेट करें। ये बिल्डिंग ब्लॉक्स आपको तेज़, विश्वसनीय और आसान मेंटेन करने योग्य दस्तावेज़‑प्रोसेसिंग पाइपलाइन बनाने में मदद करेंगे।
अगले कदम
- उसी API का उपयोग करके अन्य फ़ॉर्मेट (PDF, PPTX) के साथ प्रयोग करें।
- निकाले गए टेक्स्ट को Elasticsearch जैसे फुल‑टेक्स्ट सर्च इंजन के साथ संयोजित करें।
- यदि आपको विज़ुअल प्रीव्यू भी चाहिए तो रेंडर की गई इमेजेज़ के लिए स्टाइलिंग विकल्पों का अन्वेषण करें।
अक्सर पूछे जाने वाले प्रश्न
Q: GroupDocs.Viewer कौन से फ़ाइल फ़ॉर्मेट सपोर्ट करता है?
A: यह कई फ़ॉर्मेट सपोर्ट करता है, जिसमें DOCX, PDF, XLSX, PPTX और कई अन्य शामिल हैं।
Q: क्या मैं लाइन्स निकालते समय आउटपुट फ़ॉर्मेट कस्टमाइज़ कर सकता हूँ?
A: हाँ, ViewInfoOptions को कॉन्फ़िगर करके (जैसे forTextView() शुद्ध टेक्स्ट के लिए) कस्टमाइज़ कर सकते हैं।
Q: प्रोसेस किए जा सकने वाले पेजों की संख्या पर कोई सीमा है?
A: कोई हार्ड लिमिट नहीं है, लेकिन बहुत बड़े दस्तावेज़ों को मेमोरी‑इफ़िशिएंट रहने के लिए बैच प्रोसेसिंग की आवश्यकता हो सकती है।
Q: GroupDocs.Viewer में एक्सेप्शन कैसे हैंडल करें?
A: अपने Viewer कोड को try‑catch ब्लॉक में रैप करें और आवश्यकतानुसार ViewerException या सामान्य IOException को हैंडल करें।
Q: क्या यह टूल अन्य Java फ्रेमवर्क्स के साथ इंटीग्रेट हो सकता है?
A: बिल्कुल! यह Spring, Hibernate, Jakarta EE आदि के साथ सहजता से काम करता है।
संसाधन
- GroupDocs दस्तावेज़ीकरण
- API संदर्भ
- GroupDocs.Viewer डाउनलोड करें
- लाइसेंस खरीदें
- फ्री ट्रायल डाउनलोड
- अस्थायी लाइसेंस अनुरोध
अंतिम अपडेट: 2026-04-13
परीक्षित संस्करण: GroupDocs.Viewer for Java 25.2
लेखक: GroupDocs