Kopírovat text se záložkou v dokumentu aplikace Word
tomto článku prozkoumáme zdrojový kód C# výše, abychom pochopili, jak používat funkci Kopírovat text označený záložkou v knihovně Aspose.Words for .NET. Tato funkce umožňuje zkopírovat obsah konkrétní záložky ze zdrojového dokumentu do jiného dokumentu.
Předpoklady
- Základní znalost jazyka C#.
- Vývojové prostředí .NET s nainstalovanou knihovnou Aspose.Words.
Krok 1: Načtení zdrojového dokumentu
Před zkopírováním textu záložky musíme načíst zdrojový dokument do aDocument
objekt pomocí cesty k souboru:
string dataDir = "YOUR DOCUMENT DIRECTORY";
Document srcDoc = new Document(dataDir + "Bookmarks.docx");
Krok 2: Získání záložky zdroje
PoužívámeBookmarks
vlastnost rozsahu zdrojového dokumentu pro získání konkrétní záložky, kterou chceme zkopírovat:
Bookmark srcBookmark = srcDoc.Range.Bookmarks["MyBookmark1"];
Krok 3: Vytvoření cílového dokumentu
Vytvoříme nový dokument, který bude sloužit jako cílový dokument pro zkopírování obsahu záložky:
Document dstDoc = new Document();
Krok 4: Určení umístění kopie
Určíme umístění, kam chceme přidat zkopírovaný text. V našem příkladu přidáme text na konec těla poslední části cílového dokumentu:
CompositeNode dstNode = dstDoc.LastSection.Body;
Krok 5: Importujte a zkopírujte text záložky
Používáme aNodeImporter
objekt pro import a kopírování textu záložky ze zdrojového dokumentu do cílového dokumentu:
NodeImporter importer = new NodeImporter(srcDoc, dstDoc, ImportFormatMode.KeepSourceFormatting);
AppendBookmarkedText(import, srcBookmark, dstNode);
dstDoc.Save(dataDir + "WorkingWithBookmarks.CopyBookmarkedText.docx");
Příklad zdrojového kódu pro kopírování textu označeného záložkou pomocí Aspose.Words for .NET
Zde je úplný ukázkový zdrojový kód, který demonstruje kopírování textu ze záložky pomocí Aspose.Words for .NET:
// Cesta k adresáři dokumentů.
string dataDir = "YOUR DOCUMENT DIRECTORY";
Document srcDoc = new Document(dataDir + "Bookmarks.docx");
// Toto je záložka, jejíž obsah chceme zkopírovat.
Bookmark srcBookmark = srcDoc.Range.Bookmarks["MyBookmark1"];
// Tento dokument budeme doplňovat.
Document dstDoc = new Document();
// Řekněme, že budeme připojeni na konec těla poslední sekce.
CompositeNode dstNode = dstDoc.LastSection.Body;
// Pokud importujete vícekrát bez jediného kontextu, vytvoří se mnoho stylů.
NodeImporter importer = new NodeImporter(srcDoc, dstDoc, ImportFormatMode.KeepSourceFormatting);
AppendBookmarkedText(importer, srcBookmark, dstNode);
dstDoc.Save(dataDir + "WorkingWithBookmarks.CopyBookmarkedText.docx");
AppendBookmarkedText Zdrojový kód
private void AppendBookmarkedText(NodeImporter importer, Bookmark srcBookmark, CompositeNode dstNode)
{
// Toto je odstavec, který obsahuje začátek záložky.
Paragraph startPara = (Paragraph) srcBookmark.BookmarkStart.ParentNode;
// Toto je odstavec, který obsahuje konec záložky.
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.");
// Omezte se na přiměřeně jednoduchý scénář.
if (startPara.ParentNode != endPara.ParentNode)
throw new InvalidOperationException(
"Start and end paragraphs have different parents, cannot handle this scenario yet.");
// Chceme zkopírovat všechny odstavce od počátečního odstavce až po (včetně) koncového odstavce,
// proto uzel, u kterého zastavíme, je jeden za koncovým odstavcem.
Node endNode = endPara.NextSibling;
for (Node curNode = startPara; curNode != endNode; curNode = curNode.NextSibling)
{
//Tím se vytvoří kopie aktuálního uzlu a importuje se (učiní se platným) v kontextu
// cílového dokumentu. Import znamená správnou úpravu stylů a identifikátorů seznamu.
Node newNode = importer.ImportNode(curNode, true);
dstNode.AppendChild(newNode);
}
}
Závěr
V tomto článku jsme prozkoumali zdrojový kód C#, abychom pochopili, jak používat funkci Kopírovat text označený záložkou z Aspose.Words pro .NET. Při kopírování obsahu záložky ze zdrojového dokumentu do jiného dokumentu jsme postupovali podle podrobného průvodce.
Časté dotazy pro kopírování textu označeného záložkou v dokumentu aplikace Word
Otázka: Jaké jsou požadavky na použití funkce “Kopírovat text se záložkami” v Aspose.Words for .NET?
A: Chcete-li použít funkci “Kopírovat text se záložkami” v Aspose.Words pro .NET, musíte mít základní znalosti jazyka C#. Potřebujete také vývojové prostředí .NET s nainstalovanou knihovnou Aspose.Words.
Otázka: Jak načtu zdrojový dokument do Aspose.Words for .NET?
A: Chcete-li načíst zdrojový dokument v Aspose.Words pro .NET, můžete použítDocument
třídy zadáním cesty k souboru dokumentu. Zde je ukázkový kód:
Document srcDoc = new Document("path/to/your/document.docx");
Otázka: Jak získat obsah konkrétní záložky ve zdrojovém dokumentu pomocí Aspose.Words for .NET?
Odpověď: Chcete-li získat obsah konkrétní záložky ve zdrojovém dokumentu pomocí Aspose.Words for .NET, můžete přistupovat kBookmarks
vlastnost rozsahu zdrojového dokumentu a použijte název záložky k načtení konkrétní záložky. Zde je ukázkový kód:
Bookmark srcBookmark = srcDoc.Range.Bookmarks["BookmarkName"];
Otázka: Jak určit umístění kopie textu záložky v cílovém dokumentu pomocí Aspose.Words for .NET?
Odpověď: Chcete-li určit, kam chcete přidat zkopírovaný text záložky v cílovém dokumentu pomocí Aspose.Words for .NET, můžete přejít do těla poslední části cílového dokumentu. Můžete použítLastSection
vlastnost pro přístup k poslední sekci aBody
vlastnost pro přístup k tělu této sekce. Zde je ukázkový kód:
CompositeNode dstNode = dstDoc.LastSection.Body;
Otázka: Jak importovat a kopírovat text záložky ze zdrojového dokumentu do cílového dokumentu pomocí Aspose.Words for .NET?
Odpověď: Chcete-li importovat a zkopírovat text záložky ze zdrojového dokumentu do cílového dokumentu pomocí Aspose.Words for .NET, můžete použítNodeImporter
třída určující zdrojový dokument, cílový dokument a režim formátování, který se má zachovat. Poté můžete použítAppendBookmarkedText
způsob přidání textu záložky do cílového dokumentu. Zde je ukázkový kód:
NodeImporter importer = new NodeImporter(srcDoc, dstDoc, ImportFormatMode.KeepSourceFormatting);
AppendBookmarkedText(import, srcBookmark, dstNode);
Otázka: Jak uložit cílový dokument po zkopírování textu záložky pomocí Aspose.Words for .NET?
Odpověď: Chcete-li uložit cílový dokument po zkopírování textu ze záložky pomocí Aspose.Words for .NET, můžete použítSave
metodaDocument
objekt určující cestu k cílovému souboru. Zde je ukázkový kód:
dstDoc.Save("path/to/your/destination-document.docx");