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 :
- 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.
- 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.
- Connaissances de base de C# : bien que j’expliquerai chaque étape, une compréhension de base de C# vous aidera à suivre plus facilement.
- Répertoire de documents : préparez un chemin de répertoire dans lequel vous enregistrerez vos documents. Nous l’appellerons
YOUR 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.