.NET में PDFs से टेक्स्ट निकालने का तरीका
.NET में PDFs से टेक्स्ट निकालने का तरीका
यह गाइड PDF पृष्ठों से टेक्स्ट निष्कर्षण को absorber API का उपयोग करके कवर करता है।
पूर्वापेक्षाएँ
| Requirement | Detail |
|---|---|
| रनटाइम | .NET 8.0 या बाद का |
| पैकेज | dotnet add package Aspose.Pdf.Foss |
एक पृष्ठ से सभी पाठ निकालें
TextAbsorber पृष्ठ पर सभी पाठ को एकल स्ट्रिंग में एकत्र करता है। एक
इंस्टेंस बनाएं, इसे Page.Accept को पास करें, और परिणाम को Text प्रॉपर्टी से पढ़ें।
जब आपको स्थितिजन्य
जानकारी के बिना साधारण-टेक्स्ट आउटपुट चाहिए, तो यह सबसे सरल तरीका है।
using var doc = Document.Open(pdfBytes);
var absorber = new TextAbsorber();
doc.Pages[1].Accept(absorber);
Console.WriteLine(absorber.Text);संरचित पाठ अंश निकालें
जब आपको टेक्स्ट के साथ स्थिति, फ़ॉन्ट और आकार मेटाडेटा चाहिए, तो TextFragmentAbsorber का उपयोग करें। प्रत्येक TextFragment अपने बाउंडिंग निर्देशांक को Position प्रॉपर्टी के माध्यम से उजागर करता है।
var absorber = new TextFragmentAbsorber();
doc.Pages[1].Accept(absorber);
foreach (var fragment in absorber.TextFragments)
{
Console.WriteLine($"{fragment.Text} at ({fragment.Position.XIndent}, {fragment.Position.YIndent})");
}नियमित अभिव्यक्ति के साथ खोजें
TextFragmentAbsorber को एक regex पैटर्न पास करें ताकि मिलते‑जुलते टेक्स्ट को खोजा जा सके
सभी पृष्ठों में। यह दस्तावेज़ में फ़ोन नंबर, तिथियों, या अन्य संरचित डेटा पैटर्न खोजने में उपयोगी है।
var absorber = new TextFragmentAbsorber(@"\d{3}-\d{2}-\d{4}");
doc.Pages.Accept(absorber);
foreach (var f in absorber.TextFragments)
Console.WriteLine(f.Text);मुख्य वर्ग
| वर्ग | उद्देश्य |
|---|---|
TextAbsorber | सभी टेक्स्ट को स्ट्रिंग के रूप में निकालें |
TextFragmentAbsorber | संरचित टेक्स्ट निष्कर्षण |
TextFragment | स्थिति और फ़ॉन्ट के साथ टेक्स्ट |
FontRepository | फ़ॉन्ट लुकअप |