Ändra innehållskontroller
Denna handledning förklarar hur du ändrar olika typer av innehållskontroller i ett Word-dokument med Aspose.Words för .NET. Du kan uppdatera texten, det valda värdet i en rullgardinslista eller ersätta en bild i innehållskontrollerna.
Förutsättningar
För att följa denna handledning måste du ha följande:
- Aspose.Words för .NET-biblioteket installerat.
- Grundläggande kunskaper i C# och ordbehandling med Word-dokument.
Steg 1: Konfigurera dokumentkatalogen
Börja med att ställa in sökvägen till din dokumentkatalog. Byta ut"YOUR DOCUMENT DIRECTORY"
med den faktiska sökvägen till katalogen där ditt dokument finns.
string dataDir = "YOUR DOCUMENT DIRECTORY";
Steg 2: Ladda dokumentet och upprepa innehållskontrollerna
Ladda Word-dokumentet med hjälp avDocument
konstruktor, skickar sökvägen till dokumentet som en parameter. Iterera över alla strukturerade dokumenttaggar i dokumentet med hjälp av enforeach
slinga.
Document doc = new Document(dataDir + "Structured document tags.docx");
foreach (StructuredDocumentTag sdt in doc.GetChildNodes(NodeType.StructuredDocumentTag, true))
{
// Utför åtgärder baserat på typen av innehållskontroll
}
Steg 3: Ändra innehållskontroll för vanlig text
För innehållskontroller av typSdtType.PlainText
, ta bort alla befintliga underordnade, skapa ett nytt stycke och lägg till en körning med önskad text.
case SdtType.PlainText:
{
sdt.RemoveAllChildren();
Paragraph para = sdt.AppendChild(new Paragraph(doc)) as Paragraph;
Run run = new Run(doc, "new text goes here");
para.AppendChild(run);
break;
}
Steg 4: Ändra innehållskontroll i rullgardinsmenyn
För innehållskontroller av typSdtType.DropDownList
, uppdatera det valda värdet genom att ställa in det till ett specifiktSdtListItem
.
case SdtType.DropDownList:
{
SdtListItem secondItem = sdt.ListItems[2];
sdt.ListItems.SelectedValue = secondItem;
break;
}
Steg 5: Ändra bildinnehållskontroll
För innehållskontroller av typSdtType.Picture
, hämta formen i innehållskontrollen och ersätt dess bild med en ny.
case SdtType.Picture:
{
Shape shape = (Shape)sdt.GetChild(NodeType.Shape, 0, true);
if (shape.HasImage)
{
shape.ImageData.SetImage(ImagesDir + "Watermark.png");
}
break;
}
Steg 6: Spara det ändrade dokumentet
Spara det ändrade dokumentet i den angivna katalogen med hjälp avSave
metod. Ange önskat filnamn med lämplig filtillägg. I det här exemplet sparar vi dokumentet som “WorkingWithSdt.ModifyContentControls.docx”.
doc.Save(dataDir + "WorkingWithSdt.ModifyContentControls.docx");
Exempel på källkod för Ändra innehållskontroller med Aspose.Words för .NET
// Sökväg till din dokumentkatalog
string dataDir = "YOUR DOCUMENT DIRECTORY";
Document doc = new Document(dataDir + "Structured document tags.docx");
foreach (StructuredDocumentTag sdt in doc.GetChildNodes(NodeType.StructuredDocumentTag, true))
{
switch (sdt.SdtType)
{
case SdtType.PlainText:
{
sdt.RemoveAllChildren();
Paragraph para = sdt.AppendChild(new Paragraph(doc)) as Paragraph;
Run run = new Run(doc, "new text goes here");
para.AppendChild(run);
break;
}
case SdtType.DropDownList:
{
SdtListItem secondItem = sdt.ListItems[2];
sdt.ListItems.SelectedValue = secondItem;
break;
}
case SdtType.Picture:
{
Shape shape = (Shape) sdt.GetChild(NodeType.Shape, 0, true);
if (shape.HasImage)
{
shape.ImageData.SetImage(ImagesDir + "Watermark.png");
}
break;
}
}
}
doc.Save(dataDir + "WorkingWithSdt.ModifyContentControls.docx");
Det är allt! Du har framgångsrikt modifierat olika typer av innehållskontroller i ditt Word-dokument med Aspose.Words för .NET.