Распутать закладки строк в документе Word
В этой статье мы рассмотрим приведенный выше исходный код C#, чтобы понять, как использовать функцию Untangle Row Bookmarks в библиотеке Aspose.Words для .NET. Эта функция позволяет помещать концы закладок строк в одну строку с началом закладок.
Предварительные условия
- Базовые знания языка C#.
- Среда разработки .NET с установленной библиотекой Aspose.Words.
Шаг 1: Загрузка документа
Мы используемDocument
класс для загрузки существующего документа из файла:
string dataDir = "YOUR DOCUMENT DIRECTORY";
Document doc = new Document(dataDir + "Table column bookmarks.docx");
Шаг 2: Раскройте закладки линий
Мы используемUntangle
функция для распутывания закладок из строк. Эта функция выполняет пользовательскую задачу по размещению концов закладок в той же строке, где начинается закладка:
Untangle(doc);
Шаг 3. Удалить строку по закладке
Мы используемDeleteRowByBookmark
функция для удаления определенной строки по ее закладке:
DeleteRowByBookmark(doc, "ROW2");
Шаг 4. Проверьте целостность других закладок
Мы проверяем, что другие закладки не были повреждены, проверяя, присутствует ли конец закладки:
if (doc.Range.Bookmarks["ROW1"].BookmarkEnd == null)
throw new Exception("Wrong, the end of the bookmark was deleted.");
doc.Save(dataDir + "WorkingWithBookmarks.UntangleRowBookmarks.docx");
Пример исходного кода для закладок Untangle Row с использованием Aspose.Words для .NET
Вот полный пример исходного кода для распутывания закладок из строк с помощью Aspose.Words для .NET:
// Путь к каталогу документов.
string dataDir = "YOUR DOCUMENT DIRECTORY";
Document doc = new Document(dataDir + "Table column bookmarks.docx");
//При этом выполняется пользовательская задача по помещению концов закладки строки в ту же строку, где находится начало закладки.
Untangle(doc);
// Теперь мы можем легко удалять строки по закладке, не повреждая закладки других строк.
DeleteRowByBookmark(doc, "ROW2");
// Это просто для того, чтобы убедиться, что другая закладка не повреждена.
if (doc.Range.Bookmarks["ROW1"].BookmarkEnd == null)
throw new Exception("Wrong, the end of the bookmark was deleted.");
doc.Save(dataDir + "WorkingWithBookmarks.UntangleRowBookmarks.docx");
Распутать исходный код
private void Untangle(Document doc)
{
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);
}
}
Исходный код Удалеровбибукмарк
private void DeleteRowByBookmark(Document doc, string bookmarkName)
{
Bookmark bookmark = doc.Range.Bookmarks[bookmarkName];
Row row = (Row) bookmark?.BookmarkStart.GetAncestor(typeof(Row));
row?.Remove();
}
Заключение
В этой статье мы изучили исходный код C#, чтобы понять, как использовать функцию Untangle Row Bookmarks в Aspose.Words для .NET. Мы следовали пошаговому руководству, чтобы распутать закладки строк и удалить определенную строку, не повредив другие закладки.
Часто задаваемые вопросы по распутыванию закладок строк в документе Word
Вопрос. Работает ли функция «Расшифровка закладок строк» только с закладками строк в таблицах?
О: Да, функция «Распутать закладки строк» специально разработана для распутывания закладок строк в таблицах. Эту функцию можно использовать для обработки закладок строк в массивах и обеспечения того, чтобы концы закладок находились в той же строке, что и начала закладок.
Вопрос: Изменяет ли функция «Расшифровать закладки строк» содержимое исходного документа?
О: Да, функция «Расшифровать закладки строк» изменяет исходный документ, перемещая концы закладок строк, чтобы разместить их на той же строке, что и начала закладок. Обязательно сохраните резервную копию документа перед применением этой функции.
Вопрос: Как определить закладки строк в документе Word?
Ответ: Закладки строк обычно используются в таблицах для обозначения определенных разделов. Вы можете идентифицировать закладки строк, просматривая закладки в документе и проверяя, находятся ли закладки в строках таблицы.
Вопрос: Можно ли распутать закладки строк в несмежных таблицах?
О: Функция «Распутать закладки строк», представленная в этой статье, предназначена для распутывания закладок строк в соседних таблицах. Для распутывания закладок строк в несмежных таблицах могут потребоваться дополнительные корректировки кода в зависимости от структуры документа.
Вопрос: Какие еще манипуляции можно выполнять с закладками строк после их раскрытия?
О: После того, как закладки строк будут разгаданы, вы сможете производить различные манипуляции по мере необходимости. Это может включать редактирование, удаление или добавление содержимого в строки, отмеченные закладками. Обязательно обращайтесь с закладками строк осторожно, чтобы избежать нежелательного воздействия на остальную часть документа.