Rozplątaj zakładki wierszy w dokumencie programu Word
tym artykule zbadamy powyższy kod źródłowy C#, aby zrozumieć, jak używać funkcji Rozplątuj zakładki wierszy w bibliotece Aspose.Words dla .NET. Funkcja ta umożliwia umieszczenie końców zakładek linii w jednej linii z początkami zakładek.
Warunki wstępne
- Podstawowa znajomość języka C#.
- Środowisko programistyczne .NET z zainstalowaną biblioteką Aspose.Words.
Krok 1: Ładowanie dokumentu
UżywamyDocument
klasa, aby załadować istniejący dokument z pliku:
string dataDir = "YOUR DOCUMENT DIRECTORY";
Document doc = new Document(dataDir + "Table column bookmarks.docx");
Krok 2: Rozwikłaj zakładki liniowe
UżywamyUntangle
funkcja rozplątywania zakładek z wierszy. Ta funkcja wykonuje niestandardowe zadanie polegające na umieszczeniu końcówek linii w tej samej linii, w której zaczyna się zakładka:
Untangle(doc);
Krok 3: Usuń linię po zakładce
UżywamyDeleteRowByBookmark
funkcja usuwania określonego wiersza według jego zakładki:
DeleteRowByBookmark(doc, "ROW2");
Krok 4: Sprawdź integralność innych zakładek
Sprawdzamy, czy pozostałe zakładki nie zostały uszkodzone, sprawdzając, czy końcówka zakładki jest nadal obecna:
if (doc.Range.Bookmarks["ROW1"].BookmarkEnd == null)
throw new Exception("Wrong, the end of the bookmark was deleted.");
doc.Save(dataDir + "WorkingWithBookmarks.UntangleRowBookmarks.docx");
Przykładowy kod źródłowy dla zakładek Untangle Row przy użyciu Aspose.Words dla .NET
Oto pełny przykładowy kod źródłowy umożliwiający rozplątanie zakładek z linii za pomocą Aspose.Words dla .NET:
// Ścieżka do katalogu dokumentów.
string dataDir = "YOUR DOCUMENT DIRECTORY";
Document doc = new Document(dataDir + "Table column bookmarks.docx");
//Wykonuje niestandardowe zadanie polegające na umieszczeniu końców zakładek wiersza w tym samym wierszu, w którym rozpoczyna się zakładka.
Untangle(doc);
// Teraz możemy łatwo usuwać wiersze według zakładek, nie uszkadzając zakładek innych wierszy.
DeleteRowByBookmark(doc, "ROW2");
// Ma to na celu jedynie sprawdzenie, czy druga zakładka nie została uszkodzona.
if (doc.Range.Bookmarks["ROW1"].BookmarkEnd == null)
throw new Exception("Wrong, the end of the bookmark was deleted.");
doc.Save(dataDir + "WorkingWithBookmarks.UntangleRowBookmarks.docx");
Rozwikłaj kod źródłowy
private void Untangle(Document doc)
{
foreach (Bookmark bookmark in doc.Range.Bookmarks)
{
// Pobierz wiersz nadrzędny zarówno zakładki, jak i węzła końcowego zakładki.
Row row1 = (Row) bookmark.BookmarkStart.GetAncestor(typeof(Row));
Row row2 = (Row) bookmark.BookmarkEnd.GetAncestor(typeof(Row));
// Jeśli oba wiersze zostaną znalezione prawidłowo, a początek i koniec zakładki znajdują się w sąsiednich wierszach,
// przesuń węzeł końcowy zakładki na koniec ostatniego akapitu w ostatniej komórce górnego wiersza.
if (row1 != null && row2 != null && row1.NextSibling == row2)
row1.LastCell.LastParagraph.AppendChild(bookmark.BookmarkEnd);
}
}
Kod źródłowy DeleteRowByBookmark
private void DeleteRowByBookmark(Document doc, string bookmarkName)
{
Bookmark bookmark = doc.Range.Bookmarks[bookmarkName];
Row row = (Row) bookmark?.BookmarkStart.GetAncestor(typeof(Row));
row?.Remove();
}
Wniosek
W tym artykule zbadaliśmy kod źródłowy C#, aby zrozumieć, jak korzystać z funkcji Rozplątuj zakładki wierszy w Aspose.Words dla .NET. Postępowaliśmy zgodnie z przewodnikiem krok po kroku, jak rozplątać zakładki wierszy i usunąć określony wiersz bez uszkodzenia innych zakładek.
Często zadawane pytania dotyczące rozplątywania zakładek wierszy w dokumencie programu Word
P: Czy rozszyfrowanie zakładek wierszy działa tylko z zakładkami wierszy w tabelach?
O: Tak, funkcja Rozplątuj zakładki wierszy została specjalnie zaprojektowana do rozplątywania zakładek wierszy znajdujących się w tabelach. Tej funkcji można używać do przetwarzania zakładek linii w tablicach i zapewniania, że końce zakładek znajdują się w tej samej linii, co początki zakładek.
P: Czy funkcja Rozszyfruj zakładki linii modyfikuje zawartość oryginalnego dokumentu?
O: Tak, funkcja Rozszyfruj zakładki linii modyfikuje oryginalny dokument, przesuwając końce zakładek linii, aby umieścić je w tej samej linii, co początki zakładek. Przed zastosowaniem tej funkcji pamiętaj o zapisaniu kopii zapasowej dokumentu.
P: Jak mogę zidentyfikować zakładki liniowe w dokumencie programu Word?
Odp.: Zakładki wierszy są zwykle używane w tabelach do oznaczania określonych sekcji. Zakładki wierszy można zidentyfikować, przeglądając zakładki w dokumencie i sprawdzając, czy zakładki znajdują się w wierszach tabeli.
P: Czy można rozplątać zakładki wierszy w tabelach, które nie sąsiadują ze sobą?
O: Funkcja Rozwikłaj zakładki wierszy przedstawiona w tym artykule ma na celu rozplątanie zakładek wierszy w sąsiednich tabelach. Aby rozdzielić zakładki wierszy w niesąsiadujących ze sobą tabelach, mogą być wymagane dodatkowe poprawki w kodzie, w zależności od struktury dokumentu.
P: Jakie inne manipulacje mogę wykonać na zakładkach wierszy po ich rozwikłaniu?
Odp.: Po rozwikłaniu zakładek linii możesz w razie potrzeby wykonać różne manipulacje. Może to obejmować edycję, usuwanie lub dodawanie treści do zakładek. Z zakładkami liniowymi należy obchodzić się ostrożnie, aby uniknąć niepożądanego wpływu na resztę dokumentu.