Adicionar QR Code à apresentação do PowerPoint usando C#

O PowerPoint é uma ferramenta popular usada para apresentar informações na forma de uma apresentação de slides. Onde cada slide contém informações/dados específicos na forma de texto, lista, imagem, vídeo, gráficos, etc. Em uma apresentação do PowerPoint, podemos incorporar qualquer URL específico, o link da conta de mídia social do apresentador ou um endereço de e-mail usando um código QR . Assim, pessoas com um leitor de QR em seus smartphones podem capturar a URL sem precisar anotá-la. Neste artigo, aprenderemos como adicionar um código QR a uma apresentação do PowerPoint usando C#.

Os seguintes tópicos serão abordados neste artigo:

O que é código QR

Um código QR (Resposta Rápida) é um tipo de código de barras de matriz que consiste em uma matriz de quadrados pretos e brancos. Como o nome mostra, o código QR permite que os usuários acessem as informações instantaneamente quando digitalizadas. Ele é usado para armazenar informações alfanuméricas codificadas que podem ser decodificadas por leitores de QR code disponíveis em dispositivos digitais, como telefones celulares.

API C# para adicionar código QR à apresentação do PowerPoint

Para gerar um código QR e adicioná-lo aos arquivos PPT ou PPTX, seguiremos um procedimento de duas etapas. Em primeiro lugar, usaremos a API Aspose.Slides for .NET para criar ou carregar uma apresentação do PowerPoint, depois geraremos e adicionaremos a imagem do código QR aos slides da apresentação usando o Aspose.BarCode for .NET API.

Aspose.Slides for .NET API permite ler, escrever, proteger, modificar e converter apresentações dos formatos suportados em aplicativos .NET sem usar o MS PowerPoint. Oferece várias classes para realizar diferentes operações. A classe Apresentação da API permite criar uma nova apresentação ou carregar um arquivo de apresentação existente na aplicação. O método Save() dessa classe salva a apresentação no formato fornecido no caminho de arquivo fornecido. A interface ISlide da API representa um slide em uma apresentação.

Usaremos a API Aspose.BarCode para .NET para gerar um código QR. Permite gerar vários tipos de códigos de barras suportados. Para isso, fornece a classe BarcodeGenerator para gerar o código QR ou código de barras do EncodeType especificado. Podemos salvar a imagem QR/código de barras gerada usando o método Save() desta classe. A API também fornece a enumeração BarCodeImageFormat para especificar os formatos de salvamento. Podemos ler o código de barras ou código QR das imagens usando a classe BarCodeReader da API.

Por favor, baixe as DLLs das APIs ou instale-as usando NuGet.

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

Gerar e adicionar QR Code à apresentação em C#

Podemos criar uma nova apresentação e adicionar uma imagem de código QR ao slide da apresentação seguindo as etapas abaixo:

  1. Em primeiro lugar, crie uma apresentação vazia usando a classe Presentation.
  2. Em seguida, crie uma instância da classe BarcodeGenerator. Leva o tipo de codificação como um argumento.
  3. Em seguida, adicione texto para codificar e defina outras propriedades de código de barras opcionais.
  4. Em seguida, crie uma instância do objeto de fluxo de memória.
  5. Em seguida, chame o método BarcodeGenerator.Save() para salvar a imagem do código QR no fluxo de memória.
  6. Em seguida, chame o método AddImage() para adicionar a imagem à coleção image da apresentação.
  7. Em seguida, chame o método InsertEmptySlide() para inserir um slide vazio no índice especificado com um layout de título.
  8. Em seguida, pegue o slide recém-inserido pelo seu índice.
  9. Depois disso, insira a imagem do código QR no slide usando o método AddPictureFrame().
  10. Opcionalmente, defina a formatação do quadro de imagem, como tipo de preenchimento, cor, largura, rotação etc.
  11. Por fim, chame o método Presentation.Save(). Ele usa o caminho do arquivo PPTX de saída e o SaveFormat como argumentos.

O exemplo de código a seguir mostra como gerar e adicionar um QR a um novo slide de apresentação usando C#.

// Este exemplo de código demonstra como adicionar código QR à apresentação.
// O caminho para o diretório de documentos.
string dataDir = @"C:\Files\BarCode\";

// Criar uma instância da classe Presentation
Presentation presentation = new Presentation();

// Instanciar objeto de código de barras linear, definir o tipo de simbologia para o código de barras
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.QR);

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

// Ocultar texto na exibição
generator.Parameters.Barcode.CodeTextParameters.Location = CodeLocation.None;

// Definir o tamanho do QR
generator.Parameters.Barcode.XDimension.Pixels = 10;

// Criando fluxo de memória e Salvar imagem de código QR no fluxo de memória
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Adicionar imagem à apresentação
System.Drawing.Image img = new Bitmap(ms);
IPPImage image = presentation.Images.AddImage(img);

// Inserir um slide vazio no índice especificado com um layout de título
IMasterLayoutSlideCollection layoutSlides = presentation.Masters[0].LayoutSlides;
var layoutSlide = layoutSlides.GetByType(SlideLayoutType.Title);
presentation.Slides.InsertEmptySlide(1, layoutSlide);

// Obter slide pelo seu índice
ISlide slide = presentation.Slides[1];

// Adiciona um porta-retrato com a altura e largura equivalentes da imagem
IPictureFrame pf = slide.Shapes.AddPictureFrame(Aspose.Slides.ShapeType.Rectangle, 235, 200, image.Width, image.Height, image);

// Aplicar alguma formatação ao 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;

// Salve a apresentação
presentation.Save(dataDir + "presentation.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
Gerar e adicionar QR Code à apresentação em C#

Gere e adicione QR Code à apresentação em C#.

Adicionar código QR à apresentação existente em C#

Podemos carregar uma apresentação existente e adicionar uma imagem de código QR seguindo as etapas abaixo:

  1. Em primeiro lugar, carregue uma apresentação existente usando a classe Presentation.
  2. Em seguida, crie uma instância da classe BarcodeGenerator. Leva o tipo de codificação e o texto para codificar como argumentos.
  3. Em seguida, crie uma instância do objeto de fluxo de memória.
  4. Depois disso, chame o método BarcodeGenerator.Save() para salvar a imagem do código QR no fluxo de memória.
  5. Em seguida, chame o método AddImage() para adicionar a imagem à coleção image da apresentação.
  6. Em seguida, obtenha o slide específico pelo seu índice.
  7. Depois disso, insira a imagem do código QR no slide usando o método AddPictureFrame().
  8. Finalmente, chame o método Presentation.Save(). Ele usa o caminho do arquivo PPTX de saída e o SaveFormat como argumentos.

O exemplo de código a seguir mostra como gerar e adicionar um QR a uma apresentação existente usando C#.

// Este exemplo de código demonstra como adicionar código QR à apresentação existente.
// O caminho para o diretório de documentos.
string dataDir = @"C:\Files\BarCode\";

// Carregar uma apresentação existente
Presentation presentation = new Presentation(dataDir + "presentation.pptx");

// Instanciar objeto de código de barras linear, definir o texto do código e o tipo de simbologia para o código de barras
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.QR, "https://www.aspose.com");

// Ocultar texto na exibição
generator.Parameters.Barcode.CodeTextParameters.Location = CodeLocation.None;

// Definir o tamanho do QR
generator.Parameters.Barcode.XDimension.Pixels = 10;

// Criando fluxo de memória e Salvar imagem de código QR no fluxo de memória
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Adicionar imagem ao slide
System.Drawing.Image img = new Bitmap(ms);
IPPImage image = presentation.Images.AddImage(img);

// Obter slide pelo seu índice
ISlide slide = presentation.Slides[0];

// Adiciona um porta-retrato com a altura e largura equivalentes da imagem
IPictureFrame pf = slide.Shapes.AddPictureFrame(Aspose.Slides.ShapeType.Rectangle, 235, 100, image.Width, image.Height, image);

// Salvar alterações
presentation.Save(dataDir + "presentation1.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
Adicionar código QR à apresentação existente em C#

Adicione o código QR à apresentação existente em C#.

Adicionar código de barras à apresentação do PowerPoint em C#

Da mesma forma, também podemos gerar uma imagem de código de barras e adicioná-la à apresentação seguindo os passos mencionados anteriormente. No entanto, só precisamos definir o EncodeType diferente de QR ou GS1QR na segunda etapa. Também podemos precisar ajustar a posição da imagem na etapa 7.

O exemplo de código a seguir demonstra como adicionar um código de barras a uma apresentação do PowerPoint usando C#.

// Este exemplo de código demonstra como adicionar código de barras à apresentação.
// O caminho para o diretório de documentos.
string dataDir = @"C:\Files\BarCode\";

// Instanciar objeto de código de barras linear, definir o texto do código e o tipo de simbologia para o código de barras
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Code39Standard, "1234567");

// Criação de fluxo de memória e Salvar imagem de código de barras no fluxo de memória
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Criar uma instância da classe Presentation
Presentation presentation = new Presentation();

// Obter slide pelo seu índice
ISlide slide = presentation.Slides[0];

// Adicionar imagem ao slide
System.Drawing.Image img = new Bitmap(ms);
IPPImage image = presentation.Images.AddImage(img);

// Adiciona um porta-retrato com a altura e largura equivalentes da imagem
IPictureFrame pf = slide.Shapes.AddPictureFrame(Aspose.Slides.ShapeType.Rectangle, 200, 100, image.Width, image.Height, image);

// Salvar alterações
presentation.Save(dataDir + "presentation2.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
Adicionar código de barras à apresentação do PowerPoint em C#.

Adicionar código de barras à apresentação do PowerPoint em C#.

Leia o código QR da apresentação em C#

Podemos reconhecer qualquer imagem de código de barras ou código QR disponível em qualquer um dos slides da apresentação seguindo as etapas abaixo:

  1. Em primeiro lugar, carregue uma apresentação existente usando a classe Presentation.
  2. Em seguida, percorra todas as imagens na coleção de imagens da apresentação.
  3. Em seguida, salve a imagem no fluxo.
  4. Em seguida, crie uma instância da classe BarCodeReader com fluxo de imagem e DecodeType como argumentos.
  5. Depois disso, chame o método ReadBarCodes() para obter o objeto BarCodeResult.
  6. Por fim, mostre as informações do código QR.

O exemplo de código a seguir mostra como ler uma imagem de código QR de uma apresentação usando C#.

// Este exemplo de código demonstra como ler o código QR da apresentação.
// O caminho para o diretório de documentos.
string dataDir = @"C:\Files\BarCode\";

// Carregar a apresentação
Presentation presentation = new Presentation(dataDir + "presentation.pptx");

// Obter imagens de apresentação
var images = presentation.Images;

// Percorra todas as imagens
foreach (IPPImage image in images)
{
  var code = image.SystemImage;
  // Salve a imagem no fluxo de memória
  MemoryStream imgStream = new MemoryStream();
  code.Save(imgStream, ImageFormat.Bmp);

  // Reconhecer o código de barras do fluxo de imagem acima
  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

Obtenha uma licença gratuita

Você pode obter uma licença temporária gratuita para experimentar a biblioteca sem limitações de avaliação.

Conclusão

Neste artigo, aprendemos como:

  • criar uma apresentação do PowerPoint programaticamente;
  • adicionar um novo slide na apresentação com um layout de slide predefinido;
  • gerar uma imagem de código QR e adicioná-la à apresentação;
  • crie um código de barras e insira-o na apresentação;
  • leia uma imagem QR de uma apresentação do PowerPoint usando C#.

Além disso, você pode aprender mais sobre Aspose.BarCode para .NET API usando a documentação. Em caso de qualquer ambiguidade, não hesite em contactar-nos no fórum.

Veja também