Skopiuj tekst z zakładek do dokumentu programu Word
tym artykule omówimy powyższy kod źródłowy C#, aby zrozumieć, jak używać funkcji Kopiuj tekst z zakładkami w bibliotece Aspose.Words dla .NET. Ta funkcja umożliwia skopiowanie zawartości określonej zakładki z dokumentu źródłowego do innego dokumentu.
Warunki wstępne
- Podstawowa znajomość języka C#.
- Środowisko programistyczne .NET z zainstalowaną biblioteką Aspose.Words.
Krok 1: Ładowanie dokumentu źródłowego
Przed skopiowaniem tekstu zakładki musimy załadować dokument źródłowy do plikuDocument
obiekt przy użyciu ścieżki pliku:
string dataDir = "YOUR DOCUMENT DIRECTORY";
Document srcDoc = new Document(dataDir + "Bookmarks.docx");
Krok 2: Pobieranie zakładki źródłowej
UżywamyBookmarks
właściwość zakresu dokumentu źródłowego, aby uzyskać konkretną zakładkę, którą chcemy skopiować:
Bookmark srcBookmark = srcDoc.Range.Bookmarks["MyBookmark1"];
Krok 3: Tworzenie dokumentu docelowego
Tworzymy nowy dokument, który będzie dokumentem docelowym do skopiowania zawartości zakładki:
Document dstDoc = new Document();
Krok 4: Określanie lokalizacji kopii
Określamy lokalizację, w której chcemy dodać skopiowany tekst. W naszym przykładzie dodajemy tekst na końcu treści ostatniej sekcji dokumentu docelowego:
CompositeNode dstNode = dstDoc.LastSection.Body;
Krok 5: Zaimportuj i skopiuj tekst zakładki
Używamy ANodeImporter
obiekt, aby zaimportować i skopiować tekst zakładek z dokumentu źródłowego do dokumentu docelowego:
NodeImporter importer = new NodeImporter(srcDoc, dstDoc, ImportFormatMode.KeepSourceFormatting);
AppendBookmarkedText(import, srcBookmark, dstNode);
dstDoc.Save(dataDir + "WorkingWithBookmarks.CopyBookmarkedText.docx");
Przykładowy kod źródłowy kopiowania tekstu z zakładkami przy użyciu Aspose.Words dla .NET
Oto pełny przykładowy kod źródłowy demonstrujący kopiowanie tekstu z zakładki przy użyciu Aspose.Words dla .NET:
// Ścieżka do katalogu dokumentów.
string dataDir = "YOUR DOCUMENT DIRECTORY";
Document srcDoc = new Document(dataDir + "Bookmarks.docx");
// To jest zakładka, której zawartość chcemy skopiować.
Bookmark srcBookmark = srcDoc.Range.Bookmarks["MyBookmark1"];
// Będziemy uzupełniać ten dokument.
Document dstDoc = new Document();
// Powiedzmy, że zostaniemy dołączeni na końcu treści ostatniej sekcji.
CompositeNode dstNode = dstDoc.LastSection.Body;
// Jeśli importujesz wiele razy bez jednego kontekstu, spowoduje to utworzenie wielu stylów.
NodeImporter importer = new NodeImporter(srcDoc, dstDoc, ImportFormatMode.KeepSourceFormatting);
AppendBookmarkedText(importer, srcBookmark, dstNode);
dstDoc.Save(dataDir + "WorkingWithBookmarks.CopyBookmarkedText.docx");
Dołącz kod źródłowy BookmarkedText
private void AppendBookmarkedText(NodeImporter importer, Bookmark srcBookmark, CompositeNode dstNode)
{
// To jest akapit zawierający początek zakładki.
Paragraph startPara = (Paragraph) srcBookmark.BookmarkStart.ParentNode;
// To jest akapit zawierający koniec zakładki.
Paragraph endPara = (Paragraph) srcBookmark.BookmarkEnd.ParentNode;
if (startPara == null || endPara == null)
throw new InvalidOperationException(
"Parent of the bookmark start or end is not a paragraph, cannot handle this scenario yet.");
// Ograniczmy się do w miarę prostego scenariusza.
if (startPara.ParentNode != endPara.ParentNode)
throw new InvalidOperationException(
"Start and end paragraphs have different parents, cannot handle this scenario yet.");
// Chcemy skopiować wszystkie akapity od akapitu początkowego do akapitu końcowego (włącznie),
// dlatego węzeł, w którym się zatrzymujemy, znajduje się po akapicie końcowym.
Node endNode = endPara.NextSibling;
for (Node curNode = startPara; curNode != endNode; curNode = curNode.NextSibling)
{
//Tworzy to kopię bieżącego węzła i importuje ją (uważa) w kontekście
// dokumentu docelowego. Importowanie oznacza prawidłowe dostosowanie stylów i identyfikatorów list.
Node newNode = importer.ImportNode(curNode, true);
dstNode.AppendChild(newNode);
}
}
Wniosek
W tym artykule zbadaliśmy kod źródłowy C#, aby zrozumieć, jak korzystać z funkcji Kopiuj tekst z zakładkami z Aspose.Words dla .NET. Postępowaliśmy zgodnie z przewodnikiem krok po kroku, jak skopiować zawartość zakładki z dokumentu źródłowego do innego dokumentu.
Często zadawane pytania dotyczące kopiowania tekstu z zakładek w dokumencie programu Word
P: Jakie są wymagania, aby korzystać z funkcji „Kopiuj tekst za pomocą zakładek” w Aspose.Words dla .NET?
Odp.: Aby korzystać z funkcji „Kopiuj tekst za pomocą zakładek” w Aspose.Words dla .NET, musisz mieć podstawową wiedzę o języku C#. Potrzebujesz także środowiska programistycznego .NET z zainstalowaną biblioteką Aspose.Words.
P: Jak załadować dokument źródłowy do Aspose.Words dla .NET?
Odp.: Aby załadować dokument źródłowy do Aspose.Words dla .NET, możesz użyć metodyDocument
class, określając ścieżkę pliku dokumentu. Oto przykładowy kod:
Document srcDoc = new Document("path/to/your/document.docx");
P: Jak uzyskać zawartość określonej zakładki w dokumencie źródłowym przy użyciu Aspose.Words dla .NET?
Odp.: Aby uzyskać zawartość określonej zakładki w dokumencie źródłowym przy użyciu Aspose.Words dla .NET, możesz uzyskać dostęp doBookmarks
właściwość zakresu dokumentu źródłowego i użyj nazwy zakładki, aby pobrać konkretną zakładkę. Oto przykładowy kod:
Bookmark srcBookmark = srcDoc.Range.Bookmarks["BookmarkName"];
P: Jak określić lokalizację kopii tekstu zakładki w dokumencie docelowym przy użyciu Aspose.Words dla .NET?
O: Aby określić, gdzie chcesz dodać skopiowany tekst zakładek w dokumencie docelowym przy użyciu Aspose.Words dla .NET, możesz przejść do treści ostatniej sekcji dokumentu docelowego. Możesz skorzystać zLastSection
aby uzyskać dostęp do ostatniej sekcji i plikuBody
właściwość, aby uzyskać dostęp do treści tej sekcji. Oto przykładowy kod:
CompositeNode dstNode = dstDoc.LastSection.Body;
P: Jak importować i kopiować tekst zakładek z dokumentu źródłowego do dokumentu docelowego przy użyciu Aspose.Words dla .NET?
O: Aby zaimportować i skopiować tekst zakładek z dokumentu źródłowego do dokumentu docelowego za pomocą Aspose.Words dla .NET, możesz użyćNodeImporter
class określająca dokument źródłowy, dokument docelowy i tryb formatowania, który ma zostać zachowany. Następnie możesz użyćAppendBookmarkedText
metoda dodania tekstu zakładki w dokumencie docelowym. Oto przykładowy kod:
NodeImporter importer = new NodeImporter(srcDoc, dstDoc, ImportFormatMode.KeepSourceFormatting);
AppendBookmarkedText(import, srcBookmark, dstNode);
P: Jak zapisać dokument docelowy po skopiowaniu tekstu zakładek przy użyciu Aspose.Words dla .NET?
Odp.: Aby zapisać dokument docelowy po skopiowaniu tekstu z zakładki przy użyciu Aspose.Words dla .NET, możesz użyćSave
metodaDocument
obiekt określający ścieżkę pliku docelowego. Oto przykładowy kod:
dstDoc.Save("path/to/your/destination-document.docx");