Добавьте QR-код в презентацию PowerPoint с помощью C#

PowerPoint — популярный инструмент, используемый для представления информации в виде слайд-шоу. Где каждый слайд содержит определенную информацию/данные в виде текста, списка, изображения, видео, графиков и т. д. В презентации PowerPoint мы можем встроить любой конкретный URL-адрес, ссылку на учетную запись докладчика в социальной сети или адрес электронной почты с помощью QR-кода. . Таким образом, люди, у которых есть QR-ридер на смартфоне, могут захватить URL-адрес, не записывая его. В этой статье мы узнаем, как добавить QR-код в презентацию PowerPoint с помощью C#.

В этой статье должны быть раскрыты следующие темы:

Что такое 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-кода на слайд презентации, выполнив следующие действия:

  1. Во-первых, создайте пустую презентацию, используя класс Presentation.
  2. Затем создайте экземпляр класса BarcodeGenerator. Он принимает тип кодирования в качестве аргумента.
  3. Затем добавьте текст для кодирования и установите другие необязательные свойства штрих-кода.
  4. Затем создайте экземпляр объекта потока памяти.
  5. Затем вызовите метод BarcodeGenerator.Save(), чтобы сохранить изображение QR-кода в потоке памяти.
  6. Затем вызовите метод AddImage(), чтобы добавить изображение в коллекцию image презентации.
  7. Затем вызовите метод InsertEmptySlide(), чтобы вставить пустой слайд по указанному индексу с макетом заголовка.
  8. Затем получите вновь вставленный слайд по его индексу.
  9. После этого вставьте изображение QR-кода на слайд с помощью метода AddPictureFrame().
  10. При необходимости задайте форматирование рамки изображения, например тип заливки, цвет, ширину, поворот и т. д.
  11. Наконец, вызовите метод 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-код в презентацию на C#.

Добавить QR-код в существующую презентацию на C#

Мы можем загрузить существующую презентацию и добавить изображение QR-кода, выполнив следующие шаги:

  1. Во-первых, загрузите существующую презентацию с помощью класса Presentation.
  2. Затем создайте экземпляр класса BarcodeGenerator. Он принимает тип кодирования и текст для кодирования в качестве аргументов.
  3. Затем создайте экземпляр объекта потока памяти.
  4. После этого вызовите метод BarcodeGenerator.Save(), чтобы сохранить изображение QR-кода в поток памяти.
  5. Затем вызовите метод AddImage(), чтобы добавить изображение в коллекцию image презентации.
  6. Затем получите конкретный слайд по его индексу.
  7. После этого вставьте изображение QR-кода на слайд с помощью метода AddPictureFrame().
  8. Наконец, вызовите метод 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);
Добавить QR-код в существующую презентацию на C#

Добавьте QR-код в существующую презентацию на C#.

Добавить штрих-код в презентацию 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);
Добавьте штрих-код в презентацию PowerPoint на C#.

Добавьте штрих-код в презентацию PowerPoint на C#.

Чтение QR-кода из презентации на C#

Мы можем распознать любой штрих-код или изображение QR-кода, доступное на любом из слайдов в презентации, выполнив следующие шаги:

  1. Во-первых, загрузите существующую презентацию с помощью класса Presentation.
  2. Затем просмотрите все изображения в коллекции изображений презентации.
  3. Затем сохраните изображение в поток.
  4. Затем создайте экземпляр класса BarCodeReader с потоком изображения и DecodeType в качестве аргументов.
  5. После этого вызовите метод ReadBarCodes(), чтобы получить объект BarCodeResult.
  6. Наконец, покажите информацию о 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, используя документацию. В случае каких-либо неясностей, пожалуйста, не стесняйтесь обращаться к нам на форум.

Смотрите также