कॉलम टेक्स्ट को पीडीएफ फाइल में निकालें
परिचय
क्या आप PDF फ़ाइलों के साथ काम कर रहे हैं और आपको किसी विशिष्ट कॉलम फ़ॉर्मेट में टेक्स्ट निकालने की ज़रूरत है? चाहे आप इनवॉइस, रिपोर्ट या कोई संरचित दस्तावेज़ संसाधित कर रहे हों, PDF से सटीक रूप से टेक्स्ट निकालना एक मुश्किल काम हो सकता है। यहीं पर Aspose.PDF for .NET प्रक्रिया को सरल बनाने के लिए कदम उठाता है। इस ट्यूटोरियल में, हम आपको PDF फ़ाइल से टेक्स्ट के कॉलम को आसानी से निकालने का तरीका बताएँगे।
आवश्यक शर्तें
कोड में गोता लगाने से पहले, आइए उन आवश्यक चीजों को जानें जिनकी आपको आवश्यकता होगी:
- .NET के लिए Aspose.PDF: सुनिश्चित करें कि आपके पास .NET के लिए Aspose.PDF का नवीनतम संस्करण स्थापित है। यदि नहीं, तो आपयहाँ पर डाउनलोड करो.
- विकास परिवेश: कोड के साथ काम करने के लिए आपको विजुअल स्टूडियो या किसी अन्य .NET विकास परिवेश की आवश्यकता होगी।
- पीडीएफ दस्तावेज़: एक नमूना पीडीएफ दस्तावेज़ अपने पास रखें, बेहतर होगा कि वह पाठ के कॉलमों वाला हो, क्योंकि हम उसमें से पाठ निकालेंगे।
यदि आपने अभी तक .NET के लिए Aspose.PDF स्थापित नहीं किया है, तो आप इसे प्राप्त कर सकते हैं।मुफ्त परीक्षण यालाइसेंस खरीदें पूर्ण सुविधाओं के लिए। आप इसके लिए भी आवेदन कर सकते हैंअस्थायी लाइसेंस यदि ज़रूरत हो तो।
नामस्थान आयात करें
अपने प्रोजेक्ट में .NET के लिए Aspose.PDF का उपयोग करने के लिए, आपको निम्नलिखित नामस्थानों को आयात करना होगा:
using System.IO;
using Aspose.Pdf;
using Aspose.Pdf.Text;
using System;
चरण-दर-चरण मार्गदर्शिका: PDF से टेक्स्ट के कॉलम निकालें
अब, कोड के प्रत्येक भाग को बेहतर ढंग से समझने के लिए इसे तोड़ते हैं। प्रक्रिया के प्रत्येक भाग को समझाते हुए, हम चरण दर चरण आगे बढ़ते हैं।
चरण 1: पीडीएफ दस्तावेज़ लोड करें
पहली चीज़ जो आपको करने की ज़रूरत है वह है अपनी पीडीएफ फाइल को लोड करनाDocument
इस तरह Aspose.PDF आपके दस्तावेज़ के साथ इंटरैक्ट करता है।
string dataDir = "YOUR DOCUMENT DIRECTORY";
Document pdfDocument = new Document(dataDir + "ExtractTextPage.pdf");
इस चरण में, हम केवल उस निर्देशिका को परिभाषित कर रहे हैं जहाँ आपका PDF दस्तावेज़ संग्रहीत है।"YOUR DOCUMENT DIRECTORY"
अपनी स्थानीय PDF फ़ाइल का पथ बताएं।Document
ऑब्जेक्ट पीडीएफ को मेमोरी में लोड करता है, जिससे इसे आगे की प्रक्रिया के लिए सुलभ बनाया जा सकता है।
चरण 2: टेक्स्ट फ़्रैगमेंट अवशोषक सेट अप करें
आगे, हम एक का उपयोग करेंगेTextFragmentAbsorber
पीडीएफ फाइल से सभी टेक्स्ट को अवशोषित या कैप्चर करने के लिए। यह अवशोषक वर्ग आपके पीडीएफ में विशिष्ट क्षेत्रों से टेक्स्ट अंशों को निकालने के लिए डिज़ाइन किया गया है, जो इसे टेक्स्ट के कॉलम निकालने के लिए आदर्श बनाता है।
TextFragmentAbsorber tfa = new TextFragmentAbsorber();
pdfDocument.Pages.Accept(tfa);
TextFragmentCollection tfc = tfa.TextFragments;
यहाँ, हम एक उदाहरण बनाते हैंTextFragmentAbsorber
और इसे पीडीएफ के सभी पृष्ठों पर लागू करेंAccept()
. दTextFragmentCollection
निकाले गए पाठ को संग्रहीत करता है, और इस संग्रह से, हम आवश्यकतानुसार पाठ में हेरफेर या निष्कर्षण कर सकते हैं।
चरण 3: निकाले गए पाठ का फ़ॉन्ट आकार समायोजित करें
एक बार जब आप टेक्स्ट के टुकड़े कैप्चर कर लेते हैं, तो आप उनके फ़ॉन्ट आकार को कम करना चाह सकते हैं, खासकर जब मूल टेक्स्ट बहुत बड़ा हो। इस उदाहरण में, हम फ़ॉन्ट आकार को 70% तक कम कर रहे हैं।
foreach (TextFragment tf in tfc)
{
// फ़ॉन्ट का आकार 70% तक कम करें
tf.TextState.FontSize = tf.TextState.FontSize * 0.7f;
}
यह कोड प्रत्येक लूप से होकर गुजरता हैTextFragment
संग्रह में फ़ॉन्ट आकार को 70% तक कम कर देता है। फ़ॉन्ट आकार को समायोजित करने से निकाले गए पाठ को प्रबंधित करना आसान हो सकता है, खासकर यदि आप इसे विभिन्न उद्देश्यों के लिए फ़ॉर्मेट कर रहे हैं।
चरण 4: दस्तावेज़ को मेमोरी स्ट्रीम में सहेजें
पाठ को संशोधित करने के बाद, हम पीडीएफ को एक में सहेजते हैंMemoryStream
इससे हमें दस्तावेज़ को डिस्क पर वापस लिखे बिना आगे की प्रक्रिया के लिए मेमोरी में रखने की सुविधा मिलती है।
Stream st = new MemoryStream();
pdfDocument.Save(st);
pdfDocument = new Document(st);
यहाँ, हम PDF को मेमोरी स्ट्रीम में सेव करते हैं और फिर डॉक्यूमेंट को रीलोड करते हैं। यह विधि तब उपयोगी होती है जब आप बड़ी फ़ाइलों के साथ काम कर रहे हों और अनावश्यक डिस्क संचालन से बचना चाहते हों।
चरण 5: टेक्स्ट एब्जॉर्बर का उपयोग करके सभी टेक्स्ट निकालें
अब जब हमने पीडीएफ तैयार कर लिया है, तो अब टेक्स्ट निकालने का समय है। हम इसका उपयोग करेंगेTextAbsorber
दस्तावेज़ से सभी पाठ को प्राप्त करने के लिए.
TextAbsorber textAbsorber = new TextAbsorber();
pdfDocument.Pages.Accept(textAbsorber);
String extractedText = textAbsorber.Text;
इस चरण में,TextAbsorber
पीडीएफ से सभी पाठ को अवशोषित करता है, और निकाला गया पाठ पीडीएफ में संग्रहीत किया जाता है।extractedText
स्ट्रिंग। यहीं पर जादू होता है - आपके टेक्स्ट के कॉलम अब सादे-टेक्स्ट प्रारूप में हैं!
चरण 6: निकाले गए पाठ को फ़ाइल में सहेजें
अंत में, हम निकाले गए पाठ को एक में सहेजते हैं.txt
आसान पहुंच और आगे उपयोग के लिए फ़ाइल।
dataDir = dataDir + "ExtractColumnsText_out.txt";
System.IO.File.WriteAllText(dataDir, extractedText);
Console.WriteLine("\nColumns text extracted successfully from Pages of PDF Document.\nFile saved at " + dataDir);
यह कोड निकाले गए पाठ को एक नए रूप में लिखता है.txt
फ़ाइल को आपके द्वारा निर्दिष्ट निर्देशिका में सहेजता है। प्रक्रिया सफल रही, इसकी पुष्टि करने के लिए कंसोल में एक संदेश प्रदर्शित होता है।
निष्कर्ष
बस हो गया! .NET के लिए Aspose.PDF का उपयोग करके PDF फ़ाइल से टेक्स्ट के कॉलम निकालना जितना आप सोच सकते हैं, उससे कहीं ज़्यादा आसान है। कोड की सिर्फ़ कुछ पंक्तियों के साथ, आप PDF लोड कर सकते हैं, विशिष्ट टेक्स्ट निकाल सकते हैं, फ़ॉर्मेटिंग समायोजित कर सकते हैं और परिणामों को टेक्स्ट फ़ाइल में सहेज सकते हैं।
यह तकनीक संरचित दस्तावेज़ों जैसे कि तालिकाओं, रिपोर्ट या स्तंभों में व्यवस्थित किसी भी सामग्री को संसाधित करने के लिए अविश्वसनीय रूप से उपयोगी है। चाहे आपको डेटा निष्कर्षण को स्वचालित करने की आवश्यकता हो या बल्क दस्तावेज़ों को संसाधित करने की, Aspose.PDF इसे कुशलतापूर्वक करने के लिए उपकरण प्रदान करता है।
अक्सर पूछे जाने वाले प्रश्न
क्या मैं पीडीएफ के विशिष्ट पृष्ठों से पाठ निकाल सकता हूँ?
हाँ! आप इसे संशोधित कर सकते हैंTextFragmentAbsorber
का उपयोग करके विशिष्ट पृष्ठों को लक्षित करनाpdfDocument.Pages[pageIndex].Accept(tfa);
तरीका।
क्या बहु-स्तंभ पीडीएफ में केवल एक कॉलम से पाठ निकालना संभव है?
हां, लेकिन आपको पाठ अंशों के निर्देशांकों के साथ काम करना होगाTextFragment.Rectangle
दस्तावेज़ के विशिष्ट क्षेत्रों को लक्षित करने के लिए।
मैं पाठ निष्कर्षण की सटीकता कैसे सुधार सकता हूँ?
बेहतर सटीकता के लिए, सुनिश्चित करें कि PDF की संरचना अच्छी तरह से परिभाषित है और जटिल लेआउट वाले दस्तावेज़ों से बचें। आप इसे भी ठीक कर सकते हैंTextFragmentAbsorber
फ़ॉन्ट शैलियों, आकारों या क्षेत्रों के आधार पर पाठ निकालने के लिए।
क्या Aspose.PDF स्कैन किए गए दस्तावेज़ों से पाठ निष्कर्षण का समर्थन करता है?
हां, लेकिन आपको OCR (ऑप्टिकल कैरेक्टर रिकॉग्निशन) तकनीक का उपयोग करना होगा। Aspose इसके लिए भी उपकरण प्रदान करता है।
मैं हजारों पृष्ठों वाली बड़ी पीडीएफ फाइलों को कैसे संभालूँ?
बड़े PDF के लिए, उच्च मेमोरी उपयोग से बचने के लिए एक बार में कुछ पृष्ठों से पाठ निकालकर दस्तावेज़ को टुकड़ों में संसाधित करें।