Ajouter un code QR à une présentation PowerPoint à l'aide de C#

PowerPoint est un outil populaire utilisé pour présenter des informations sous la forme d’un diaporama. Où chaque diapositive contient des informations / données spécifiques sous forme de texte, liste, image, vidéo, graphiques, etc. Dans une présentation PowerPoint, nous pouvons intégrer n’importe quelle URL spécifique, le lien du compte de réseau social du présentateur ou une adresse e-mail à l’aide d’un code QR . Ainsi, les personnes disposant d’un lecteur QR sur leur smartphone peuvent capturer l’URL sans avoir à l’écrire. Dans cet article, nous allons apprendre à ajouter un code QR à une présentation PowerPoint à l’aide de C#.

Les sujets suivants seront traités dans cet article :

Qu’est-ce qu’un code QR

Un code QR (réponse rapide) est un type de code-barres matriciel composé d’un tableau de carrés noirs et blancs. Comme son nom l’indique, le code QR permet aux utilisateurs d’accéder instantanément aux informations lorsqu’ils sont scannés. Il est utilisé pour stocker des informations alphanumériques codées qui peuvent être décodées par des lecteurs de code QR disponibles sur des appareils numériques, tels que des téléphones portables.

API C# pour ajouter un code QR à une présentation PowerPoint

Pour générer un code QR et l’ajouter aux fichiers PPT ou PPTX, nous suivrons une procédure en deux étapes. Tout d’abord, nous utiliserons l’API Aspose.Slides for .NET pour créer ou charger une présentation PowerPoint, puis nous générerons et ajouterons l’image du code QR aux diapositives de la présentation à l’aide de Aspose.BarCode for .NET API.

L’API Aspose.Slides for .NET permet de lire, d’écrire, de protéger, de modifier et de convertir des présentations des formats pris en charge dans les applications .NET sans utiliser MS PowerPoint. Il propose différentes classes pour effectuer différentes opérations. La classe Presentation de l’API permet de créer une nouvelle présentation ou de charger un fichier de présentation existant dans l’application. La méthode Save() de cette classe enregistre la présentation dans le format fourni sur le chemin de fichier donné. L’interface ISlide de l’API représente une diapositive dans une présentation.

Nous utiliserons l’API Aspose.BarCode for .NET pour générer un code QR. Il permet de générer divers types de codes-barres pris en charge. À cette fin, il fournit la classe BarcodeGenerator pour générer le code QR ou le code-barres du EncodeType spécifié. Nous pouvons enregistrer l’image QR/code à barres générée à l’aide de la méthode Save() de cette classe. L’API fournit également l’énumération BarCodeImageFormat pour spécifier les formats d’enregistrement. Nous pouvons lire le code-barres ou le code QR à partir d’images en utilisant la classe BarCodeReader de l’API.

Veuillez soit télécharger les DLL des API ou les installer à l’aide de NuGet.

PM> Install-Package Aspose.BarCode
PM> Install-Package Aspose.Cells

Générer et ajouter un code QR à la présentation en C#

Nous pouvons créer une nouvelle présentation et ajouter une image de code QR à la diapositive de présentation en suivant les étapes ci-dessous :

  1. Tout d’abord, créez une présentation vide à l’aide de la classe Presentation.
  2. Ensuite, créez une instance de la classe BarcodeGenerator. Il prend le type d’encodage comme argument.
  3. Ensuite, ajoutez du texte à encoder et définissez d’autres propriétés de code-barres facultatives.
  4. Ensuite, créez une instance de l’objet de flux de mémoire.
  5. Ensuite, appelez la méthode BarcodeGenerator.Save() pour enregistrer l’image du code QR dans le flux de mémoire.
  6. Ensuite, appelez la méthode AddImage() pour ajouter l’image à la collection image de la présentation.
  7. Ensuite, appelez la méthode InsertEmptySlide() pour insérer une diapositive vide à l’index spécifié avec une disposition de titre.
  8. Ensuite, obtenez la diapositive nouvellement insérée par son index.
  9. Après cela, insérez l’image du code QR sur la diapositive à l’aide de la méthode AddPictureFrame().
  10. En option, définissez la mise en forme du cadre de l’image, telle que le type de remplissage, la couleur, la largeur, la rotation, etc.
  11. Enfin, appelez la méthode Presentation.Save(). Il prend le chemin du fichier PPTX de sortie et le SaveFormat comme arguments.

L’exemple de code suivant montre comment générer et ajouter un QR à une nouvelle diapositive de présentation à l’aide de C#.

// Cet exemple de code montre comment ajouter un code QR à la présentation.
// Chemin d'accès au répertoire des documents.
string dataDir = @"C:\Files\BarCode\";

// Créer une instance de la classe Presentation
Presentation presentation = new Presentation();

// Instancier un objet de code-barres linéaire, définir le type de symbologie pour le code-barres
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.QR);

// Texte à encoder en QR code
generator.CodeText = "https://www.aspose.com";

// Masquer le texte à l'écran
generator.Parameters.Barcode.CodeTextParameters.Location = CodeLocation.None;

// Définir la taille du QR
generator.Parameters.Barcode.XDimension.Pixels = 10;

// Création d'un flux de mémoire et enregistrement de l'image du code QR dans le flux de mémoire
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Ajouter une image à la présentation
System.Drawing.Image img = new Bitmap(ms);
IPPImage image = presentation.Images.AddImage(img);

// Insérer une diapositive vide à l'index spécifié avec une disposition de titre
IMasterLayoutSlideCollection layoutSlides = presentation.Masters[0].LayoutSlides;
var layoutSlide = layoutSlides.GetByType(SlideLayoutType.Title);
presentation.Slides.InsertEmptySlide(1, layoutSlide);

// Obtenir la diapositive par son index
ISlide slide = presentation.Slides[1];

// Ajoute un cadre d'image avec la hauteur et la largeur équivalentes de l'image
IPictureFrame pf = slide.Shapes.AddPictureFrame(Aspose.Slides.ShapeType.Rectangle, 235, 200, image.Width, image.Height, image);

// Appliquer une mise en forme au PictureFrame
pf.LineFormat.FillFormat.FillType = Aspose.Slides.FillType.Solid;
pf.LineFormat.FillFormat.SolidFillColor.Color = System.Drawing.Color.Blue;
pf.LineFormat.Width = 3;
pf.Rotation = 0;

// Enregistrer la présentation
presentation.Save(dataDir + "presentation.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
Générer et ajouter un code QR à la présentation en C#

Générez et ajoutez un code QR à la présentation en C#.

Ajouter un code QR à une présentation existante en C#

Nous pouvons charger une présentation existante et ajouter une image de code QR en suivant les étapes ci-dessous :

  1. Tout d’abord, chargez une présentation existante à l’aide de la classe Presentation.
  2. Ensuite, créez une instance de la classe BarcodeGenerator. Il prend le type d’encodage et le texte à encoder comme arguments.
  3. Ensuite, créez une instance de l’objet de flux de mémoire.
  4. Après cela, appelez la méthode BarcodeGenerator.Save() pour enregistrer l’image du code QR dans le flux de mémoire.
  5. Ensuite, appelez la méthode AddImage() pour ajouter l’image à la collection image de la présentation.
  6. Ensuite, obtenez la diapositive spécifique par son index.
  7. Après cela, insérez l’image du code QR sur la diapositive à l’aide de la méthode AddPictureFrame().
  8. Enfin, appelez la méthode Presentation.Save(). Il prend le chemin du fichier PPTX de sortie et le SaveFormat comme arguments.

L’exemple de code suivant montre comment générer et ajouter un QR à une présentation existante à l’aide de C#.

// Cet exemple de code montre comment ajouter un code QR à la présentation existante.
// Chemin d'accès au répertoire des documents.
string dataDir = @"C:\Files\BarCode\";

// Charger une présentation existante
Presentation presentation = new Presentation(dataDir + "presentation.pptx");

// Instancier un objet de code-barres linéaire, définir le texte du code et le type de symbologie pour le code-barres
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.QR, "https://www.aspose.com");

// Masquer le texte à l'écran
generator.Parameters.Barcode.CodeTextParameters.Location = CodeLocation.None;

// Définir la taille du QR
generator.Parameters.Barcode.XDimension.Pixels = 10;

// Création d'un flux de mémoire et enregistrement de l'image du code QR dans le flux de mémoire
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Ajouter une image à la diapositive
System.Drawing.Image img = new Bitmap(ms);
IPPImage image = presentation.Images.AddImage(img);

// Obtenir la diapositive par son index
ISlide slide = presentation.Slides[0];

// Ajoute un cadre d'image avec la hauteur et la largeur équivalentes de l'image
IPictureFrame pf = slide.Shapes.AddPictureFrame(Aspose.Slides.ShapeType.Rectangle, 235, 100, image.Width, image.Height, image);

// Sauvegarder les modifications
presentation.Save(dataDir + "presentation1.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
Ajouter un code QR à une présentation existante en C#

Ajouter un code QR à une présentation existante en C#.

Ajouter un code-barres à une présentation PowerPoint en C#

De même, nous pouvons également générer une image de code à barres et l’ajouter à la présentation en suivant les étapes mentionnées précédemment. Cependant, nous avons juste besoin de définir le EncodeType autre que QR ou GS1QR dans la deuxième étape. Nous devrons peut-être également ajuster la position de l’image à l’étape 7.

L’exemple de code suivant montre comment ajouter un code-barres à une présentation PowerPoint à l’aide de C#.

// Cet exemple de code montre comment ajouter Barcode à la présentation.
// Chemin d'accès au répertoire des documents.
string dataDir = @"C:\Files\BarCode\";

// Instancier un objet de code-barres linéaire, définir le texte du code et le type de symbologie pour le code-barres
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Code39Standard, "1234567");

// Création d'un flux de mémoire et enregistrement de l'image du code-barres dans le flux de mémoire
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Créer une instance de la classe Presentation
Presentation presentation = new Presentation();

// Obtenir la diapositive par son index
ISlide slide = presentation.Slides[0];

// Ajouter une image à la diapositive
System.Drawing.Image img = new Bitmap(ms);
IPPImage image = presentation.Images.AddImage(img);

// Ajoute un cadre d'image avec la hauteur et la largeur équivalentes de l'image
IPictureFrame pf = slide.Shapes.AddPictureFrame(Aspose.Slides.ShapeType.Rectangle, 200, 100, image.Width, image.Height, image);

// Sauvegarder les modifications
presentation.Save(dataDir + "presentation2.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
Ajouter un code-barres à une présentation PowerPoint en C#.

Ajouter un code-barres à une présentation PowerPoint en C#.

Lire le code QR de la présentation en C#

Nous pouvons reconnaître n’importe quelle image de code-barres ou de code QR disponible sur l’une des diapositives de la présentation en suivant les étapes ci-dessous :

  1. Tout d’abord, chargez une présentation existante à l’aide de la classe Presentation.
  2. Ensuite, parcourez toutes les images de la collection d’images de la présentation.
  3. Ensuite, enregistrez l’image dans le flux.
  4. Ensuite, créez une instance de la classe BarCodeReader avec le flux d’image et DecodeType comme arguments.
  5. Après cela, appelez la méthode ReadBarCodes() pour obtenir l’objet BarCodeResult.
  6. Enfin, affichez les informations du code QR.

L’exemple de code suivant montre comment lire une image de code QR à partir d’une présentation à l’aide de C#.

// Cet exemple de code montre comment lire le code QR à partir de la présentation.
// Chemin d'accès au répertoire des documents.
string dataDir = @"C:\Files\BarCode\";

// Charger la présentation
Presentation presentation = new Presentation(dataDir + "presentation.pptx");

// Obtenir des images de présentation
var images = presentation.Images;

// Parcourez toutes les images
foreach (IPPImage image in images)
{
  var code = image.SystemImage;
  // Enregistrer l'image dans le flux de mémoire
  MemoryStream imgStream = new MemoryStream();
  code.Save(imgStream, ImageFormat.Bmp);

  // Reconnaître le code-barres à partir du flux d'images ci-dessus
  using (BarCodeReader reader = new BarCodeReader(new Bitmap(imgStream), DecodeType.QR))
  {
    foreach (BarCodeResult result in reader.ReadBarCodes())
    {
      Console.WriteLine("Codetext found: " + result.CodeText);
      Console.WriteLine("Symbology: " + result.CodeType);
    }
  }
}
Codetext found: https://www.aspose.com
Symbology: QR

Obtenez une licence gratuite

Vous pouvez obtenir une licence temporaire gratuite pour essayer la bibliothèque sans limitations d’évaluation.

Conclusion

Dans cet article, nous avons appris à :

  • créer une présentation PowerPoint par programmation ;
  • ajouter une nouvelle diapositive dans la présentation avec une disposition de diapositive prédéfinie ;
  • générer une image de code QR et l’ajouter à la présentation ;
  • créez un code-barres et insérez-le dans la présentation ;
  • lire une image QR à partir d’une présentation PowerPoint à l’aide de C#.

En outre, vous pouvez en savoir plus sur l’API Aspose.BarCode for .NET en utilisant la documentation. En cas d’ambiguïté, n’hésitez pas à nous contacter sur le forum.

Voir également