Disposition dans la cellule

Introduction

Si vous avez toujours voulu peaufiner la disposition des cellules de votre tableau dans des documents Word par programmation, vous êtes au bon endroit. Aujourd’hui, nous allons découvrir comment définir la disposition dans une cellule à l’aide d’Aspose.Words pour .NET. Nous allons parcourir un exemple pratique, en le décomposant étape par étape afin que vous puissiez suivre facilement.

Prérequis

Avant de passer au code, assurons-nous que vous disposez de tout ce dont vous avez besoin :

  1. Aspose.Words pour .NET : assurez-vous que la bibliothèque Aspose.Words pour .NET est installée. Si ce n’est pas le cas, vous pouveztéléchargez-le ici.
  2. Environnement de développement : vous aurez besoin d’un environnement de développement configuré avec .NET. Visual Studio est un excellent choix si vous recherchez des recommandations.
  3. Connaissances de base de C# : bien que j’expliquerai chaque étape, une compréhension de base de C# vous aidera à suivre plus facilement.
  4. Répertoire de documents : préparez un chemin de répertoire dans lequel vous enregistrerez vos documents. Nous l’appelleronsYOUR DOCUMENT DIRECTORY.

Importer des espaces de noms

Pour commencer, assurez-vous d’importer les espaces de noms nécessaires dans votre projet :

using System;
using System.Drawing;
using Aspose.Words;
using Aspose.Words.Drawing;
using Aspose.Words.Tables;

Décomposons le processus en étapes gérables.

Étape 1 : Créer un nouveau document

Tout d’abord, nous allons créer un nouveau document Word et initialiser unDocumentBuilder objet pour nous aider à construire notre contenu.

string dataDir = "YOUR DOCUMENT DIRECTORY";
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Étape 2 : démarrer un tableau et définir le format des lignes

Nous allons commencer à construire un tableau et spécifier la hauteur et la règle de hauteur pour les lignes.

builder.StartTable();
builder.RowFormat.Height = 100;
builder.RowFormat.HeightRule = HeightRule.Exactly;

Étape 3 : insérer des cellules et les remplir avec du contenu

Ensuite, nous effectuons une boucle pour insérer des cellules dans le tableau. Pour chaque 7 cellules, nous terminerons la ligne pour en créer une nouvelle.

for (int i = 0; i < 31; i++)
{
    if (i != 0 && i % 7 == 0) builder.EndRow();
    builder.InsertCell();
    builder.Write("Cell contents");
}
builder.EndTable();

Étape 4 : ajouter une forme de filigrane

Maintenant, ajoutons un filigrane à notre document. Nous allons créer unShape objet et définir ses propriétés.

Shape watermark = new Shape(doc, ShapeType.TextPlainText)
{
    RelativeHorizontalPosition = RelativeHorizontalPosition.Page,
    RelativeVerticalPosition = RelativeVerticalPosition.Page,
    IsLayoutInCell = true, // Afficher la forme en dehors de la cellule du tableau si elle doit être placée dans une cellule.
    Width = 300,
    Height = 70,
    HorizontalAlignment = HorizontalAlignment.Center,
    VerticalAlignment = VerticalAlignment.Center,
    Rotation = -40
};

Étape 5 : Personnaliser l’apparence du filigrane

Nous personnaliserons davantage l’apparence du filigrane en définissant ses propriétés de couleur et de texte.

watermark.FillColor = Color.Gray;
watermark.StrokeColor = Color.Gray;
watermark.TextPath.Text = "watermarkText";
watermark.TextPath.FontFamily = "Arial";
watermark.Name = $"WaterMark_{Guid.NewGuid()}";
watermark.WrapType = WrapType.None;

Étape 6 : insérer un filigrane dans le document

Nous trouverons la dernière exécution dans le document et insérerons le filigrane à cette position.

Run run = doc.GetChildNodes(NodeType.Run, true)[doc.GetChildNodes(NodeType.Run, true).Count - 1] as Run;
builder.MoveTo(run);
builder.InsertNode(watermark);

Étape 7 : Optimiser le document pour Word 2010

Pour assurer la compatibilité, nous optimiserons le document pour Word 2010.

doc.CompatibilityOptions.OptimizeFor(MsWordVersion.Word2010);

Étape 8 : Enregistrer le document

Enfin, nous enregistrerons notre document dans le répertoire spécifié.

doc.Save(dataDir + "WorkingWithShapes.LayoutInCell.docx");

Conclusion

Et voilà ! Vous avez réussi à créer un document Word avec une mise en page de tableau personnalisée et à ajouter un filigrane à l’aide d’Aspose.Words pour .NET. Ce didacticiel vise à fournir un guide clair, étape par étape, pour vous aider à comprendre chaque partie du processus. Grâce à ces compétences, vous pouvez désormais créer des documents Word plus sophistiqués et personnalisés par programmation.

FAQ

Puis-je utiliser une police différente pour le texte du filigrane ?

Oui, vous pouvez modifier la police en définissant lewatermark.TextPath.FontFamily propriété à votre police souhaitée.

Comment ajuster la position du filigrane ?

Vous pouvez modifier leRelativeHorizontalPosition, RelativeVerticalPosition, HorizontalAlignment , etVerticalAlignment propriétés pour ajuster la position du filigrane.

Est-il possible d’utiliser une image au lieu du texte pour le filigrane ?

Absolument ! Vous pouvez créer unShape avec le typeShapeType.Image et définir son image en utilisant leImageData.SetImage méthode.

Puis-je créer des tableaux avec des hauteurs de lignes variables ?

Oui, vous pouvez définir des hauteurs différentes pour chaque rangée en modifiant leRowFormat.Height propriété avant d’insérer des cellules dans cette ligne.

Comment supprimer un filigrane du document ?

Vous pouvez supprimer le filigrane en le localisant dans la collection de formes du document et en appelant laRemove méthode.