खोजें और सभी पाठ प्राप्त करें

परिचय

क्या आपको कभी PDF से कोई खास टेक्स्ट निकालने की ज़रूरत पड़ी है, लेकिन यह मुश्किल रहा है? PDF कभी-कभी लॉक किए गए कंटेनर की तरह महसूस हो सकते हैं, जिससे आपको ज़रूरी जानकारी मिलना मुश्किल हो जाता है। लेकिन यहाँ अच्छी खबर है: .NET के लिए Aspose.PDF के साथ, आप किसी भी PDF से टेक्स्ट आसानी से खोज और प्राप्त कर सकते हैं। यह शक्तिशाली लाइब्रेरी आपके .NET अनुप्रयोगों में PDF के साथ काम करने के लिए आवश्यक सभी चीज़ें प्रदान करती है, जिससे टेक्स्ट निकालना आसान हो जाता है। इस ट्यूटोरियल में, हम आपको .NET के लिए Aspose.PDF का उपयोग करके PDF फ़ाइल से टेक्स्ट खोजने और निकालने की प्रक्रिया से अवगत कराएँगे। चाहे आप कोई टेक्स्ट एनालिसिस टूल बना रहे हों या PDF रिपोर्ट से डेटा एक्सट्रैक्शन को ऑटोमेट करना चाहते हों, आप सही जगह पर हैं!

आवश्यक शर्तें

कोड में जाने से पहले, आइए सुनिश्चित करें कि आपने सब कुछ सेट कर लिया है:

  1. .NET के लिए Aspose.PDF: आपको .NET के लिए Aspose.PDF डाउनलोड और इंस्टॉल करना होगा। आप इसे डाउनलोड पेज से प्राप्त कर सकते हैंयहाँ.
  2. .NET वातावरण: सुनिश्चित करें कि आपके विकास मशीन पर .NET फ्रेमवर्क या .NET कोर स्थापित है।
  3. बुनियादी C## ज्ञान: C# से कुछ परिचित होना और .NET परियोजनाओं के साथ काम करना अनुशंसित है।
  4. पीडीएफ दस्तावेज़: एक नमूना पीडीएफ फ़ाइल जिसमें से हम पाठ निकालेंगे। इस उदाहरण में, हम उपयोग करेंगेSearchAndGetTextFromAll.pdf.

पैकेज आयात करें

कोई भी कोड लिखने से पहले, आपको Aspose.PDF के साथ काम करने के लिए आवश्यक नेमस्पेस को अपने प्रोजेक्ट में आयात करना होगा।

using System.IO;
using Aspose.Pdf;
using Aspose.Pdf.Text;
using System;

ये नामस्थान पीडीएफ के दस्तावेज़ ऑब्जेक्ट मॉडल तक पहुंच प्रदान करते हैं और हमें फ़ाइल के भीतर पाठ में हेरफेर करने की अनुमति देते हैं।

आइये इस प्रक्रिया को सरल चरणों में विभाजित करें ताकि आप आसानी से उसका अनुसरण कर सकें।

चरण 1: दस्तावेज़ निर्देशिका सेट करें

सबसे पहले, आपको उस निर्देशिका का पथ निर्दिष्ट करना होगा जहाँ आपका PDF स्थित है। इससे एप्लिकेशन को उस फ़ाइल का पता लगाने में मदद मिलती है जिससे आप टेक्स्ट निकालेंगे।

// दस्तावेज़ निर्देशिका का पथ.
string dataDir = "YOUR DOCUMENT DIRECTORY";
  • dataDir चर को उस निर्देशिका की ओर इंगित करना चाहिए जहां आपकाSearchAndGetTextFromAll.pdf फ़ाइल संग्रहीत है.
  • प्रतिस्थापित करें"YOUR DOCUMENT DIRECTORY" आपके मशीन पर वास्तविक पथ के साथ.

चरण 2: पीडीएफ दस्तावेज़ खोलें

इसके बाद, हम Aspose.PDF का उपयोग करके PDF दस्तावेज़ खोलेंगेDocument वस्तु।

// दस्तावेज़ खोलें
Document pdfDocument = new Document(dataDir + "SearchAndGetTextFromAll.pdf");
  • हम इसका एक नया उदाहरण बनाते हैंDocument पीडीएफ का पूरा फ़ाइल पथ पास करके क्लास में कॉपी करें।
  • इससे पीडीएफ मेमोरी में लोड हो जाएगा और प्रसंस्करण के लिए तैयार हो जाएगा।

चरण 3: टेक्स्ट अवशोषक बनाएँ

TextFragmentAbsorber ऑब्जेक्ट का उपयोग पीडीएफ के भीतर विशिष्ट पाठ की खोज करने के लिए किया जाता है। इस मामले में, हम “टेक्स्ट” शब्द की तलाश करेंगे।

// इनपुट खोज वाक्यांश के सभी उदाहरण खोजने के लिए TextAbsorber ऑब्जेक्ट बनाएँ
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("text");
  • TextFragmentAbsorber स्ट्रिंग के साथ आरंभ किया गया है"text"इसका मतलब यह है कि यह पीडीएफ दस्तावेज़ में “टेक्स्ट” शब्द की किसी भी उपस्थिति की तलाश करेगा।

चरण 4: सभी पृष्ठों के लिए अवशोषक स्वीकार करें

अब, हम पीडीएफ दस्तावेज़ को अवशोषक को स्वीकार करने और उसके सभी पृष्ठों पर पाठ की खोज करने का निर्देश देंगे।

// सभी पृष्ठों के लिए अवशोषक स्वीकार करें
pdfDocument.Pages.Accept(textFragmentAbsorber);
  • Accept विधि दस्तावेज़ के पृष्ठों पर लागू होती है। यह निर्दिष्ट पाठ के लिए सभी पृष्ठों की खोज करेगा।

चरण 5: पाठ अंश निकालें

एक बार अवशोषक ने दस्तावेज़ को स्कैन कर लिया, तो हम निकाले गए पाठ अंशों को पुनः प्राप्त कर सकते हैं।

// निकाले गए पाठ अंश प्राप्त करें
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.TextFragments;
  • TextFragments की संपत्तिTextFragmentAbsorber खोज शब्द से मेल खाने वाले सभी पाठ अंशों का संग्रह लौटाता है.

चरण 6: पाठ अंशों के माध्यम से लूप करें

अब जबकि हमारे पास पाठ अंशों का संग्रह है, हम उनमें से लूप बनाकर विवरण निकालेंगे।

// टुकड़ों के माध्यम से लूप
foreach (TextFragment textFragment in textFragmentCollection)
{
    Console.WriteLine("Text : {0} ", textFragment.Text);
    Console.WriteLine("Position : {0} ", textFragment.Position);
    Console.WriteLine("XIndent : {0} ", textFragment.Position.XIndent);
    Console.WriteLine("YIndent : {0} ", textFragment.Position.YIndent);
    Console.WriteLine("Font - Name : {0}", textFragment.TextState.Font.FontName);
    Console.WriteLine("Font - IsAccessible : {0} ", textFragment.TextState.Font.IsAccessible);
    Console.WriteLine("Font - IsEmbedded : {0} ", textFragment.TextState.Font.IsEmbedded);
    Console.WriteLine("Font - IsSubset : {0} ", textFragment.TextState.Font.IsSubset);
    Console.WriteLine("Font Size : {0} ", textFragment.TextState.FontSize);
    Console.WriteLine("Foreground Color : {0} ", textFragment.TextState.ForegroundColor);
}
  • foreach लूप प्रत्येक के माध्यम से पुनरावृत्त होता हैTextFragment संग्रह में.
  • हम प्रत्येक खंड के विभिन्न गुणों को प्रिंट करते हैं, जैसे वास्तविक पाठ, पृष्ठ पर उसकी स्थिति, फ़ॉन्ट विवरण और फ़ॉन्ट आकार।
  • XIndent औरYIndent गुण पीडीएफ के भीतर पाठ खंड के सटीक निर्देशांक देते हैं।

निष्कर्ष

और अब यह हो गया! कोड की कुछ ही पंक्तियों के साथ, हमने .NET के लिए Aspose.PDF का उपयोग करके PDF से सफलतापूर्वक टेक्स्ट खोजा और निकाला है। Aspose.PDF की लचीलापन आपको PDF को कई तरीकों से हेरफेर करने की अनुमति देता है, जिससे यह .NET वातावरण में मजबूत PDF समाधान की आवश्यकता वाले डेवलपर्स के लिए एक उत्कृष्ट विकल्प बन जाता है। आप आसानी से इस उदाहरण को अन्य शब्दों की खोज करने, अधिक विवरण निकालने या अपनी आवश्यकताओं के आधार पर PDF सामग्री में हेरफेर करने के लिए विस्तारित कर सकते हैं। उम्मीद है, इस गाइड ने आपको PDF के साथ काम करने का एक स्पष्ट और सीधा तरीका दिया है। आगे बढ़ें और इसे अपने PDF के साथ आज़माएँ!

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

क्या मैं एक साथ कई शब्दों की खोज कर सकता हूँ?

हां, आप इसे संशोधित कर सकते हैंTextFragmentAbsorber खोज स्ट्रिंग को तदनुसार समायोजित करके एकाधिक वाक्यांशों की खोज करने के लिए।

यदि पाठ कई पंक्तियों में फैला हो तो क्या होगा?

Aspose.PDF तब भी टेक्स्ट को पहचानेगा और निकालेगा, भले ही वह कई लाइनों में फैला हो। आप इन टुकड़ों को अलग-अलग संभाल सकते हैं।

मैं निकाले गए पाठ को फ़ाइल में कैसे सहेजूँ?

आप मानक C# फ़ाइल I/O संचालन का उपयोग करके निकाले गए पाठ को फ़ाइल में लिख सकते हैं, जैसेStreamWriter.

क्या Aspose.PDF स्कैन की गई PDF से पाठ निकालने का समर्थन करता है?

Aspose.PDF OCR का समर्थन नहीं करता है। स्कैन की गई PDF के लिए, आपको टेक्स्ट को पहचानने के लिए OCR टूल की आवश्यकता होगी।

मैं एन्क्रिप्टेड पीडीएफ को कैसे संभालूँ?

यदि आपका पीडीएफ पासवर्ड से सुरक्षित है, तो आप दस्तावेज़ लोड करते समय पासवर्ड डालकर Aspose.PDF का उपयोग करके इसे अनलॉक कर सकते हैं।