
Документи Microsoft Word є основним засобом для створення та обміну текстовим контентом. Якщо ви розробляєте C# додатки, які взаємодіють з документами Word, вам може знадобитися витягти текст з документів Word за допомогою C# в ASP.NET, зберігаючи при цьому форматування. Чи то ви аналізуєте текст, витягуєте конкретні секції, чи об’єднуєте контент в один документ, цей посібник покаже вам, як ефективно витягти текст з документів Word, використовуючи найкращу бібліотеку C# для витягування тексту з документів Word.
Зміст
- C# Бібліотека для витягування тексту з документів Word
- Розуміння витягування тексту в документах Word
- Витягування тексту з документа Word
C# Бібліотека для витягування тексту з документів Word
Aspose.Words for .NET — це багатофункціональна, проста у використанні бібліотека, призначена для роботи з документами Word. Вона надає комплексний набір функцій, включаючи витягування тексту з документів Word у .NET, створення, маніпуляцію та конвертацію документів. Aspose.Words for .NET є безцінним інструментом для розробників, які шукають ефективне витягування тексту з документів Word у C#.
Ви можете завантажити DLL або встановити бібліотеку безпосередньо з NuGet за допомогою консолі менеджера пакетів:
PM> Install-Package Aspose.Words
Розуміння витягування тексту в документах Word
Документ MS Word складається з різних елементів, таких як абзаци, таблиці та зображення. Отже, вимоги до витягування тексту можуть відрізнятися залежно від ситуації. Наприклад, вам може знадобитися витягти текст з відсканованого документа Word у C# або витягти текст з файлу Word за допомогою C# .NET. Кожен елемент у документі Word представлений як вузол, з яким ви будете взаємодіяти під час процесу витягування. Давайте розглянемо, як витягнути текст з документів Word, ефективно обробляючи форматування слів під час витягування тексту в C#.
Витягування тексту з документа Word
У цьому розділі ми реалізуємо C# витягувач тексту для документів Word. Робочий процес витягування тексту включає:
- Визначення вузлів, які потрібно включити в процес витягування тексту.
- Витягування вмісту між вказаними вузлами (включаючи або виключаючи початкові та кінцеві вузли).
- Клонування витягнутих вузлів для створення нового документа Word, що містить витягнутий вміст.
Давайте створимо метод під назвою ExtractContent, який прийматиме вузли та інші параметри для витягування тексту. Цей метод буде парсити документ і клонувати вузли. Ось параметри, які ми передамо методу:
- StartNode і EndNode слугують початковими та кінцевими точками для витягування вмісту. Це можуть бути вузли блочного рівня (наприклад, Paragraph, Table) або вузли вбудованого рівня (наприклад, Run, FieldStart, BookmarkStart тощо).
- Для полів передайте відповідний об’єкт FieldStart.
- Для закладок використовуйте вузли BookmarkStart та BookmarkEnd.
- Для коментарів використовуйте вузли CommentRangeStart та CommentRangeEnd.
- IsInclusive вказує, чи включені маркери у витягування. Якщо встановлено в false і передано однакові або сусідні вузли, буде повернуто порожній список.
Повна реалізація методу ExtractContent, який точно витягує текст з захищених документів Word у C#, виглядає так:
Крім того, деякі допоміжні методи потрібні методу ExtractContent для полегшення операції витягування тексту:
Тепер ми готові використовувати ці методи та витягти текст з документів Word за допомогою C#.
Витягування тексту між абзацами документа Word
Щоб витягти вміст між двома абзацами в документі Word DOCX, виконайте ці кроки:
- Завантажте документ Word за допомогою класу Document.
- Зверніться до початкового та кінцевого абзаців, використовуючи метод Document.FirstSection.Body.GetChild(NodeType.PARAGRAPH, int, boolean).
- Викличте метод ExtractContent(startPara, endPara, true), щоб витягнути вузли в об’єкт.
- Використовуйте допоміжний метод GenerateDocument(Document, extractedNodes), щоб створити документ, що містить витягнутий вміст.
- Нарешті, збережіть повернутий документ за допомогою методу Document.Save(string).
Ось приклад коду, що демонструє, як витягнути текст з великих файлів Word, витягуючи вміст між 7-м і 11-м абзацами:
Витягування тексту між різними типами вузлів
Ви також можете витягти вміст між різними типами вузлів. Наприклад, давайте витягнемо вміст між абзацом і таблицею та збережемо його в новому документі Word. Виконайте ці кроки:
- Завантажте документ Word за допомогою класу Document.
- Зверніться до початкових і кінцевих вузлів за допомогою методу Document.FirstSection.Body.GetChild(NodeType, int, boolean).
- Викличте метод ExtractContent(startPara, endPara, true), щоб витягнути вузли в об’єкт.
- Використовуйте допоміжний метод GenerateDocument(Document, extractedNodes), щоб створити документ, що містить витягнутий вміст.
- Збережіть повернутий документ за допомогою методу Document.Save(string).
Ось приклад коду, що ілюструє, як витягнути текст між абзацом і таблицею в C#:
Витягування тексту між абзацами на основі стилів
Тепер давайте розглянемо, як витягти вміст між абзацами на основі стилів. У цьому прикладі ми витягнемо вміст між першим “Заголовком 1” і першим “Заголовком 3” у документі Word. Виконайте ці кроки:
- Завантажте документ Word за допомогою класу Document.
- Витягніть абзаци в об’єкт за допомогою допоміжного методу ParagraphsByStyleName(Document, “Heading 1”).
- Витягніть абзаци в інший об’єкт за допомогою допоміжного методу ParagraphsByStyleName(Document, “Heading 3”).
- Викличте метод ExtractContent(startPara, endPara, true), передавши перші елементи в обох масивах абзаців як параметри.
- Використовуйте допоміжний метод GenerateDocument(Document, extractedNodes), щоб створити документ, що містить витягнутий вміст.
- Нарешті, збережіть повернутий документ за допомогою методу Document.Save(string).
Ось приклад коду, що демонструє, як витягнути вміст між абзацами на основі стилів:
Дізнайтеся більше про витягування тексту
Ознайомтеся з іншими сценаріями .NET API для витягування тексту з документів Word в цій статті документації.
Отримайте безкоштовну бібліотеку для витягування тексту з Word
Ви можете отримати безкоштовну тимчасову ліцензію, щоб витягувати текст без обмежень на оцінку.
Висновок
Aspose.Words for .NET — це універсальна бібліотека, яка спрощує процес витягування тексту з Word у C# з збереженням форматування. Завдяки своїм широким функціям і зручному API ви можете ефективно працювати з документами Word і автоматизувати різні сценарії, пов’язані з обробкою спеціальних символів під час витягування тексту з документів Word у C#. Чи розробляєте ви програми, які потребують обробки документів Word, чи просто витягуєте текст, Aspose.Words for .NET є цінним інструментом для розробників.
Досліджуйте додаткові можливості Aspose.Words for .NET через документацію. Якщо у вас є питання, не соромтеся звертатися через наш форум.
Дивіться також
Порада: Вам також може бути цікаво перевірити конвертер Aspose PowerPoint в Word, який демонструє популярний процес конвертації презентацій у документи Word.