Modifica i controlli del contenuto

Questo tutorial spiega come modificare diversi tipi di controlli del contenuto in un documento di Word utilizzando Aspose.Words per .NET. Puoi aggiornare il testo, il valore selezionato di un elenco a discesa o sostituire un’immagine all’interno dei controlli del contenuto.

Prerequisiti

Per seguire questo tutorial, è necessario disporre di quanto segue:

  • Aspose.Words per la libreria .NET installata.
  • Conoscenza base di C# ed elaborazione testi con documenti Word.

Passaggio 1: impostare la directory dei documenti

Inizia impostando il percorso della directory dei documenti. Sostituire"YOUR DOCUMENT DIRECTORY" con il percorso effettivo della directory in cui si trova il documento.

string dataDir = "YOUR DOCUMENT DIRECTORY";

Passaggio 2: caricare il documento e ripetere i controlli del contenuto

Caricare il documento Word utilizzando il fileDocumentcostruttore, passando il percorso del documento come parametro. Itera su tutti i tag del documento strutturato nel documento utilizzando aforeach ciclo continuo.

Document doc = new Document(dataDir + "Structured document tags.docx");
foreach (StructuredDocumentTag sdt in doc.GetChildNodes(NodeType.StructuredDocumentTag, true))
{
    // Esegui azioni in base al tipo di controllo del contenuto
}

Passaggio 3: modificare il controllo del contenuto in testo semplice

Per i controlli del contenuto di tipoSdtType.PlainText, rimuovi tutti i figli esistenti, crea un nuovo paragrafo e aggiungi una sequenza con il testo desiderato.

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

Passaggio 4: modificare il controllo del contenuto dell’elenco a discesa

Per i controlli del contenuto di tipoSdtType.DropDownList , aggiorna il valore selezionato impostandolo su uno specificoSdtListItem.

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

Passaggio 5: modificare il controllo del contenuto dell’immagine

Per i controlli del contenuto di tipoSdtType.Picture, recupera la forma all’interno del controllo contenuto e sostituisci la relativa immagine con una nuova.

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

Passaggio 6: salva il documento modificato

Salvare il documento modificato nella directory specificata utilizzando il fileSave metodo. Fornire il nome file desiderato con l’estensione file appropriata. In questo esempio, salviamo il documento come “WorkingWithSdt.ModifyContentControls.docx”.

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

Codice sorgente di esempio per Modifica controlli contenuto utilizzando Aspose.Words per .NET

	// Percorso della directory dei documenti
	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");

Questo è tutto! Hai modificato con successo diversi tipi di controlli del contenuto nel tuo documento Word utilizzando Aspose.Words per .NET.