Insérer une image de texte XPS C#

Les fichiers XPS contiennent des informations de mise en page fixes, notamment la mise en page, l’apparence et les informations d’impression d’un document. Vous pouvez insérer du texte ou une image dans un fichier XPS par programmation en C#.

Insérer du texte ou une image dans un document XPS - Installation de l’API C#

Vous pouvez insérer du texte ou une image dans un fichier XPS sans avoir à installer de traitement de texte ou d’autre application d’interface utilisateur. Configurez simplement Aspose.Page for .NET en téléchargeant les fichiers DLL depuis la section Téléchargements ou en utilisant la commande d’installation NuGet ci-dessous :

PM> Install-Package Aspose.Page

Ajouter du texte dans un fichier XPS à l’aide de C#

Vous pouvez ajouter n’importe quel texte dans un fichier XPS en suivant les étapes ci-dessous :

  1. Initialiser un objet de la classe XPSDocument.
  2. Créez un pinceau de n’importe quelle couleur et ajoutez le glyphe.
  3. Enregistrer le document XPS de sortie.

L’extrait de code suivant explique comment ajouter du texte dans un fichier XPS par programmation en C# :

// Créer un nouveau document XPS
XpsDocument doc = new XpsDocument();

// Créer un pinceau 
XpsSolidColorBrush textFill = doc.CreateSolidColorBrush(Color.Black);

// Ajouter un glyphe au document
XpsGlyphs glyphs = doc.AddGlyphs("Arial", 12, FontStyle.Regular, 300f, 450f, "Hello World!");
glyphs.Fill = textFill;

// Enregistrer le document XPS résultant
doc.Save("AddText_out.xps");

Ajouter du texte dans un fichier XPS à l’aide d’une chaîne Unicode en C#

Vous pouvez également ajouter une chaîne Unicode au document XPS en suivant les étapes ci-dessous :

  1. Créez une instance de la classe XPSDocument.
  2. Ajoutez la chaîne Unicode.
  3. Enregistrez le document XPS de sortie.

Le code suivant est basé sur ces étapes, qui montre comment ajouter du texte dans un fichier XPS à l’aide d’une chaîne Unicode en langage C# :

// Créer un nouveau document XPS
XpsDocument doc = new XpsDocument();

// Ajouter du texte
XpsSolidColorBrush textFill = doc.CreateSolidColorBrush(Color.Black);
Aspose.Page.XPS.XpsModel.XpsGlyphs glyphs = doc.AddGlyphs("Arial", 20, FontStyle.Regular, 400f, 200f, "TEN. rof egaP.esopsA");
glyphs.BidiLevel = 1;
glyphs.Fill = textFill;

// Enregistrer le document XPS résultant
doc.Save("AddText_out.xps");

Insérer une image dans un document XPS à l’aide de C#

Vous pouvez insérer une image dans le document XPS en procédant comme suit :

  1. Créez un nouveau document XPS.
  2. Charger l’image d’entrée.
  3. Créez une matrice et ImageBrush.
  4. Enfin, enregistrez le fichier XPS de sortie.

L’exemple de code ci-dessous montre comment insérer une image dans un document XPS avec C# :

// Créer un nouveau document XPS
XpsDocument doc = new XpsDocument();

// Ajouter une image
XpsPath path = doc.AddPath(doc.CreatePathGeometry("M 30,20 l 258.24,0 0,56.64 -258.24,0 Z"));

//La création d'une matrice est facultative, elle peut être utilisée pour un positionnement correct
path.RenderTransform = doc.CreateMatrix(0.7f, 0f, 0f, 0.7f, 0f, 20f);

//Créer un pinceau d'image
path.Fill = doc.CreateImageBrush("QL_logo_color.tif", new RectangleF(0f, 0f, 258.24f, 56.64f), new RectangleF(50f, 20f, 193.68f, 42.48f));

// Enregistrer le document XPS résultant
doc.Save("AddImage_out.xps");

Insérer une image en mosaïque dans un fichier XPS à l’aide de C#

Vous pouvez insérer l’image en mosaïque dans le fichier XPS à l’aide de C# en suivant les étapes ci-dessous :

  1. Créez un nouveau document XPS.
  2. Ajoutez un ImageBrush-rectangle rempli et ajoutez une image en mosaïque.
  3. Enregistrer le document XPS de sortie.

L’extrait de code ci-dessous explique comment ajouter l’image en mosaïque dans un fichier XPS à l’aide de C# :

// Créer un nouveau document XPS
XpsDocument doc = new XpsDocument();

// ImageBrush rectangle rempli en haut à droite ci-dessous
XpsPath path = doc.AddPath(doc.CreatePathGeometry("M 10,160 L 228,160 228,305 10,305"));
path.Fill = doc.CreateImageBrush("R08LN_NN.jpg", new RectangleF(0f, 0f, 128f, 96f), new RectangleF(0f, 0f, 64f, 48f));
((XpsImageBrush)path.Fill).TileMode = XpsTileMode.Tile;
path.Fill.Opacity = 0.5f;

// Enregistrer le document XPS résultant
doc.Save("AddTiledImage_out.xps");

Conclusion

Dans cet article, vous avez exploré comment insérer du texte ou des images dans un document XPS à l’aide de C#. Vous pouvez ajouter du texte sous forme de chaîne simple ou de chaîne Unicode selon vos besoins. De même, une image peut être insérée comme d’habitude ou en tant qu’image en mosaïque. N’hésitez pas à visiter la section documentation pour découvrir d’autres fonctionnalités de l’API. En cas de problème, veuillez nous écrire sur le forum.

Voir également

Convertir XPS ou OXPS en Word DOCX/DOC en C#