Zmodyfikuj kontrolę zawartości

W tym samouczku wyjaśniono, jak modyfikować różne typy kontrolek treści w dokumencie programu Word przy użyciu Aspose.Words dla .NET. Możesz zaktualizować tekst, wybraną wartość z listy rozwijanej lub zastąpić obraz w ramach kontrolek zawartości.

Warunki wstępne

Aby skorzystać z tego samouczka, musisz mieć następujące elementy:

  • Zainstalowana biblioteka Aspose.Words dla .NET.
  • Podstawowa znajomość języka C# i przetwarzania tekstów w dokumentach Word.

Krok 1: Skonfiguruj katalog dokumentów

Rozpocznij od ustawienia ścieżki do katalogu dokumentów. Zastępować"YOUR DOCUMENT DIRECTORY" z rzeczywistą ścieżką do katalogu, w którym znajduje się dokument.

string dataDir = "YOUR DOCUMENT DIRECTORY";

Krok 2: Załaduj dokument i wykonaj iterację po kontrolkach zawartości

Załaduj dokument Word za pomocąDocumentkonstruktor, przekazując ścieżkę do dokumentu jako parametr. Wykonaj iterację po wszystkich znacznikach dokumentu strukturalnego w dokumencie, używając aforeach pętla.

Document doc = new Document(dataDir + "Structured document tags.docx");
foreach (StructuredDocumentTag sdt in doc.GetChildNodes(NodeType.StructuredDocumentTag, true))
{
    // Wykonuj działania w oparciu o typ kontroli treści
}

Krok 3: Zmodyfikuj kontrolę zawartości zwykłego tekstu

Dla kontroli zawartości typuSdtType.PlainText, usuń wszystkie istniejące elementy podrzędne, utwórz nowy akapit i dodaj ciąg z żądanym tekstem.

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;
}

Krok 4: Zmodyfikuj kontrolę zawartości listy rozwijanej

Dla kontroli zawartości typuSdtType.DropDownList , zaktualizuj wybraną wartość, ustawiając ją na określonąSdtListItem.

case SdtType.DropDownList:
{
    SdtListItem secondItem = sdt.ListItems[2];
    sdt.ListItems.SelectedValue = secondItem;
    break;
}

Krok 5: Zmodyfikuj kontrolę zawartości obrazu

Dla kontroli zawartości typuSdtType.Picture, pobierz kształt w kontrolce zawartości i zastąp jego obraz nowym.

case SdtType.Picture:
{
    Shape shape = (Shape)sdt.GetChild(NodeType.Shape, 0, true);
    if (shape.HasImage)
    {
        shape.ImageData.SetImage(ImagesDir + "Watermark.png");
    }
    break;
}

Krok 6: Zapisz zmodyfikowany dokument

Zapisz zmodyfikowany dokument w określonym katalogu za pomocąSave metoda. Podaj żądaną nazwę pliku z odpowiednim rozszerzeniem. W tym przykładzie zapisujemy dokument jako „WorkingWithSdt.ModifyContentControls.docx”.

doc.Save(dataDir + "WorkingWithSdt.ModifyContentControls.docx");

Przykładowy kod źródłowy modyfikacji kontroli zawartości przy użyciu Aspose.Words dla .NET

	// Ścieżka do katalogu dokumentów
	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");

Otóż to! Pomyślnie zmodyfikowałeś różne typy kontroli treści w dokumencie programu Word przy użyciu Aspose.Words dla .NET.