DocumentBuilder

DocumentBuilder class

Fournit des méthodes pour insérer du texte, des images et d’autres contenus, spécifier la police, le formatage des paragraphes et des sections.

Pour en savoir plus, visitez lePrésentation du générateur de documents article de documentation.

public class DocumentBuilder

Constructeurs

NomLa description
DocumentBuilder()Initialise une nouvelle instance de cette classe.
DocumentBuilder(Document)Initialise une nouvelle instance de cette classe.
DocumentBuilder(DocumentBuilderOptions)Initialise une nouvelle instance de cette classe.
DocumentBuilder(DocumentDocumentBuilderOptions)Initialise une nouvelle instance de cette classe.

Propriétés

NomLa description
Bold { get; set; }Vrai si la police est formatée en gras.
CellFormat { get; }Renvoie un objet qui représente les propriétés de mise en forme des cellules du tableau actuel.
CurrentNode { get; }Obtient le nœud actuellement sélectionné dans ce DocumentBuilder.
CurrentParagraph { get; }Obtient le paragraphe actuellement sélectionné dans ceDocumentBuilder .
CurrentSection { get; }Obtient la section actuellement sélectionnée dans ceDocumentBuilder .
CurrentStory { get; }Obtient l’histoire actuellement sélectionnée dans ceDocumentBuilder .
CurrentStructuredDocumentTag { get; }Obtient la balise de document structuré actuellement sélectionnée dans ceDocumentBuilder .
Document { get; set; }Obtient ou définit leDocument objet auquel cet objet est attaché.
Font { get; }Renvoie un objet qui représente les propriétés de formatage de police actuelles.
IsAtEndOfParagraph { get; }Retoursvrai si le curseur est à la fin du paragraphe actuel.
IsAtEndOfStructuredDocumentTag { get; }Retoursvrai si le curseur se trouve à la fin d’une balise de document structuré.
IsAtStartOfParagraph { get; }Retoursvraisi le curseur est au début du paragraphe actuel (pas de texte avant le curseur).
Italic { get; set; }Vrai si la police est formatée en italique.
ListFormat { get; }Renvoie un objet qui représente les propriétés de formatage de la liste actuelle.
PageSetup { get; }Renvoie un objet qui représente la configuration de la page actuelle et les propriétés de la section.
ParagraphFormat { get; }Renvoie un objet qui représente les propriétés de formatage de paragraphe actuelles.
RowFormat { get; }Renvoie un objet qui représente les propriétés de formatage des lignes de tableau actuelles.
Underline { get; set; }Obtient/définit le type de soulignement pour la police actuelle.

Méthodes

NomLa description
DeleteRow(int, int)Supprime une ligne d’une table.
EndBookmark(string)Marque la position actuelle dans le document comme fin de signet.
EndColumnBookmark(string)Marque la position actuelle dans le document comme fin de signet de colonne. La position doit être dans une cellule de tableau.
EndEditableRange()Marque la position actuelle dans le document comme une fin de plage modifiable.
EndEditableRange(EditableRangeStart)Marque la position actuelle dans le document comme une fin de plage modifiable.
EndRow()Termine une ligne de tableau dans le document.
EndTable()Termine un tableau dans le document.
InsertBreak(BreakType)Insère un saut du type spécifié dans le document.
InsertCell()Insère une cellule de tableau dans le document.
InsertChart(ChartType, double, double)Insère un objet graphique dans le document et le met à l’échelle à la taille spécifiée.
InsertChart(ChartType, double, double, ChartStyle)Insère un objet graphique dans le document et le met à l’échelle à la taille spécifiée.
InsertChart(ChartTypeRelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType)Insère un objet graphique dans le document et le met à l’échelle à la taille spécifiée.
InsertChart(ChartTypeRelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapTypeChartStyle)Insère un objet graphique dans le document et le met à l’échelle à la taille spécifiée.
InsertCheckBox(string, bool, int)Insère un champ de formulaire de case à cocher à la position actuelle.
InsertCheckBox(string, bool, bool, int)Insère un champ de formulaire de case à cocher à la position actuelle.
InsertComboBox(string, string[], int)Insère un champ de formulaire combobox à la position actuelle.
InsertDocument(DocumentImportFormatMode)Insère un document à la position du curseur.
InsertDocument(DocumentImportFormatModeImportFormatOptions)Insère un document à la position du curseur.
InsertDocumentInline(DocumentImportFormatModeImportFormatOptions)Insère un document en ligne à la position du curseur.
InsertField(string)Insère un champ Word dans un document et met à jour le résultat du champ.
InsertField(FieldType, bool)Insère un champ Word dans un document et met éventuellement à jour le résultat du champ.
InsertField(string, string)Insère un champ Word dans un document sans mettre à jour le résultat du champ.
InsertFootnote(FootnoteType, string)Insère une note de bas de page ou de fin dans le document.
InsertFootnote(FootnoteType, string, string)Insère une note de bas de page ou de fin dans le document.
InsertForms2OleControl(Forms2OleControl)InsertsForms2OleControl objet dans la position actuelle.
InsertGroupShape(params ShapeBase[])Regroupe les formes passées en paramètre dans un nouveau nœud GroupShape qui est inséré dans la position actuelle.
InsertGroupShape(double, double, double, double, params ShapeBase[])Regroupe les formes passées en paramètre dans un nouveau nœud GroupShape de la taille spécifiée qui est inséré dans la position spécifiée.
InsertHorizontalRule()Insère une forme de règle horizontale dans le document.
InsertHtml(string)Insère une chaîne HTML dans le document.
InsertHtml(string, bool)Insère une chaîne HTML dans le document.
InsertHtml(string, HtmlInsertOptions)Insère une chaîne HTML dans le document. Permet de spécifier des options supplémentaires.
InsertHyperlink(string, string, bool)Insère un lien hypertexte dans le document.
InsertImage(byte[])Insère une image d’un tableau d’octets dans le document. L’image est insérée en ligne et à l’échelle 100 %.
InsertImage(Image)Insère une image à partir d’un .NETImage Objet dans le document. L’image est insérée en ligne et à l’échelle 100 %.
InsertImage(Stream)Insère une image d’un flux dans le document. L’image est insérée en ligne et à l’échelle 100 %.
InsertImage(string)Insère une image depuis un fichier ou une URL dans le document. L’image est insérée en ligne et à l’échelle 100 %.
InsertImage(byte[], double, double)Insère une image en ligne à partir d’un tableau d’octets dans le document et la met à l’échelle à la taille spécifiée.
InsertImage(Image, double, double)Insère une image en ligne à partir d’un .NETImage objet dans le document et le met à l’échelle à la taille spécifiée.
InsertImage(Stream, double, double)Insère une image en ligne à partir d’un flux dans le document et la met à l’échelle à la taille spécifiée.
InsertImage(string, double, double)Insère une image en ligne à partir d’un fichier ou d’une URL dans le document et la met à l’échelle à la taille spécifiée.
InsertImage(byte[], RelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType)Insère une image à partir d’un tableau d’octets à la position et à la taille spécifiées.
InsertImage(Image, RelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType)Insère une image à partir d’un .NETImage objet à la position et à la taille spécifiées.
InsertImage(Stream, RelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType)Insère une image à partir d’un flux à la position et à la taille spécifiées.
InsertImage(string, RelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType)Insère une image à partir d’un fichier ou d’une URL à la position et à la taille spécifiées.
InsertNode(Node)Insère un nœud avant le curseur.
InsertOleObject(Stream, string, bool, Stream)Insère un objet OLE incorporé à partir d’un flux dans le document.
InsertOleObject(string, bool, bool, Stream)Insère un objet OLE incorporé ou lié d’un fichier dans le document. Détecte le type d’objet OLE grâce à l’extension de fichier.
InsertOleObject(string, string, bool, bool, Stream)Insère un objet OLE incorporé ou lié d’un fichier dans le document. Détecte le type d’objet OLE à l’aide du paramètre progID donné.
InsertOleObjectAsIcon(Stream, string, string, string)Insère un objet OLE incorporé comme icône depuis un flux dans le document. Permet de spécifier le fichier d’icône et la légende. Détecte le type d’objet OLE à l’aide du paramètre progID donné.
InsertOleObjectAsIcon(string, bool, string, string)Insère un objet OLE incorporé ou lié comme icône dans le document. Permet de spécifier le fichier et la légende de l’icône. Détecte le type d’objet OLE grâce à l’extension de fichier.
InsertOleObjectAsIcon(string, string, bool, string, string)Insère un objet OLE incorporé ou lié comme icône dans le document. Permet de spécifier le fichier d’icône et la légende. Détecte le type d’objet OLE à l’aide du paramètre progID donné.
InsertOnlineVideo(string, double, double)Insère un objet vidéo en ligne dans le document et le met à l’échelle à la taille spécifiée.
InsertOnlineVideo(string, string, byte[], double, double)Insère un objet vidéo en ligne dans le document et le met à l’échelle à la taille spécifiée.
InsertOnlineVideo(string, RelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType)Insère un objet vidéo en ligne dans le document et le met à l’échelle à la taille spécifiée.
InsertOnlineVideo(string, string, byte[], RelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType)Insère un objet vidéo en ligne dans le document et le met à l’échelle à la taille spécifiée.
InsertParagraph()Insère un saut de paragraphe dans le document.
InsertShape(ShapeType, double, double)Insère une forme en ligne avec le type et la taille spécifiés.
InsertShape(ShapeTypeRelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType)Insère une forme flottante avec une position, une taille et un type d’habillage de texte spécifiés.
InsertSignatureLine(SignatureLineOptions)Insère une ligne de signature à la position actuelle.
InsertSignatureLine(SignatureLineOptionsRelativeHorizontalPosition, double, RelativeVerticalPosition, double, WrapType)Insère une ligne de signature à la position spécifiée.
InsertStructuredDocumentTag(SdtType)Insère unStructuredDocumentTag dans le document.
InsertStyleSeparator()Insère un séparateur de style dans le document.
InsertTableOfContents(string)Insère un champ TOC (table des matières) dans le document.
InsertTextInput(string, TextFormFieldType, string, string, int)Insère un champ de formulaire de texte à la position actuelle.
MoveTo(Node)Déplace le curseur vers un nœud en ligne ou à la fin d’un paragraphe.
MoveToBookmark(string)Déplace le curseur vers un signet.
MoveToBookmark(string, bool, bool)Déplace le curseur vers un signet avec une plus grande précision.
MoveToCell(int, int, int, int)Déplace le curseur vers une cellule de tableau dans la section actuelle.
MoveToDocumentEnd()Déplace le curseur à la fin du document.
MoveToDocumentStart()Déplace le curseur au début du document.
MoveToField(Field, bool)Déplace le curseur vers un champ du document.
MoveToHeaderFooter(HeaderFooterType)Déplace le curseur au début d’un en-tête ou d’un pied de page dans la section actuelle.
MoveToMergeField(string)Déplace le curseur vers une position juste au-delà du champ de fusion spécifié et supprime le champ de fusion.
MoveToMergeField(string, bool, bool)Déplace le champ de fusion vers le champ de fusion spécifié.
MoveToParagraph(int, int)Déplace le curseur vers un paragraphe de la section actuelle.
MoveToSection(int)Déplace le curseur au début du corps dans une section spécifiée.
MoveToStructuredDocumentTag(int, int)Déplace le curseur vers une balise de document structuré dans la section actuelle.
MoveToStructuredDocumentTag(StructuredDocumentTag, int)Déplace le curseur vers la balise du document structuré.
PopFont()Récupère le formatage des caractères précédemment enregistré sur la pile.
PushFont()Enregistre le formatage actuel des caractères sur la pile.
StartBookmark(string)Marque la position actuelle dans le document comme début de signet.
StartColumnBookmark(string)Marque la position actuelle dans le document comme début de signet de colonne. La position doit être dans une cellule de tableau.
StartEditableRange()Marque la position actuelle dans le document comme un début de plage modifiable.
StartTable()Démarre un tableau dans le document.
Write(string)Insère une chaîne dans le document à la position d’insertion actuelle.
Writeln()Insère un saut de paragraphe dans le document.
Writeln(string)Insère une chaîne et un saut de paragraphe dans le document.

Remarques

DocumentBuilder rend le processus de construction d’unDocument plus facile. Document est un objet composite constitué d’un arbre de nœuds et bien que l’insertion de nœuds content directement dans l’arbre soit possible, cela nécessite une bonne compréhension de la structure de l’arbre. DocumentBuilder est une « façade » pour la structure complexe deDocument et permet d’insérer du contenu et du formatage rapidement et facilement.

Créer unDocumentBuilder et l’associer à unDocument.

LeDocumentBuilder possède un curseur interne où le texte sera inséré lorsque vous appelezWrite ,Writeln ,InsertBreak et d’autres méthodes. Vous pouvez naviguer dansDocumentBuilder curseur vers un emplacement différent dans un document à l’aide de diverses méthodes MoveToXXX.

Utilisez leFont propriété permettant de spécifier la mise en forme des caractères qui s’appliquera à tout le texte inséré à partir de la position actuelle dans le document.

Utilisez leParagraphFormat propriété permettant de spécifier la mise en forme des paragraphes pour le current et tous les paragraphes qui seront insérés.

Utilisez lePageSetup propriété pour spécifier les propriétés de page et de section pour la section current et toutes les sections qui seront insérées.

Utilisez leCellFormat etRowFormat propriétés pour spécifier les propriétés de formatage des cellules et des lignes du tableau. L’utilisateur peutInsertCell et EndRow méthodes pour construire une table.

Noter queFont ,ParagraphFormat etPageSetup les propriétés sont mises à jour chaque fois que vous accédez à un autre emplacement dans le document pour refléter les propriétés de formatage disponibles au nouvel emplacement.

Exemples

Montre comment utiliser un générateur de documents pour créer un tableau.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// Démarrez le tableau, puis remplissez la première ligne avec deux cellules.
builder.StartTable();
builder.InsertCell();
builder.Write("Row 1, Cell 1.");
builder.InsertCell();
builder.Write("Row 1, Cell 2.");

// Appelez la méthode « EndRow » du générateur pour démarrer une nouvelle ligne.
builder.EndRow();
builder.InsertCell();
builder.Write("Row 2, Cell 1.");
builder.InsertCell();
builder.Write("Row 2, Cell 2.");
builder.EndTable();

doc.Save(ArtifactsDir + "DocumentBuilder.CreateTable.docx");

Montre comment créer des en-têtes et des pieds de page dans un document à l’aide de DocumentBuilder.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// Spécifiez que nous voulons des en-têtes et des pieds de page différents pour les premières pages, les pages paires et les pages impaires.
builder.PageSetup.DifferentFirstPageHeaderFooter = true;
builder.PageSetup.OddAndEvenPagesHeaderFooter = true;

// Créez les en-têtes, puis ajoutez trois pages au document pour afficher chaque type d'en-tête.
builder.MoveToHeaderFooter(HeaderFooterType.HeaderFirst);
builder.Write("Header for the first page");
builder.MoveToHeaderFooter(HeaderFooterType.HeaderEven);
builder.Write("Header for even pages");
builder.MoveToHeaderFooter(HeaderFooterType.HeaderPrimary);
builder.Write("Header for all other pages");

builder.MoveToSection(0);
builder.Writeln("Page1");
builder.InsertBreak(BreakType.PageBreak);
builder.Writeln("Page2");
builder.InsertBreak(BreakType.PageBreak);
builder.Writeln("Page3");

doc.Save(ArtifactsDir + "DocumentBuilder.HeadersAndFooters.docx");

Montre comment créer un tableau avec des bordures personnalisées.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

builder.StartTable();

// Définition des options de formatage de tableau pour un générateur de documents
// les appliquera à chaque ligne et cellule que nous ajouterons avec lui.
builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;

builder.CellFormat.ClearFormatting();
builder.CellFormat.Width = 150;
builder.CellFormat.VerticalAlignment = CellVerticalAlignment.Center;
builder.CellFormat.Shading.BackgroundPatternColor = Color.GreenYellow;
builder.CellFormat.WrapText = false;
builder.CellFormat.FitText = true;

builder.RowFormat.ClearFormatting();
builder.RowFormat.HeightRule = HeightRule.Exactly;
builder.RowFormat.Height = 50;
builder.RowFormat.Borders.LineStyle = LineStyle.Engrave3D;
builder.RowFormat.Borders.Color = Color.Orange;

builder.InsertCell();
builder.Write("Row 1, Col 1");

builder.InsertCell();
builder.Write("Row 1, Col 2");
builder.EndRow();

// La modification de la mise en forme l'appliquera à la cellule actuelle,
// et toutes les nouvelles cellules que nous créons avec le générateur par la suite.
// Cela n'affectera pas les cellules que nous avons ajoutées précédemment.
builder.CellFormat.Shading.ClearFormatting();

builder.InsertCell();
builder.Write("Row 2, Col 1");

builder.InsertCell();
builder.Write("Row 2, Col 2");

builder.EndRow();

// Augmenter la hauteur de la ligne pour s'adapter au texte vertical.
builder.InsertCell();
builder.RowFormat.Height = 150;
builder.CellFormat.Orientation = TextOrientation.Upward;
builder.Write("Row 3, Col 1");

builder.InsertCell();
builder.CellFormat.Orientation = TextOrientation.Downward;
builder.Write("Row 3, Col 2");

builder.EndRow();
builder.EndTable();

doc.Save(ArtifactsDir + "DocumentBuilder.InsertTable.docx");

Voir également