Utilisez `DocumentBuilder` pour insérer des éléments de Document
Le DocumentBuilder
est utilisé pour modifier des documents. Cet article explique et décrit comment effectuer un certain nombre de tâches:
Insertion d’une chaîne de texte
Transmettez simplement la chaîne de texte que vous devez insérer dans le document à la méthode DocumentBuilder.Write
. La mise en forme du texte est déterminée par la propriété Font
. Cet objet contient différents attributs de police (nom de la police, taille de la police, couleur, etc.). Certains attributs de police importants sont également représentés par des propriétés DocumentBuilder pour vous permettre d’y accéder directement. Ce sont des propriétés booléennes Font.Bold
, Font.Italic
et Font.Underline
.
Notez que la mise en forme des caractères que vous définissez s’appliquera à tout le texte inséré à partir de la position actuelle dans le document.
L’exemple ci-dessous Insère du texte formaté en utilisant DocumentBuilder.
Insérer un paragraphe
DocumentBuilder.Writeln
insère également une chaîne de texte dans le document, mais en plus, il ajoute un saut de paragraphe. La mise en forme actuelle de la police est également spécifiée par la propriété DocumentBuilder.Font
et la mise en forme actuelle du paragraphe est déterminée par la propriété DocumentBuilder.ParagraphFormat
. L’exemple ci-dessous montre comment insérer un paragraphe dans le document.
Insérer une table
L’algorithme de base pour créer une table en utilisant DocumentBuilder est simple:
- Démarrez la table en utilisant
DocumentBuilder.StartTable
. - Insérez une cellule en utilisant
DocumentBuilder.InsertCell
. Cela démarre automatiquement une nouvelle ligne. Si nécessaire, utilisez la propriétéDocumentBuilder.CellFormat
pour spécifier le formatage des cellules. - Insérez le contenu de la cellule à l’aide des méthodes
DocumentBuilder
. - Répétez les étapes 2 et 3 jusqu’à ce que la ligne soit terminée.
- Appelez
DocumentBuilder.EndRow
pour terminer la ligne en cours. Si nécessaire, utilisez la propriétéDocumentBuilder.RowFormat
pour spécifier le formatage des lignes. - Répétez les étapes 2 - 5 jusqu’à ce que le tableau soit terminé.
- Appelez
DocumentBuilder.EndTable
pour terminer la construction de la table. Les méthodes de création de table DocumentBuilder appropriées sont décrites ci-dessous.
Démarrer une table
Appeler DocumentBuilder.StartTable
est la première étape de la construction d’une table. Il peut également être appelé à l’intérieur d’une cellule, auquel cas il démarre une table imbriquée. La méthode suivante à appeler est DocumentBuilder.InsertCell
.
Insertion d’une cellule
Après avoir appelé DocumentBuilder->InsertCell
, une nouvelle cellule est créée et tout contenu que vous ajoutez à l’aide d’autres méthodes de la classe DocumentBuilder
sera ajouté à la cellule actuelle. Pour démarrer une nouvelle cellule dans la même ligne, appelez à nouveau DocumentBuilder->InsertCell
. Utilisez la propriété DocumentBuilder.CellFormat
pour spécifier le formatage des cellules. Il renvoie un objet CellFormat
qui représente tout le formatage d’une cellule de tableau.
Terminer une Ligne
Appelez DocumentBuilder.EndRow
pour terminer la ligne en cours. Si vous appelez DocumentBuilder->InsertCell
immédiatement après cela, la table continue sur une nouvelle ligne.
Utilisez la propriété DocumentBuilder.RowFormat
pour spécifier le formatage des lignes. Il renvoie un objet RowFormat
qui représente tout le formatage d’une ligne de tableau.
Terminer une Table
Appelez DocumentBuilder.EndTable
pour terminer la table actuelle. Cette méthode ne doit être appelée qu’une seule fois après l’appel de DocumentBuilder->EndRow
. Lorsqu’il est appelé, DocumentBuilder.EndTable
déplace le curseur hors de la cellule actuelle vers une position juste après le tableau. L’exemple suivant montre comment créer un tableau formaté contenant 2 lignes et 2 colonnes.
Insertion d’une pause
Si vous souhaitez démarrer explicitement une nouvelle ligne, paragraphe, colonne, section ou page, appelez DocumentBuilder.InsertBreak
. Transmettez à cette méthode le type de la rupture que vous devez insérer qui est représenté par l’énumération BreakType
. L’exemple ci-dessous montre comment insérer des sauts de page dans un document.
Insertion d’une image
DocumentBuilder fournit plusieurs surcharges de la méthode DocumentBuilder->InsertImage
qui vous permet d’insérer une image en ligne ou flottante. Si l’image est un métafichier EMF ou WMF, elle sera insérée dans le document au format métafichier. Toutes les autres images seront stockées au format PNG. La méthode DocumentBuilder->InsertImage
peut utiliser des images provenant de différentes sources:
- À partir d’un fichier ou
URL
en passant un paramètre de chaîneDocumentBuilder->InsertImage
. - À partir d’un flux en passant un paramètre
Stream
DocumentBuilder->InsertImage
. - À partir d’un objet Image en passant un paramètre d’image
DocumentBuilder->InsertImage
. - À partir d’un tableau d’octets en passant un paramètre de tableau d’octets
DocumentBuilder.InsertImage
.Pour chacune des méthodesDocumentBuilder->InsertImage
, il existe d’autres surcharges qui vous permettent d’insérer une image avec les options suivantes: - En ligne ou flottant à une position spécifique, par exemple,
DocumentBuilder->InsertImage
. - Échelle de pourcentage ou taille personnalisée, par exemple,
DocumentBuilder.InsertImage
. De plus, la méthodeDocumentBuilder->InsertImage
renvoie un objetShape
qui vient d’être créé et inséré afin que vous puissiez modifier davantage les propriétés de la forme.
Insertion d’une Image en ligne
Transmettez une seule chaîne représentant un fichier contenant l’image à DocumentBuilder->InsertImage
pour insérer l’image dans le document en tant que graphique en ligne. L’exemple ci-dessous montre comment insérer une image en ligne à la position du curseur dans un document.
Insertion d’une image Flottante (Positionnée de manière absolue)
Cet exemple insère une image flottante à partir d’un fichier ou URL
à une position et une taille spécifiées.
Insertion d’un signet
Pour insérer un signet dans le document, procédez comme suit:
- Appelez
DocumentBuilder->StartBookmark
en lui passant le nom souhaité du signet. - Insérez le texte du signet à l’aide des méthodes DocumentBuilder.
- Appelez
DocumentBuilder.EndBookmark
en lui passant le même nom que vous avez utilisé avec DocumentBuilder->StartBookmark. - Les signets peuvent se chevaucher et s’étendre sur n’importe quelle plage. Pour créer un signet valide, vous devez appeler à la fois
DocumentBuilder->StartBookmark
etDocumentBuilder->EndBookmark
avec le même nom de signet.
L’exemple ci-dessous montre comment insérer un signet dans un document à l’aide d’un générateur de documents.
Insertion d’un champ Form
Les champs de formulaire sont un cas particulier de champs Word qui permet une “interaction” avec l’utilisateur. Les champs de formulaire dans Microsoft Word incluent une zone de texte, une zone de liste déroulante et une case à cocher.DocumentBuilder fournit des méthodes spéciales pour insérer chaque type de champ de formulaire dans le document: DocumentBuilder.InsertTextInput
, DocumentBuilder->InsertCheckBox
et DocumentBuilder.InsertComboBox
. Notez que si vous spécifiez un nom pour le champ de formulaire, un signet est automatiquement créé avec le même nom.
Insertion d’une saisie de texte
DocumentBuilder.InsertTextInput
pour insérer une zone de texte dans le document. L’exemple ci-dessous montre comment insérer un champ de formulaire de saisie de texte dans un document.
Insertion d’une case à cocher
Appelez DocumentBuilder.InsertCheckBox
pour insérer une case à cocher dans le document. L’exemple ci-dessous montre comment insérer un champ de formulaire de case à cocher dans un document.
Insertion d’une zone de liste déroulante
Appelez DocumentBuilder.InsertComboBox
pour insérer une liste déroulante dans le document. L’exemple ci-dessous montre comment insérer un champ de formulaire de liste déroulante dans un document.
Insertion des paramètres régionaux au niveau du champ
Les clients peuvent désormais spécifier les paramètres régionaux au niveau du champ et obtenir un meilleur contrôle. Les identifiants de paramètres régionaux peuvent être associés à chaque champ à l’intérieur du DocumentBuilder. Les exemples ci-dessous illustrent comment utiliser cette option.
Insertion d’un Lien hypertexte
Utilisez DocumentBuilder.InsertHyperlink
pour insérer un lien hypertexte dans le document. Cette méthode accepte trois paramètres: le texte du lien à afficher dans le document, la destination du lien (URL ou nom d’un signet dans le document) et un paramètre booléen qui doit être vrai si URL
est le nom d’un signet dans le document.DocumentBuilder.InsertHyperlink appelle en interne DocumentBuilder.InsertField
.La méthode ajoute toujours des apostrophes au début et à la fin de l’URL. Notez que vous devez spécifier explicitement la mise en forme de la police pour le texte d’affichage du lien hypertexte à l’aide de la propriété Font
. L’exemple ci-dessous insère un lien hypertexte dans un document en utilisant DocumentBuilder.
Insertion d’un Objet Ole
Si vous voulez un objet Ole, appelez DocumentBuilder.InsertOleObject
. Passez à cette méthode le ProgId
explicitement avec d’autres paramètres. L’exemple ci-dessous montre comment insérer un objet Ole dans un document.
Définir le Nom et l’extension du fichier lors de l’insertion d’un objet Ole
Le package OLE est un moyen hérité et “non documenté” de stocker un objet incorporé si le gestionnaire OLE est inconnu. Les premières versions Windows telles que Windows 3.1, 95 et 98 avaient un Packager.application exe qui pourrait être utilisée pour intégrer tout type de données dans le document. Maintenant, cette application est exclue de Windows mais MS Word et d’autres applications l’utilisent toujours pour incorporer des données si le gestionnaire OLE est manquant ou inconnu. la classe OlePackage permet d’accéder aux propriétés du package OLE. L’exemple ci-dessous montre comment définir le nom de fichier, l’extension et le nom d’affichage du package OLE.
Insertion de code HTML
Vous pouvez facilement insérer une chaîne HTML contenant un fragment HTML ou un document HTML entier dans le document Word. Passez simplement cette chaîne à la méthode DocumentBuilder->InsertHtml
. L’une des implémentations utiles de la méthode consiste à stocker une chaîne HTML dans une base de données et à l’insérer dans le document pendant mail merge pour ajouter le contenu formaté au lieu de le créer à l’aide de diverses méthodes du générateur de documents. L’exemple ci-dessous montre les insertions HTML dans un document à l’aide de DocumentBuilder.
Insérer une règle horizontale dans le Document
L’exemple Below code montre comment insérer une forme de règle horizontale dans un document à l’aide de la méthode DocumentBuilder->InsertHorizontalRule
.