शब्दों को काट दें

परिचय

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

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

इससे पहले कि हम कोड में प्रवेश करें, इस ट्यूटोरियल का अनुसरण करने के लिए आपको कुछ पूर्व-आवश्यकताओं को पूरा करना होगा:

  1. Aspose.PDF for .NET लाइब्रेरी: सुनिश्चित करें कि आपके पास Aspose.PDF for .NET लाइब्रेरी स्थापित है। आप ऐसा कर सकते हैंयहाँ पर डाउनलोड करो.

  2. .NET फ्रेमवर्क: सुनिश्चित करें कि आपके मशीन पर .NET फ्रेमवर्क स्थापित है। यह ट्यूटोरियल .NET अनुप्रयोगों के लिए डिज़ाइन किया गया है।

  3. विकास वातावरण: आपको अपना कोड लिखने और चलाने के लिए विजुअल स्टूडियो जैसे IDE की आवश्यकता होगी।

  4. पीडीएफ दस्तावेज़: एक नमूना पीडीएफ फ़ाइल तैयार रखें जिसके साथ आप काम करना चाहते हैं। यह वह दस्तावेज़ होगा जहाँ हम टेक्स्ट को हटा देंगे।

  5. बुनियादी C# ज्ञान: इस ट्यूटोरियल में चरणों को समझने और कार्यान्वित करने के लिए C# प्रोग्रामिंग से परिचित होना आवश्यक है।

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

कोडिंग शुरू करने से पहले, हमें अपने .NET प्रोजेक्ट में आवश्यक नेमस्पेस को आयात करना होगा। इससे हमें Aspose.PDF का उपयोग करके PDF फ़ाइलों में हेरफेर करने के लिए आवश्यक क्लासेस और विधियों तक पहुँच मिलेगी।

using System;
using System.IO;
using Aspose.Pdf.Annotations;
using Aspose.Pdf;

ये नामस्थान पीडीएफ दस्तावेजों के साथ काम करने, पाठ को संभालने और स्ट्राइकआउट जैसे एनोटेशन जोड़ने के लिए आवश्यक हैं।

इस अनुभाग में, हम PDF दस्तावेज़ में शब्दों को हटाने की प्रक्रिया को सरल, प्रबंधनीय चरणों में विभाजित करेंगे। प्रत्येक चरण के साथ एक विस्तृत विवरण दिया जाएगा ताकि आप समझ सकें कि सब कुछ कैसे काम करता है।

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

पहला कदम उस पीडीएफ दस्तावेज़ को लोड करना है जिसे आप संपादित करना चाहते हैं। यह वह दस्तावेज़ होगा जिसमें आप विशिष्ट शब्दों या वाक्यांशों को हटाएँगे।

// दस्तावेज़ निर्देशिका का पथ.
string dataDir = "YOUR DOCUMENT DIRECTORY";

// पीडीएफ दस्तावेज़ खोलें
Document document = new Document(dataDir + "input.pdf");
  • dataDir : यह वेरिएबल आपके डॉक्यूमेंट डायरेक्टरी का पथ रखता है।"YOUR DOCUMENT DIRECTORY" वास्तविक पथ के साथ जहां आपकी पीडीएफ फाइल स्थित है।
  • Document : दDocument क्लास एक पीडीएफ दस्तावेज़ का प्रतिनिधित्व करता है। फ़ाइल पथ को इसके कन्स्ट्रक्टर में पास करके, हम प्रोसेसिंग के लिए पीडीएफ फ़ाइल खोलते हैं।

चरण 2: विशिष्ट टेक्स्ट खोजने के लिए टेक्स्टफ़्रेगमेंट अवशोषक बनाएँ

इसके बाद, हम इसका एक उदाहरण बनाएंगेTextFragmentAbsorber पीडीएफ दस्तावेज़ में किसी विशिष्ट टेक्स्ट अंश को खोजने के लिए। यह हमें उस टेक्स्ट को खोजने की अनुमति देता है जिसे हम हटाना चाहते हैं।

// किसी विशिष्ट टेक्स्ट फ़्रैगमेंट की खोज करने के लिए TextFragment Absorber इंस्टेंस बनाएँ
Aspose.Pdf.Text.TextFragmentAbsorber textFragmentAbsorber = new Aspose.Pdf.Text.TextFragmentAbsorber("Estoque");
  • TextFragmentAbsorberइस क्लास का उपयोग PDF दस्तावेज़ में विशिष्ट टेक्स्ट अंशों को खोजने और उनके साथ काम करने के लिए किया जाता है। इस उदाहरण में, हम “Estoque” शब्द की खोज कर रहे हैं। “Estoque” को उस शब्द या वाक्यांश से बदलें जिसे आप अपने दस्तावेज़ में खोजना चाहते हैं।

चरण 3: पीडीएफ दस्तावेज़ के पृष्ठों को फिर से देखें

अब जब हमारे पासTextFragmentAbsorber, हमें निर्दिष्ट पाठ को खोजने के लिए पीडीएफ दस्तावेज़ के प्रत्येक पृष्ठ को पुनरावृत्त करना होगा।

// पीडीएफ दस्तावेज़ के पृष्ठों को पुनरावृत्त करें
for (int i = 1; i <= document.Pages.Count; i++)
{
    // पीडीएफ दस्तावेज़ का वर्तमान पृष्ठ प्राप्त करें
    Page page = document.Pages[i];
    page.Accept(textFragmentAbsorber);
}
  • for (int i = 1; i <= document.Pages.Count; i++): यह लूप पीडीएफ दस्तावेज़ के प्रत्येक पृष्ठ पर पुनरावृत्ति करता है।
  • document.Pages[i]: संसाधित किए जा रहे वर्तमान पृष्ठ को पुनः प्राप्त करता है।
  • page.Accept(textFragmentAbsorber) : यह विधि लागू होती हैTextFragmentAbsorber वर्तमान पृष्ठ पर, निर्दिष्ट पाठ की खोज करें।

चरण 4: पाठ अंशों को एकत्रित करें और संसाधित करें

पृष्ठों को पुनरावृत्त करने के बाद, हम पाए गए पाठ अंशों को एकत्रित करेंगे और उन्हें आगे की प्रक्रिया के लिए तैयार करेंगे।

// अवशोषित पाठ अंशों का एक संग्रह बनाएँ
Aspose.Pdf.Text.TextFragmentCollection textFragmentCollection = textFragmentAbsorber.TextFragments;
  • TextFragmentCollectionयह संग्रह दस्तावेज़ में पाए गए सभी पाठ अंशों को संग्रहीत करता है। हम अगले चरण में पाठ को हटाने के लिए इस संग्रह का उपयोग करेंगे।

चरण 5: पाठ के अंशों को दोहराएँ और उन्हें हटा दें

इस चरण में, हम अपने संग्रह में प्रत्येक पाठ खंड को लूप करेंगे और उस पर स्ट्राइकआउट एनोटेशन लागू करेंगे।

// पाठ अंशों के संग्रह पर पुनरावृत्ति करें
for (int j = 1; j <= textFragmentCollection.Count; j++)
{
	Aspose.Pdf.Text.TextFragment textFragment = textFragmentCollection[j];

    // TextFragment ऑब्जेक्ट के आयताकार आयाम प्राप्त करें
    Aspose.Pdf.Rectangle rect = new Aspose.Pdf.Rectangle(
        (float)textFragment.Position.XIndent,
        (float)textFragment.Position.YIndent,
        (float)textFragment.Position.XIndent + (float)textFragment.Rectangle.Width,
        (float)textFragment.Position.YIndent + (float)textFragment.Rectangle.Height);

    // स्ट्राइकआउट एनोटेशन इंस्टैंस को इंस्टैंशिएट करें
    StrikeOutAnnotation strikeOut = new StrikeOutAnnotation(textFragment.Page, rect);

    // स्ट्राइकआउट एनोटेशन के गुण सेट करें
    strikeOut.Opacity = .80f;
    strikeOut.Border = new Border(strikeOut);
    strikeOut.Color = Aspose.Pdf.Color.Red;

    // पाठ खंड के पृष्ठ के एनोटेशन संग्रह में एनोटेशन जोड़ें
    textFragment.Page.Annotations.Add(strikeOut);
}
  • TextFragment textFragment = textFragmentCollection[j]: यह पंक्ति वर्तमान पाठ खंड को पुनः प्राप्त करती है।
  • Aspose.Pdf.Rectangleहम पाठ खंड के आयताकार आयामों की गणना करके यह निर्धारित करते हैं कि स्ट्राइकआउट कहां लागू करना है।
  • StrikeOutAnnotation: यह क्लास स्ट्राइकआउट एनोटेशन को दर्शाता है। हम इसे गणना किए गए आयत और वर्तमान पृष्ठ के साथ इंस्टैंसिएट करते हैं।
  • strikeOut.Opacity: यह गुण स्ट्राइकआउट की अपारदर्शिता निर्धारित करता है, जिससे यह 80% दृश्यमान हो जाता है।
  • strikeOut.Colorहमने स्ट्राइकआउट का रंग लाल कर दिया है। आप इसे अपनी पसंद के किसी भी रंग में बदल सकते हैं।
  • textFragment.Page.Annotations.Add(strikeOut): यह पृष्ठ पर स्ट्राइकआउट एनोटेशन जोड़ता है.

चरण 6: संशोधित PDF दस्तावेज़ सहेजें

अंतिम चरण संशोधित पीडीएफ दस्तावेज़ को स्ट्राइकआउट के साथ सहेजना है।

// अपडेट किया गया PDF दस्तावेज़ सहेजें
dataDir = dataDir + "StrikeOutWords_out.pdf";
document.Save(dataDir);
  • dataDir + "StrikeOutWords_out.pdf": यह संशोधित दस्तावेज़ के लिए एक नया फ़ाइल नाम बनाता है। मूल फ़ाइल अपरिवर्तित रहती है।
  • document.Save(dataDir): पीडीएफ दस्तावेज़ को स्ट्राइकआउट के साथ निर्दिष्ट स्थान पर सहेजता है।

निष्कर्ष

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

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

क्या मैं स्ट्राइकआउट का रंग बदल सकता हूँ?

हां, आप रंग बदल सकते हैंstrikeOut.Colorसंपत्ति। उदाहरण के लिए, आप इसे सेट कर सकते हैंAspose.Pdf.Color.Blue एक नीले स्ट्राइकआउट के लिए.

क्या एक साथ कई शब्दों को काटना संभव है?

बिलकुल!TextFragmentAbsorber दस्तावेज़ में किसी भी शब्द या वाक्यांश को खोजने के लिए इस्तेमाल किया जा सकता है। आप स्ट्राइकआउट को कई उदाहरणों पर लागू कर सकते हैं।TextFragmentCollection.

यदि मैं केवल विशिष्ट पृष्ठों पर पाठ हटाना चाहूं तो क्या होगा?

आप पृष्ठों के माध्यम से चलने वाले लूप को संशोधित कर सकते हैं ताकि केवल वे पृष्ठ शामिल हों जिन्हें आप संशोधित करना चाहते हैं। उदाहरण के लिए,for (int i = 1; i <= 3; i++) स्ट्राइकआउट केवल पहले तीन पृष्ठों पर लागू होगा।

मैं स्ट्राइकआउट लाइन की मोटाई कैसे समायोजित कर सकता हूं?

आप स्ट्राइकआउट लाइन की मोटाई को संशोधित करके समायोजित कर सकते हैंBorder की संपत्तिStrikeOutAnnotationयह स्ट्राइकआउट उपस्थिति को अनुकूलित करने की अनुमति देता है।

क्या दस्तावेज़ को सहेजने के बाद स्ट्राइकआउट को पूर्ववत करने का कोई तरीका है?

एक बार दस्तावेज़ सहेजे जाने के बाद, स्ट्राइकआउट स्थायी हो जाता है। यदि आपको स्ट्राइकआउट के बिना मूल पाठ को बनाए रखने की आवश्यकता है, तो किसी भी संशोधन को लागू करने से पहले मूल दस्तावेज़ का बैकअप सहेजने पर विचार करें।