Extract Text from MS Word Documents in C#

اسناد مایکروسافت ورد یکی از ابزارهای پایه برای ایجاد و به اشتراک‌گذاری محتوای متنی هستند. اگر شما در حال توسعه برنامه‌های C# هستید که با این اسناد تعامل دارند، ممکن است نیاز به استخراج متن از آن‌ها داشته باشید. این ممکن است به منظورهایی مانند تحلیل متن یا استخراج بخش‌های خاصی از یک سند برای تجمیع در یک سند جدید باشد. در این پست وبلاگ، به بررسی روش‌های استخراج متن از اسناد ورد در C# خواهیم پرداخت.

فهرست مطالب

کتابخانه C# برای استخراج متن

Aspose.Words for .NET یک کتابخانه قدرتمند و کاربرپسند است که برای کار با اسناد ورد طراحی شده است. این کتابخانه مجموعه‌ای جامع از ویژگی‌ها را ارائه می‌دهد، از جمله استخراج متن، ایجاد، دستکاری و تبدیل اسناد. با Aspose.Words for .NET، توسعه‌دهندگان می‌توانند به طور مؤثر جنبه‌های مختلف اسناد ورد را مدیریت کنند و این ابزار را به یک ابزار ارزشمند برای نیازهای توسعه شما تبدیل کند.

برای شروع، کتابخانه را دانلود کنید یا آن را مستقیماً از NuGet با استفاده از دستور زیر در کنسول مدیریت بسته نصب کنید:

PM> Install-Package Aspose.Words

درک استخراج متن در اسناد ورد

یک سند MS Word شامل عناصر مختلفی مانند پاراگراف‌ها، جدول‌ها و تصاویر است. بنابراین، الزامات استخراج متن می‌تواند بسته به مورد استفاده خاص متفاوت باشد. شما ممکن است نیاز به استخراج متن بین پاراگراف‌ها، نشانه‌گذاری‌ها، نظرات و غیره داشته باشید.

هر عنصر در یک سند ورد به عنوان یک گره نمایش داده می‌شود. بنابراین، برای پردازش مؤثر یک سند، شما نیاز به کار با این گره‌ها خواهید داشت. بیایید بررسی کنیم که چگونه می‌توان متن را در سناریوهای مختلف از اسناد ورد استخراج کرد.

راهنمای گام به گام برای استخراج متن از یک سند ورد

در این بخش، ما یک استخراج‌کننده متن C# برای اسناد ورد پیاده‌سازی خواهیم کرد. روند استخراج متن شامل مراحل زیر خواهد بود:

  1. تعریف گره‌هایی که باید در فرآیند استخراج گنجانده شوند.
  2. استخراج محتوا بین گره‌های مشخص شده (شامل یا خارج از گره‌های شروع و پایان).
  3. استفاده از گره‌های استخراج شده کلون شده برای ایجاد یک سند ورد جدید حاوی محتوای استخراج شده.

بیایید یک متد به نام ExtractContent ایجاد کنیم که گره‌ها و سایر پارامترها را برای انجام استخراج متن قبول کند. این متد سند را تجزیه می‌کند و گره‌ها را بر اساس پارامترهای زیر کلون می‌کند:

  • StartNode و EndNode: این‌ها نقاط شروع و پایان برای استخراج محتوا را تعریف می‌کنند. آن‌ها می‌توانند گره‌های سطح بلوک (مانند Paragraph، Table) یا گره‌های سطح درون‌خط (مانند Run، FieldStart، BookmarkStart) باشند.
    • برای فیلدها، شیء FieldStart مربوطه را ارسال کنید.
    • برای نشانه‌گذاری‌ها، از گره‌های BookmarkStart و BookmarkEnd استفاده کنید.
    • برای نظرات، از گره‌های CommentRangeStart و CommentRangeEnd استفاده کنید.
  • IsInclusive: این پارامتر تعیین می‌کند که آیا نشانه‌ها در استخراج گنجانده شده‌اند یا خیر. اگر به false تنظیم شود و گره‌های مشابه یا متوالی ارائه شوند، یک لیست خالی بازگردانده خواهد شد.

در اینجا پیاده‌سازی کامل متد ExtractContent برای استخراج محتوا بین گره‌های مشخص شده آورده شده است:

علاوه بر این، برخی متدهای کمکی توسط متد ExtractContent برای تسهیل عملیات استخراج متن نیاز است:

حالا که متدهای ما آماده شده‌اند، می‌توانیم به استخراج متن از یک سند ورد بپردازیم.

استخراج متن بین پاراگراف‌های یک سند ورد

برای استخراج محتوا بین دو پاراگراف در یک سند DOCX ورد، مراحل زیر را دنبال کنید:

  1. سند ورد را با استفاده از کلاس Document بارگذاری کنید.
  2. با استفاده از متد Document.FirstSection.Body.GetChild(NodeType.PARAGRAPH, int, boolean) به پاراگراف‌های شروع و پایان ارجاع بگیرید.
  3. متد ExtractContent(startPara, endPara, True) را برای استخراج گره‌ها به یک شیء فراخوانی کنید.
  4. از متد کمکی GenerateDocument(Document, extractedNodes) برای ایجاد یک سند با محتوای استخراج شده استفاده کنید.
  5. سند جدید را با استفاده از متد Document.Save(string) ذخیره کنید.

در اینجا یک نمونه کد برای استخراج متن بین پاراگراف‌های 7 و 11 در یک سند ورد آورده شده است:

استخراج متن بین انواع مختلف گره‌ها

شما همچنین می‌توانید محتوا را بین انواع مختلف گره‌ها استخراج کنید. به عنوان مثال، بیایید محتوا را بین یک پاراگراف و یک جدول استخراج کنیم و آن را در یک سند ورد جدید ذخیره کنیم. مراحل به شرح زیر است:

  1. سند ورد را با استفاده از کلاس Document بارگذاری کنید.
  2. با استفاده از متد Document.FirstSection.Body.GetChild(NodeType, int, boolean) به ارجاعات گره‌های شروع و پایان دسترسی پیدا کنید.
  3. متد ExtractContent(startPara, endPara, True) را برای استخراج گره‌ها به یک شیء فراخوانی کنید.
  4. از متد کمکی GenerateDocument(Document, extractedNodes) برای ایجاد یک سند با محتوای استخراج شده استفاده کنید.
  5. سند جدید را با استفاده از Document.Save(string) ذخیره کنید.

در اینجا نمونه کدی برای استخراج متن بین یک پاراگراف و یک جدول در C# آورده شده است:

استخراج متن بر اساس استایل‌ها

برای استخراج محتوا بین پاراگراف‌ها بر اساس استایل‌ها، مراحل زیر را دنبال کنید. برای این نمایش، ما محتوا را بین اولین “Heading 1” و اولین “Heading 3” در سند ورد استخراج خواهیم کرد:

  1. سند ورد را با استفاده از کلاس Document بارگذاری کنید.
  2. پاراگراف‌ها را با استفاده از متد کمکی ParagraphsByStyleName(Document, “Heading 1”) به یک شیء استخراج کنید.
  3. پاراگراف‌ها را با استفاده از ParagraphsByStyleName(Document, “Heading 3”) به یک شیء دیگر استخراج کنید.
  4. با استفاده از اولین عناصر از هر دو آرایه پاراگراف، ExtractContent(startPara, endPara, True) را فراخوانی کنید.
  5. از متد کمکی GenerateDocument(Document, extractedNodes) برای ایجاد یک سند با محتوای استخراج شده استفاده کنید.
  6. سند جدید را با استفاده از Document.Save(string) ذخیره کنید.

در اینجا یک نمونه کد برای استخراج محتوا بین پاراگراف‌ها بر اساس استایل‌ها آورده شده است:

بیشتر درباره استخراج متن بخوانید

سناریوهای اضافی برای استخراج متن از اسناد ورد را از طریق این مقاله مستندات بررسی کنید.

دریافت یک کتابخانه استخراج متن ورد رایگان

شما می‌توانید یک مجوز موقت رایگان برای استخراج متن بدون محدودیت‌های ارزیابی دریافت کنید.

نتیجه‌گیری

Aspose.Words for .NET یک کتابخانه چندمنظوره است که فرآیند استخراج متن از اسناد ورد در C# را تسهیل می‌کند. با ویژگی‌های گسترده و API کاربرپسند آن، می‌توانید به طور مؤثر با اسناد ورد کار کنید و سناریوهای مختلف استخراج متن را خودکار کنید. چه شما در حال توسعه برنامه‌هایی باشید که نیاز به پردازش اسناد ورد دارند یا فقط می‌خواهید متن را استخراج کنید، Aspose.Words for .NET یک ابزار ضروری برای توسعه‌دهندگان است.

برای بررسی بیشتر ویژگی‌های Aspose.Words for .NET، مستندات را بررسی کنید مستندات. اگر سوالی دارید، می‌توانید از طریق انجمن ما تماس بگیرید.

همچنین ببینید

نکته: شما ممکن است بخواهید مبدل Aspose PowerPoint به Word را بررسی کنید که فرآیند محبوب تبدیل ارائه‌ها به اسناد ورد را نشان می‌دهد.