Modifier les contrôles de contenu
Ce didacticiel explique comment modifier différents types de contrôles de contenu dans un document Word à l’aide d’Aspose.Words pour .NET. Vous pouvez mettre à jour le texte, la valeur sélectionnée d’une liste déroulante ou remplacer une image dans les contrôles de contenu.
Conditions préalables
Pour suivre ce tutoriel, vous devez disposer des éléments suivants :
- Bibliothèque Aspose.Words pour .NET installée.
- Connaissance de base de C# et du traitement de mots avec des documents Word.
Étape 1 : configurer le répertoire de documents
Commencez par configurer le chemin d’accès à votre répertoire de documents. Remplacer"YOUR DOCUMENT DIRECTORY"
avec le chemin réel vers le répertoire où se trouve votre document.
string dataDir = "YOUR DOCUMENT DIRECTORY";
Étape 2 : charger le document et parcourir les contrôles de contenu
Chargez le document Word à l’aide duDocument
constructeur, en passant le chemin d’accès au document en paramètre. Parcourez toutes les balises de document structuré du document à l’aide d’unforeach
boucle.
Document doc = new Document(dataDir + "Structured document tags.docx");
foreach (StructuredDocumentTag sdt in doc.GetChildNodes(NodeType.StructuredDocumentTag, true))
{
// Effectuer des actions en fonction du type de contrôle de contenu
}
Étape 3 : Modifier le contrôle du contenu en texte brut
Pour les contrôles de contenu de typeSdtType.PlainText
, supprimez tous les enfants existants, créez un nouveau paragraphe et ajoutez une séquence avec le texte souhaité.
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;
}
Étape 4 : Modifier le contrôle du contenu de la liste déroulante
Pour les contrôles de contenu de typeSdtType.DropDownList
, mettez à jour la valeur sélectionnée en la définissant sur un paramètre spécifiqueSdtListItem
.
case SdtType.DropDownList:
{
SdtListItem secondItem = sdt.ListItems[2];
sdt.ListItems.SelectedValue = secondItem;
break;
}
Étape 5 : Modifier le contrôle du contenu de l’image
Pour les contrôles de contenu de typeSdtType.Picture
, récupérez la forme dans le contrôle de contenu et remplacez son image par une nouvelle.
case SdtType.Picture:
{
Shape shape = (Shape)sdt.GetChild(NodeType.Shape, 0, true);
if (shape.HasImage)
{
shape.ImageData.SetImage(ImagesDir + "Watermark.png");
}
break;
}
Étape 6 : Enregistrez le document modifié
Enregistrez le document modifié dans le répertoire spécifié à l’aide duSave
méthode. Fournissez le nom de fichier souhaité avec l’extension de fichier appropriée. Dans cet exemple, nous enregistrons le document sous le nom « WorkingWithSdt.ModifyContentControls.docx ».
doc.Save(dataDir + "WorkingWithSdt.ModifyContentControls.docx");
Exemple de code source pour modifier les contrôles de contenu à l’aide d’Aspose.Words pour .NET
// Chemin d'accès à votre répertoire de documents
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");
C’est ça! Vous avez modifié avec succès différents types de contrôles de contenu dans votre document Word à l’aide d’Aspose.Words pour .NET.