Распутать документ Word
В этой статье мы рассмотрим приведенный выше исходный код C#, чтобы понять, как использовать функцию Untangle в библиотеке Aspose.Words для .NET. Эта функция раскрывает вложенные закладки, находящиеся в соседних строках таблицы.
Предварительные условия
- Базовые знания языка C#.
- Среда разработки .NET с установленной библиотекой Aspose.Words.
Шаг 1. Просмотрите закладки документа
Мы используем цикл foreach для перебора всех закладок, присутствующих в документе:
foreach(Bookmark bookmark in doc.Range.Bookmarks)
{
// Код для обработки закладок здесь
}
Шаг 2. Получите родительские строки из закладок
Мы используемGetAncestor
методы для получения родительских строк начального и конечного узлов закладки:
Row row1 = (Row)bookmark.BookmarkStart.GetAncestor(typeof(Row));
Row row2 = (Row)bookmark.BookmarkEnd.GetAncestor(typeof(Row));
Шаг 3. Распутывайте вложенные закладки
Если обе родительские строки найдены и закладка начинается и заканчивается в соседних строках, перемещаем конечный узел закладки в конец последнего абзаца последней ячейки в верхней строке:
if (row1 != null && row2 != null && row1.NextSibling == row2)
row1.LastCell.LastParagraph.AppendChild(bookmark.BookmarkEnd);
Пример исходного кода для Untangle с использованием Aspose.Words для .NET
Вот полный пример исходного кода для распутывания вложенных закладок с помощью Aspose.Words для .NET:
foreach (Bookmark bookmark in doc.Range.Bookmarks)
{
// Получите родительскую строку как закладки, так и конечного узла закладки.
Row row1 = (Row) bookmark.BookmarkStart.GetAncestor(typeof(Row));
Row row2 = (Row) bookmark.BookmarkEnd.GetAncestor(typeof(Row));
// Если обе строки найдены в порядке, а начало и конец закладки содержатся в соседних строках,
// переместите конечный узел закладки в конец последнего абзаца в последней ячейке верхней строки.
if (row1 != null && row2 != null && row1.NextSibling == row2)
row1.LastCell.LastParagraph.AppendChild(bookmark.BookmarkEnd);
}
Заключение
В этой статье мы изучили исходный код C#, чтобы понять, как использовать функцию Untangle Aspose.Words для .NET. Мы следовали пошаговому руководству, чтобы распутать вложенные закладки в соседних строках таблицы.
Часто задаваемые вопросы
Вопрос: Функция Untangle работает только с вложенными закладками в соседних строках таблицы?
О: Да, функция «Распутать» создана специально для распутывания вложенных закладок, находящихся в соседних строках таблицы. Если закладки не находятся на соседних строках, эта функция не будет применима.
Вопрос: Как определить вложенные закладки в документе Word?
О: Вы можете идентифицировать вложенные закладки, просматривая закладки в документе и проверяя, находятся ли начальная и конечная закладки в соседних строках таблицы. Вы можете использовать исходный код, представленный в этой статье, в качестве отправной точки для реализации этой функции.
Вопрос: Изменяет ли функция «Расшифровка» содержимое исходного документа?
О: Да, функция Untangle изменяет исходный документ, перемещая конечный узел закладки в конец последнего абзаца последней ячейки в верхней строке. Обязательно сохраните резервную копию документа перед применением этой функции.
Вопрос: Как я могу отделить вложенные закладки в других типах элементов документа, таких как разделы или абзацы?
О: Функция Untangle, представленная в этой статье, специально предназначена для распутывания вложенных закладок в соседних строках таблицы. Если вы хотите распутать вложенные закладки в других элементах документа, вам необходимо соответствующим образом адаптировать код и использовать соответствующие методы для доступа к нужным элементам.
Вопрос: Существуют ли другие способы распутать вложенные закладки в документе Word с помощью Aspose.Words for .NET?
О: Метод, представленный в этой статье, является распространенным методом распутывания вложенных закладок в соседних строках таблицы. Однако могут существовать и другие подходы или методы в зависимости от конкретных потребностей вашего проекта. Вы можете проверитьСсылки на Aspose.Words для .NET API для дальнейшего изучения доступных функций.