PowerPoint — популярный инструмент, используемый для представления информации в виде слайд-шоу. Где каждый слайд содержит определенную информацию/данные в виде текста, списка, изображения, видео, графиков и т. д. В презентации PowerPoint мы можем встроить любой конкретный URL-адрес, ссылку на учетную запись докладчика в социальной сети или адрес электронной почты с помощью QR-кода. . Таким образом, люди, у которых есть QR-ридер на смартфоне, могут захватить URL-адрес, не записывая его. В этой статье мы узнаем, как добавить QR-код в презентацию PowerPoint с помощью C#.
В этой статье должны быть раскрыты следующие темы:
- Что такое QR-код
- C# API для добавления QR-кода в презентацию PowerPoint
- Сгенерируйте QR-код и добавьте в презентацию
- Добавить QR-код в существующую презентацию
- Добавить штрих-код в презентацию PowerPoint
- Прочитать QR-код из презентации
Что такое QR-код
QR-код (Quick Response) — это тип матричного штрих-кода, состоящий из массива черных и белых квадратов. Как видно из названия, QR-код позволяет пользователям мгновенно получать доступ к информации при сканировании. Он используется для хранения закодированной буквенно-цифровой информации, которая может быть декодирована считывателями QR-кодов, доступными на цифровых устройствах, таких как мобильные телефоны.
C# API для добавления QR-кода в презентацию PowerPoint
Для создания QR-кода и добавления его в файлы PPT или PPTX мы выполним двухэтапную процедуру. Во-первых, мы будем использовать API Aspose.Slides для .NET для создания или загрузки презентации PowerPoint, затем мы создадим и добавим изображение QR-кода на слайды презентации, используя Aspose.BarCode для .NET API.
Aspose.Slides for .NET API позволяет читать, писать, защищать, изменять и преобразовывать презентации поддерживаемых форматов в приложениях .NET без использования MS PowerPoint. Он предлагает различные классы для выполнения различных операций. Класс Presentation API позволяет создать новую презентацию или загрузить существующий файл презентации в приложение. Метод Save() этого класса сохраняет презентацию в предоставленном формате по указанному пути к файлу. Интерфейс ISlide API представляет собой слайд в презентации.
Мы будем использовать Aspose.BarCode для .NET API для создания QR-кода. Он позволяет генерировать различные типы поддерживаемых штрих-кодов. Для этой цели он предоставляет класс BarcodeGenerator для генерации QR-кода или штрих-кода указанного EncodeType. Мы можем сохранить сгенерированное изображение QR/штрих-кода, используя метод Save() этого класса. API также предоставляет перечисление BarCodeImageFormat для указания форматов сохранения. Мы можем считывать штрих-код или QR-код с изображений с помощью класса BarCodeReader API.
Пожалуйста, загрузите библиотеки DLL API или установите их с помощью NuGet.
PM> Install-Package Aspose.BarCode
PM> Install-Package Aspose.Cells
Создание и добавление QR-кода в презентацию на C#
Мы можем создать новую презентацию и добавить изображение QR-кода на слайд презентации, выполнив следующие действия:
- Во-первых, создайте пустую презентацию, используя класс Presentation.
- Затем создайте экземпляр класса BarcodeGenerator. Он принимает тип кодирования в качестве аргумента.
- Затем добавьте текст для кодирования и установите другие необязательные свойства штрих-кода.
- Затем создайте экземпляр объекта потока памяти.
- Затем вызовите метод BarcodeGenerator.Save(), чтобы сохранить изображение QR-кода в потоке памяти.
- Затем вызовите метод AddImage(), чтобы добавить изображение в коллекцию image презентации.
- Затем вызовите метод InsertEmptySlide(), чтобы вставить пустой слайд по указанному индексу с макетом заголовка.
- Затем получите вновь вставленный слайд по его индексу.
- После этого вставьте изображение QR-кода на слайд с помощью метода AddPictureFrame().
- При необходимости задайте форматирование рамки изображения, например тип заливки, цвет, ширину, поворот и т. д.
- Наконец, вызовите метод Presentation.Save(). Он принимает путь к выходному файлу PPTX и SaveFormat в качестве аргументов.
В следующем примере кода показано, как с помощью C# создать и добавить QR к новому слайду презентации.
// В этом примере кода показано, как добавить QR-код в презентацию.
// Путь к каталогу документов.
string dataDir = @"C:\Files\BarCode\";
// Создайте экземпляр класса Presentation
Presentation presentation = new Presentation();
// Создайте объект линейного штрих-кода, установите тип символики для штрих-кода.
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.QR);
// Текст для кодирования в QR-коде
generator.CodeText = "https://www.aspose.com";
// Скрыть текст на дисплее
generator.Parameters.Barcode.CodeTextParameters.Location = CodeLocation.None;
// Установить размер QR
generator.Parameters.Barcode.XDimension.Pixels = 10;
// Создание потока памяти и сохранение изображения QR-кода в поток памяти
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);
// Добавить изображение в презентацию
System.Drawing.Image img = new Bitmap(ms);
IPPImage image = presentation.Images.AddImage(img);
// Вставить пустой слайд по указанному индексу с макетом заголовка
IMasterLayoutSlideCollection layoutSlides = presentation.Masters[0].LayoutSlides;
var layoutSlide = layoutSlides.GetByType(SlideLayoutType.Title);
presentation.Slides.InsertEmptySlide(1, layoutSlide);
// Получить слайд по его индексу
ISlide slide = presentation.Slides[1];
// Добавляет рамку изображения с эквивалентной высотой и шириной изображения.
IPictureFrame pf = slide.Shapes.AddPictureFrame(Aspose.Slides.ShapeType.Rectangle, 235, 200, image.Width, image.Height, image);
// Примените некоторое форматирование к 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;
// Сохранить презентацию
presentation.Save(dataDir + "presentation.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
Добавить QR-код в существующую презентацию на C#
Мы можем загрузить существующую презентацию и добавить изображение QR-кода, выполнив следующие шаги:
- Во-первых, загрузите существующую презентацию с помощью класса Presentation.
- Затем создайте экземпляр класса BarcodeGenerator. Он принимает тип кодирования и текст для кодирования в качестве аргументов.
- Затем создайте экземпляр объекта потока памяти.
- После этого вызовите метод BarcodeGenerator.Save(), чтобы сохранить изображение QR-кода в поток памяти.
- Затем вызовите метод AddImage(), чтобы добавить изображение в коллекцию image презентации.
- Затем получите конкретный слайд по его индексу.
- После этого вставьте изображение QR-кода на слайд с помощью метода AddPictureFrame().
- Наконец, вызовите метод Presentation.Save(). Он принимает путь к выходному файлу PPTX и SaveFormat в качестве аргументов.
В следующем примере кода показано, как создать и добавить QR в существующую презентацию с помощью C#.
// В этом примере кода показано, как добавить QR-код в существующую презентацию.
// Путь к каталогу документов.
string dataDir = @"C:\Files\BarCode\";
// Загрузить существующую презентацию
Presentation presentation = new Presentation(dataDir + "presentation.pptx");
// Создайте объект линейного штрих-кода, установите текст кода и тип символики для штрих-кода.
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.QR, "https://www.aspose.com");
// Скрыть текст на дисплее
generator.Parameters.Barcode.CodeTextParameters.Location = CodeLocation.None;
// Установить размер QR
generator.Parameters.Barcode.XDimension.Pixels = 10;
// Создание потока памяти и сохранение изображения QR-кода в поток памяти
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);
// Добавить изображение на слайд
System.Drawing.Image img = new Bitmap(ms);
IPPImage image = presentation.Images.AddImage(img);
// Получить слайд по его индексу
ISlide slide = presentation.Slides[0];
// Добавляет рамку изображения с эквивалентной высотой и шириной изображения.
IPictureFrame pf = slide.Shapes.AddPictureFrame(Aspose.Slides.ShapeType.Rectangle, 235, 100, image.Width, image.Height, image);
// Сохранить изменения
presentation.Save(dataDir + "presentation1.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
Добавить штрих-код в презентацию PowerPoint на C#
Точно так же мы также можем создать изображение штрих-кода и добавить его в презентацию, выполнив шаги, упомянутые ранее. Однако нам просто нужно установить EncodeType, отличный от QR или GS1QR на втором шаге. Нам также может понадобиться настроить положение изображения на шаге 7.
В следующем примере кода показано, как добавить штрих-код в презентацию PowerPoint с помощью C#.
// В этом примере кода показано, как добавить штрих-код в презентацию.
// Путь к каталогу документов.
string dataDir = @"C:\Files\BarCode\";
// Создайте объект линейного штрих-кода, установите текст кода и тип символики для штрих-кода.
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Code39Standard, "1234567");
// Создание потока памяти и сохранение изображения штрих-кода в поток памяти
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);
// Создайте экземпляр класса Presentation
Presentation presentation = new Presentation();
// Получить слайд по его индексу
ISlide slide = presentation.Slides[0];
// Добавить изображение на слайд
System.Drawing.Image img = new Bitmap(ms);
IPPImage image = presentation.Images.AddImage(img);
// Добавляет рамку изображения с эквивалентной высотой и шириной изображения.
IPictureFrame pf = slide.Shapes.AddPictureFrame(Aspose.Slides.ShapeType.Rectangle, 200, 100, image.Width, image.Height, image);
// Сохранить изменения
presentation.Save(dataDir + "presentation2.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
Чтение QR-кода из презентации на C#
Мы можем распознать любой штрих-код или изображение QR-кода, доступное на любом из слайдов в презентации, выполнив следующие шаги:
- Во-первых, загрузите существующую презентацию с помощью класса Presentation.
- Затем просмотрите все изображения в коллекции изображений презентации.
- Затем сохраните изображение в поток.
- Затем создайте экземпляр класса BarCodeReader с потоком изображения и DecodeType в качестве аргументов.
- После этого вызовите метод ReadBarCodes(), чтобы получить объект BarCodeResult.
- Наконец, покажите информацию о QR-коде.
В следующем примере кода показано, как прочитать изображение QR-кода из презентации с помощью C#.
// В этом примере кода показано, как читать QR-код из презентации.
// Путь к каталогу документов.
string dataDir = @"C:\Files\BarCode\";
// Загрузить презентацию
Presentation presentation = new Presentation(dataDir + "presentation.pptx");
// Получить изображения презентации
var images = presentation.Images;
// Перебрать все изображения
foreach (IPPImage image in images)
{
var code = image.SystemImage;
// Сохраните изображение в потоке памяти
MemoryStream imgStream = new MemoryStream();
code.Save(imgStream, ImageFormat.Bmp);
// Распознайте штрих-код из потока изображений выше
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
Получить бесплатную лицензию
Вы можете получить бесплатную временную лицензию, чтобы попробовать библиотеку без ограничений пробной версии.
Вывод
В этой статье мы узнали, как:
- создать презентацию PowerPoint программно;
- добавить в презентацию новый слайд с предустановленным макетом слайдов;
- сгенерировать изображение QR-кода и добавить его в презентацию;
- создать штрих-код и вставить его в презентацию;
- прочитать QR-изображение из презентации PowerPoint с помощью C#.
Кроме того, вы можете узнать больше об Aspose.BarCode for .NET API, используя документацию. В случае каких-либо неясностей, пожалуйста, не стесняйтесь обращаться к нам на форум.