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
- API C# para adicionar código QR à apresentação do PowerPoint
- Gerar código QR e adicionar à apresentação
- Adicionar código QR à apresentação existente
- Adicionar código de barras à apresentação do PowerPoint
- Leia o código QR da apresentação
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:
- Em primeiro lugar, crie uma apresentação vazia usando a classe Presentation.
- Em seguida, crie uma instância da classe BarcodeGenerator. Leva o tipo de codificação como um argumento.
- Em seguida, adicione texto para codificar e defina outras propriedades de código de barras opcionais.
- Em seguida, crie uma instância do objeto de fluxo de memória.
- Em seguida, chame o método BarcodeGenerator.Save() para salvar a imagem do código QR no fluxo de memória.
- Em seguida, chame o método AddImage() para adicionar a imagem à coleção image da apresentação.
- Em seguida, chame o método InsertEmptySlide() para inserir um slide vazio no índice especificado com um layout de título.
- Em seguida, pegue o slide recém-inserido pelo seu índice.
- Depois disso, insira a imagem do código QR no slide usando o método AddPictureFrame().
- Opcionalmente, defina a formatação do quadro de imagem, como tipo de preenchimento, cor, largura, rotação etc.
- 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);
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:
- Em primeiro lugar, carregue uma apresentação existente usando a classe Presentation.
- Em seguida, crie uma instância da classe BarcodeGenerator. Leva o tipo de codificação e o texto para codificar como argumentos.
- Em seguida, crie uma instância do objeto de fluxo de memória.
- Depois disso, chame o método BarcodeGenerator.Save() para salvar a imagem do código QR no fluxo de memória.
- Em seguida, chame o método AddImage() para adicionar a imagem à coleção image da apresentação.
- Em seguida, obtenha o slide específico pelo seu índice.
- Depois disso, insira a imagem do código QR no slide usando o método AddPictureFrame().
- 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 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);
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:
- Em primeiro lugar, carregue uma apresentação existente usando a classe Presentation.
- Em seguida, percorra todas as imagens na coleção de imagens da apresentação.
- Em seguida, salve a imagem no fluxo.
- Em seguida, crie uma instância da classe BarCodeReader com fluxo de imagem e DecodeType como argumentos.
- Depois disso, chame o método ReadBarCodes() para obter o objeto BarCodeResult.
- 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.