Agregar código QR a la presentación de PowerPoint usando C#

PowerPoint es una herramienta popular que se utiliza para presentar información en forma de presentación de diapositivas. Donde cada diapositiva contiene información/datos específicos en forma de texto, lista, imagen, video, gráficos, etc. En una presentación de PowerPoint, podemos insertar cualquier URL específica, el enlace de la cuenta de redes sociales del presentador o una dirección de correo electrónico usando un código QR . De modo que, las personas con un lector de QR en su teléfono inteligente puedan capturar la URL sin tener que escribirla. En este artículo, aprenderemos cómo agregar un código QR a una presentación de PowerPoint usando C#.

En este artículo se tratarán los siguientes temas:

¿Qué es el código QR?

Un código QR (respuesta rápida) es un tipo de código de barras de matriz que consiste en una matriz de cuadrados blancos y negros. Como su nombre indica, el código QR permite a los usuarios acceder a la información al instante cuando se escanea. Se utiliza para almacenar información alfanumérica codificada que puede ser decodificada por lectores de códigos QR disponibles en dispositivos digitales, como teléfonos celulares.

API de C# para agregar un código QR a una presentación de PowerPoint

Para generar un código QR y agregarlo a los archivos PPT o PPTX, seguiremos un procedimiento de dos pasos. En primer lugar, usaremos la API Aspose.Slides for .NET para crear o cargar una presentación de PowerPoint, luego generaremos y agregaremos la imagen del código QR a las diapositivas de la presentación usando Aspose.BarCode for .NET API.

Aspose.Slides for .NET API permite leer, escribir, proteger, modificar y convertir presentaciones de los formatos admitidos en aplicaciones .NET sin usar MS PowerPoint. Ofrece varias clases para realizar diferentes operaciones. La clase Presentation de la API permite crear una nueva presentación o cargar un archivo de presentación existente en la aplicación. El método Save() de esta clase guarda la presentación en el formato proporcionado en la ruta del archivo dada. La interfaz ISlide de la API representa una diapositiva en una presentación.

Usaremos Aspose.BarCode for .NET API para generar un código QR. Permite generar varios tipos de códigos de barras soportados. Para ello, proporciona la clase BarcodeGenerator para generar el código QR o el código de barras del EncodeType especificado. Podemos guardar la imagen de QR/código de barras generada utilizando el método Save() de esta clase. La API también proporciona la enumeración BarCodeImageFormat para especificar los formatos de guardado. Podemos leer el código de barras o el código QR de las imágenes utilizando la clase BarCodeReader de la API.

Descargue las DLL de las API o instálelas usando NuGet.

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

Generar y agregar código QR a la presentación en C#

Podemos crear una nueva presentación y agregar una imagen de código QR a la diapositiva de la presentación siguiendo los pasos que se detallan a continuación:

  1. En primer lugar, cree una presentación vacía utilizando la clase Presentation.
  2. A continuación, cree una instancia de la clase BarcodeGenerator. Toma el tipo de codificación como argumento.
  3. Luego, agregue texto para codificar y establezca otras propiedades de código de barras opcionales.
  4. A continuación, cree una instancia del objeto de flujo de memoria.
  5. Luego, llame al método BarcodeGenerator.Save() para guardar la imagen del código QR en el flujo de memoria.
  6. A continuación, llame al método AddImage() para agregar la imagen a la colección image de la presentación.
  7. Luego, llame al método InsertEmptySlide() para insertar una diapositiva vacía en el índice especificado con un diseño de título.
  8. A continuación, obtenga la diapositiva recién insertada por su índice.
  9. Después de eso, inserte la imagen del código QR en la diapositiva usando el método AddPictureFrame().
  10. Opcionalmente, configure el formato del marco de la imagen, como el tipo de relleno, el color, el ancho, la rotación, etc.
  11. Finalmente, llame al método Presentation.Save(). Toma la ruta del archivo PPTX de salida y SaveFormat como argumentos.

El siguiente ejemplo de código muestra cómo generar y agregar un QR a una nueva diapositiva de presentación usando C#.

// Este ejemplo de código demuestra cómo agregar un código QR a la presentación.
// La ruta al directorio de documentos.
string dataDir = @"C:\Files\BarCode\";

// Crear una instancia de la clase Presentation
Presentation presentation = new Presentation();

// Crea una instancia del objeto de código de barras lineal, establece el tipo de simbología para el código de barras
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.QR);

// Texto a codificar en código QR
generator.CodeText = "https://www.aspose.com";

// Ocultar texto en pantalla
generator.Parameters.Barcode.CodeTextParameters.Location = CodeLocation.None;

// Establecer el tamaño del QR
generator.Parameters.Barcode.XDimension.Pixels = 10;

// Creación de flujo de memoria y Guardar imagen de código QR en flujo de memoria
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Agregar imagen a la presentación
System.Drawing.Image img = new Bitmap(ms);
IPPImage image = presentation.Images.AddImage(img);

// Inserte una diapositiva vacía en el índice especificado con un diseño de título
IMasterLayoutSlideCollection layoutSlides = presentation.Masters[0].LayoutSlides;
var layoutSlide = layoutSlides.GetByType(SlideLayoutType.Title);
presentation.Slides.InsertEmptySlide(1, layoutSlide);

// Obtener diapositiva por su índice
ISlide slide = presentation.Slides[1];

// Agrega un marco de imagen con la altura y el ancho equivalentes a la imagen
IPictureFrame pf = slide.Shapes.AddPictureFrame(Aspose.Slides.ShapeType.Rectangle, 235, 200, image.Width, image.Height, image);

// Aplicar algún formato al 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;

// Guardar la presentación
presentation.Save(dataDir + "presentation.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
Generar y agregar código QR a la presentación en C#

Genere y agregue código QR a la presentación en C#.

Agregar código QR a la presentación existente en C#

Podemos cargar una presentación existente y agregar una imagen de código QR siguiendo los pasos que se detallan a continuación:

  1. En primer lugar, cargue una presentación existente utilizando la clase Presentation.
  2. A continuación, cree una instancia de la clase BarcodeGenerator. Toma el tipo de codificación y el texto para codificar como argumentos.
  3. Luego, cree una instancia del objeto de flujo de memoria.
  4. Después de eso, llame al método BarcodeGenerator.Save() para guardar la imagen del código QR en el flujo de memoria.
  5. A continuación, llame al método AddImage() para agregar la imagen a la colección image de la presentación.
  6. Luego, obtenga la diapositiva específica por su índice.
  7. Después de eso, inserte la imagen del código QR en la diapositiva usando el método AddPictureFrame().
  8. Finalmente, llama al método Presentation.Save(). Toma la ruta del archivo PPTX de salida y SaveFormat como argumentos.

El siguiente ejemplo de código muestra cómo generar y agregar un QR a una presentación existente usando C#.

// Este ejemplo de código demuestra cómo agregar un código QR a la presentación existente.
// La ruta al directorio de documentos.
string dataDir = @"C:\Files\BarCode\";

// Cargar una presentación existente
Presentation presentation = new Presentation(dataDir + "presentation.pptx");

// Crea una instancia del objeto de código de barras lineal, establece el texto del código y el tipo de simbología para el código de barras
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.QR, "https://www.aspose.com");

// Ocultar texto en pantalla
generator.Parameters.Barcode.CodeTextParameters.Location = CodeLocation.None;

// Establecer el tamaño del QR
generator.Parameters.Barcode.XDimension.Pixels = 10;

// Creación de flujo de memoria y Guardar imagen de código QR en flujo de memoria
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Agregar imagen a la diapositiva
System.Drawing.Image img = new Bitmap(ms);
IPPImage image = presentation.Images.AddImage(img);

// Obtener diapositiva por su índice
ISlide slide = presentation.Slides[0];

// Agrega un marco de imagen con la altura y el ancho equivalentes a la imagen
IPictureFrame pf = slide.Shapes.AddPictureFrame(Aspose.Slides.ShapeType.Rectangle, 235, 100, image.Width, image.Height, image);

// Guardar cambios
presentation.Save(dataDir + "presentation1.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
Agregar código QR a la presentación existente en C#

Agregue el código QR a la presentación existente en C#.

Agregar código de barras a la presentación de PowerPoint en C#

Del mismo modo, también podemos generar una imagen de código de barras y agregarla a la presentación siguiendo los pasos mencionados anteriormente. Sin embargo, solo necesitamos configurar EncodeType que no sea QR o GS1QR en el segundo paso. Es posible que también necesitemos ajustar la posición de la imagen en el paso 7.

El siguiente ejemplo de código muestra cómo agregar un código de barras a una presentación de PowerPoint usando C#.

// Este ejemplo de código demuestra cómo agregar un código de barras a la presentación.
// La ruta al directorio de documentos.
string dataDir = @"C:\Files\BarCode\";

// Crea una instancia del objeto de código de barras lineal, establece el texto del código y el tipo de simbología para el código de barras
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Code39Standard, "1234567");

// Creación de flujo de memoria y Guardar imagen de código de barras en flujo de memoria
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Crear una instancia de la clase Presentation
Presentation presentation = new Presentation();

// Obtener diapositiva por su índice
ISlide slide = presentation.Slides[0];

// Agregar imagen a la diapositiva
System.Drawing.Image img = new Bitmap(ms);
IPPImage image = presentation.Images.AddImage(img);

// Agrega un marco de imagen con la altura y el ancho equivalentes a la imagen
IPictureFrame pf = slide.Shapes.AddPictureFrame(Aspose.Slides.ShapeType.Rectangle, 200, 100, image.Width, image.Height, image);

// Guardar cambios
presentation.Save(dataDir + "presentation2.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
Agregar código de barras a la presentación de PowerPoint en C#.

Agregar código de barras a la presentación de PowerPoint en C#.

Lea el código QR de la presentación en C#

Podemos reconocer cualquier imagen de código de barras o código QR disponible en cualquiera de las diapositivas de la presentación siguiendo los pasos que se indican a continuación:

  1. En primer lugar, cargue una presentación existente utilizando la clase Presentation.
  2. A continuación, recorra todas las imágenes de la colección de imágenes de la presentación.
  3. Luego, guarde la imagen en la transmisión.
  4. A continuación, cree una instancia de la clase BarCodeReader con el flujo de imágenes y DecodeType como argumentos.
  5. Después de eso, llame al método ReadBarCodes() para obtener el objeto BarCodeResult.
  6. Finalmente, muestra la información del código QR.

El siguiente ejemplo de código muestra cómo leer una imagen de código QR de una presentación usando C#.

// Este ejemplo de código demuestra cómo leer el código QR de la presentación.
// La ruta al directorio de documentos.
string dataDir = @"C:\Files\BarCode\";

// Cargar la presentación
Presentation presentation = new Presentation(dataDir + "presentation.pptx");

// Obtener imágenes de presentación
var images = presentation.Images;

// Recorre todas las imágenes
foreach (IPPImage image in images)
{
  var code = image.SystemImage;
  // Guardar la imagen en el flujo de memoria
  MemoryStream imgStream = new MemoryStream();
  code.Save(imgStream, ImageFormat.Bmp);

  // Reconocer el código de barras del flujo de imágenes de arriba
  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

Obtenga una licencia gratis

Puede obtener una licencia temporal gratuita para probar la biblioteca sin limitaciones de evaluación.

Conclusión

En este artículo, hemos aprendido a:

  • crear una presentación de PowerPoint mediante programación;
  • agregue una nueva diapositiva en la presentación con un diseño de diapositiva predefinido;
  • generar una imagen de código QR y agregarla a la presentación;
  • cree un código de barras e insértelo en la presentación;
  • lea una imagen QR de una presentación de PowerPoint usando C#.

Además, puede obtener más información sobre Aspose.BarCode for .NET API utilizando la documentación. En caso de cualquier ambigüedad, no dude en contactarnos en el foro.

Ver también