Könyvjelzővel ellátott szöveg hozzáfűzése a Word-dokumentumhoz
Ebben a cikkben megvizsgáljuk a fenti C# forráskódot, hogy megértsük, hogyan használhatjuk a Könyvjelzővel ellátott szöveg hozzáfűzése funkciót az Aspose.Words for .NET könyvtárban. Ez a funkció lehetővé teszi, hogy egy Word-dokumentum adott könyvjelzőjében található szöveget hozzáadja egy másik dokumentumhoz.
Előfeltételek
- C# nyelv alapismerete.
- .NET fejlesztői környezet telepített Aspose.Words könyvtárral.
1. lépés: Bekezdések lekérése a könyvjelzőből
Mielőtt elkezdenénk hozzáadni a könyvjelző szövegét, be kell szereznünk azokat a bekezdéseket, amelyek a könyvjelző elejét és végét tartalmazzák. Ezt megteheti aBookmarkStart
ésBookmarkEnd
a könyvjelző tulajdonságai:
Paragraph startPara = (Paragraph) srcBookmark.BookmarkStart.ParentNode;
Paragraph endPara = (Paragraph) srcBookmark.BookmarkEnd.ParentNode;
2. lépés: Ellenőrizze a szülő bekezdéseket
Ellenőrizzük, hogy az eleje és a záró bekezdésnek van-e érvényes szülője, vagyis valóban egy bekezdéshez tartozik-e. Ha nem, kivételt generálunk:
if (startPara == null || endPara == null)
throw new InvalidOperationException(
"The parent of the beginning or the end of the bookmark is not a paragrap
hey, this situation can't be handled yet.");
3. lépés: Ellenőrizze a bekezdések szüleit
Ellenőrizzük, hogy a kezdő és a záró bekezdésnek ugyanaz a szülője. Ha nem, az azt jelenti, hogy a bekezdések nem ugyanabban a szakaszban vagy dokumentumban találhatók, és kivételt teszünk:
if (startPara.ParentNode != endPara.ParentNode)
throw new InvalidOperationException(
"Beginning and ending paragraphs have different parents, this situation cannot be handled yet.");
4. lépés: Bekezdések másolása
Iterálunk a csomópontokon (bekezdéseken) a kezdő bekezdéstől a befejező bekezdésig. Minden csomóponthoz létrehozunk egy másolatot, és importáljuk a céldokumentum kontextusába:
Node endNode = endPara.NextSibling;
for (Node curNode = startPara; curNode != endNode; curNode = curNode.NextSibling)
{
Node newNode = importer.ImportNode(curNode, true);
dstNode.AppendChild(newNode);
}
Példa forráskódra a Könyvjelzővel ellátott szöveg hozzáfűzéséhez az Aspose.Words for .NET használatával
Íme a teljes példaforráskód, amely bemutatja, hogyan lehet szöveget hozzáadni egy könyvjelzőből az Aspose.Words for .NET használatával:
// Ez az a bekezdés, amely a könyvjelző elejét tartalmazza.
Paragraph startPara = (Paragraph) srcBookmark.BookmarkStart.ParentNode;
// Ez az a bekezdés, amely a könyvjelző végét tartalmazza.
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.");
// Korlátozzuk magunkat egy meglehetősen egyszerű forgatókönyvre.
if (startPara.ParentNode != endPara.ParentNode)
throw new InvalidOperationException(
"Start and end paragraphs have different parents, cannot handle this scenario yet.");
// Minden bekezdést át akarunk másolni a kezdő bekezdéstől a záró bekezdésig (beleértve),
// ezért a csomópont, amelynél megállunk, egy a bekezdés végének után van.
Node endNode = endPara.NextSibling;
for (Node curNode = startPara; curNode != endNode; curNode = curNode.NextSibling)
{
//Ez létrehozza az aktuális csomópont másolatát, és importálja (érvényessé teszi) a kontextusba
// a céldokumentumról. Az importálás a stílusok és a listaazonosítók helyes beállítását jelenti.
Node newNode = importer.ImportNode(curNode, true);
dstNode.AppendChild(newNode);
}
Következtetés
Ebben a cikkben megvizsgáltuk a C# forráskódot, hogy megértsük, hogyan használható az Aspose.Words for .NET Könyvjelzővel ellátott szöveg hozzáfűzése funkciója. Követtünk egy lépésről lépésre szóló útmutatót a bekezdések könyvjelzőből való lekéréséhez, a szülők ellenőrzéséhez és a bekezdések másik dokumentumba másolásához.
GYIK a könyvjelzővel ellátott szöveg hozzáfűzéséhez a Word dokumentumban
1. kérdés: Milyen előfeltételei vannak az Aspose.Words for .NET “Szöveg hozzáadása könyvjelzőkkel” funkciójának használatához?
V: Az Aspose.Words for .NET “Szöveg hozzáadása könyvjelzőkkel” funkciójának használatához alapszintű C# nyelvtudással kell rendelkeznie. Szüksége van egy .NET fejlesztői környezetre is, amelyen az Aspose.Words könyvtár telepítve van.
2. kérdés: Hogyan lehet beolvasni azokat a bekezdéseket, amelyek egy könyvjelző elejét és végét tartalmazzák egy Word-dokumentumban?
V: A könyvjelző elejét és végét tartalmazó bekezdések megjelenítéséhez egy Word-dokumentumban elérheti aBookmarkStart
ésBookmarkEnd
a könyvjelző tulajdonságait. Itt van egy minta kód:
Paragraph startPara = (Paragraph) srcBookmark.BookmarkStart.ParentNode;
Paragraph endPara = (Paragraph) srcBookmark.BookmarkEnd.ParentNode;
3. kérdés: Mi történik, ha a kezdő és a záró bekezdésnek nincs érvényes szülője?
V: Ha a kezdő és záró bekezdésnek nincs érvényes szülője, azaz valójában nem bekezdések, akkor kivételt dobunk. Ez a helyzet jelenleg nem kezelhető.