Thêm mã QR vào bản trình bày PowerPoint bằng C#

PowerPoint là một công cụ phổ biến được sử dụng để trình bày thông tin dưới dạng trình chiếu. Trong đó mỗi trang trình bày chứa thông tin / dữ liệu cụ thể dưới dạng văn bản, danh sách, hình ảnh, video, đồ thị, v.v. Trong bản trình bày PowerPoint, chúng tôi có thể nhúng bất kỳ URL cụ thể nào, liên kết tài khoản mạng xã hội của người trình bày hoặc địa chỉ email bằng mã QR . Vì vậy, những người có trình đọc QR trên điện thoại thông minh của họ có thể nắm bắt URL mà không cần phải viết nó ra. Trong bài viết này, chúng ta sẽ tìm hiểu cách thêm mã QR vào bản trình bày PowerPoint bằng C#.

Các chủ đề sau sẽ được đề cập trong bài viết này:

Mã QR là gì

Mã QR A (Phản hồi nhanh) là một loại mã vạch ma trận bao gồm một mảng các ô vuông đen và trắng. Như tên cho thấy, mã QR cho phép người dùng truy cập thông tin ngay lập tức khi được quét. Nó được sử dụng để lưu trữ thông tin chữ và số được mã hóa có thể được giải mã bởi trình đọc mã QR có sẵn trên các thiết bị kỹ thuật số, chẳng hạn như điện thoại di động.

C# API để thêm mã QR vào bản trình bày PowerPoint

Để tạo mã QR và thêm mã đó vào tệp PPT hoặc PPTX, chúng tôi sẽ thực hiện theo quy trình gồm hai bước. Đầu tiên, chúng tôi sẽ sử dụng API Aspose.Slides for .NET để tạo hoặc tải bản trình bày PowerPoint, sau đó chúng tôi sẽ tạo và thêm hình ảnh mã QR vào các trang trình bày bằng cách sử dụng Aspose.BarCode cho .NET API.

Aspose.Slides for .NET API cho phép đọc, viết, bảo vệ, sửa đổi và chuyển đổi các bản trình bày định dạng được hỗ trợ trong các ứng dụng .NET mà không cần sử dụng MS PowerPoint. Nó cung cấp nhiều lớp khác nhau để thực hiện các hoạt động khác nhau. Lớp Bản trình bày của API cho phép tạo bản trình bày mới hoặc tải tệp bản trình bày hiện có trong ứng dụng. Phương thức Save() của lớp này lưu bản trình bày ở định dạng được cung cấp trên đường dẫn tệp nhất định. Giao diện ISlide của API thể hiện một trang trình bày trong bản trình bày.

Chúng tôi sẽ sử dụng API Aspose.BarCode cho .NET để tạo mã QR. Nó cho phép tạo ra nhiều loại mã vạch được hỗ trợ. Vì mục đích này, nó cung cấp lớp BarcodeGenerator để tạo mã QR hoặc mã vạch của EncodeType được chỉ định. Chúng tôi có thể lưu hình ảnh mã QR / mã vạch đã tạo bằng phương thức Lưu() của lớp này. API cũng cung cấp kiểu liệt kê BarCodeImageFormat để chỉ định các định dạng lưu. Chúng tôi có thể đọc mã vạch hoặc mã QR từ hình ảnh bằng cách sử dụng lớp BarCodeReader của API.

Vui lòng tải xuống tệp DLL của các API hoặc cài đặt chúng bằng NuGet.

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

Tạo và thêm mã QR vào bản trình bày trong C#

Chúng tôi có thể tạo bản trình bày mới và thêm hình ảnh mã QR vào trang trình bày bằng cách làm theo các bước dưới đây:

  1. Đầu tiên, tạo một bản trình bày trống bằng cách sử dụng lớp Trình bày.
  2. Tiếp theo, tạo một thể hiện của lớp BarcodeGenerator. Nó lấy Kiểu mã hóa làm đối số.
  3. Sau đó, thêm văn bản để mã hóa và đặt các thuộc tính mã vạch tùy chọn khác.
  4. Tiếp theo, tạo một thể hiện của đối tượng dòng bộ nhớ.
  5. Sau đó, gọi phương thức BarcodeGenerator.Save() để lưu hình ảnh mã QR vào luồng bộ nhớ.
  6. Tiếp theo, gọi phương thức AddImage() để thêm hình ảnh vào bộ sưu tập hình ảnh của bản trình bày.
  7. Sau đó, gọi phương thức InsertEmptySlide() để chèn một trang chiếu trống tại chỉ mục được chỉ định với bố cục tiêu đề.
  8. Tiếp theo, lấy trang trình bày mới được chèn theo chỉ mục của nó.
  9. Sau đó, chèn hình ảnh mã QR trên trang chiếu bằng phương thức AddPictureFrame().
  10. Tùy chọn, đặt định dạng khung ảnh như kiểu tô, màu, chiều rộng, xoay, v.v.
  11. Cuối cùng, gọi phương thức Presentation.Save(). Nó lấy đường dẫn tệp PPTX đầu ra và SaveFormat làm đối số.

Ví dụ mã sau đây cho thấy cách tạo và thêm mã QR vào trang trình bày mới bằng C#.

// Ví dụ mã này trình bày cách thêm mã QR vào bản trình bày.
// Đường dẫn đến thư mục tài liệu.
string dataDir = @"C:\Files\BarCode\";

// Tạo một phiên bản của lớp Trình bày
Presentation presentation = new Presentation();

// Khởi tạo đối tượng mã vạch tuyến tính, Đặt loại ký hiệu cho mã vạch
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.QR);

// Văn bản để mã hóa bằng mã QR
generator.CodeText = "https://www.aspose.com";

// Ẩn văn bản trong màn hình
generator.Parameters.Barcode.CodeTextParameters.Location = CodeLocation.None;

// Đặt kích thước của QR
generator.Parameters.Barcode.XDimension.Pixels = 10;

// Tạo dòng bộ nhớ và lưu hình ảnh mã QR vào dòng bộ nhớ
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Thêm hình ảnh vào bản trình bày
System.Drawing.Image img = new Bitmap(ms);
IPPImage image = presentation.Images.AddImage(img);

// Chèn một trang trình bày trống tại chỉ mục được chỉ định với bố cục tiêu đề
IMasterLayoutSlideCollection layoutSlides = presentation.Masters[0].LayoutSlides;
var layoutSlide = layoutSlides.GetByType(SlideLayoutType.Title);
presentation.Slides.InsertEmptySlide(1, layoutSlide);

// Nhận trang trình bày theo chỉ mục của nó
ISlide slide = presentation.Slides[1];

// Thêm khung ảnh có chiều cao và chiều rộng tương đương của ảnh
IPictureFrame pf = slide.Shapes.AddPictureFrame(Aspose.Slides.ShapeType.Rectangle, 235, 200, image.Width, image.Height, image);

// Áp dụng một số định dạng cho 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;

// Lưu bản trình bày
presentation.Save(dataDir + "presentation.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
Tạo và thêm mã QR vào bản trình bày trong C#

Tạo và thêm mã QR vào bản trình bày trong C#.

Thêm mã QR vào bản trình bày hiện có trong C#

Chúng tôi có thể tải bản trình bày hiện có và thêm hình ảnh mã QR bằng cách làm theo các bước dưới đây:

  1. Đầu tiên, tải một bản trình bày hiện có bằng cách sử dụng lớp Trình bày.
  2. Tiếp theo, tạo một thể hiện của lớp BarcodeGenerator. Nó lấy Loại mã hóa và văn bản để mã hóa làm đối số.
  3. Sau đó, tạo một thể hiện của đối tượng dòng bộ nhớ.
  4. Sau đó, gọi phương thức BarcodeGenerator.Save() để lưu hình ảnh mã QR vào luồng bộ nhớ.
  5. Tiếp theo, gọi phương thức AddImage() để thêm hình ảnh vào bộ sưu tập hình ảnh của bản trình bày.
  6. Sau đó, lấy slide cụ thể theo chỉ mục của nó.
  7. Sau đó, chèn hình ảnh mã QR trên trang chiếu bằng phương thức AddPictureFrame().
  8. Cuối cùng, gọi phương thức Presentation.Save(). Nó lấy đường dẫn tệp PPTX đầu ra và SaveFormat làm đối số.

Ví dụ mã sau đây cho thấy cách tạo và thêm mã QR vào bản trình bày hiện có bằng C#.

// Ví dụ mã này trình bày cách thêm mã QR vào bản trình bày hiện có.
// Đường dẫn đến thư mục tài liệu.
string dataDir = @"C:\Files\BarCode\";

// Tải bản trình bày hiện có
Presentation presentation = new Presentation(dataDir + "presentation.pptx");

// Khởi tạo đối tượng mã vạch tuyến tính, Đặt văn bản Mã và loại ký hiệu cho mã vạch
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.QR, "https://www.aspose.com");

// Ẩn văn bản trong màn hình
generator.Parameters.Barcode.CodeTextParameters.Location = CodeLocation.None;

// Đặt kích thước của QR
generator.Parameters.Barcode.XDimension.Pixels = 10;

// Tạo dòng bộ nhớ và lưu hình ảnh mã QR vào dòng bộ nhớ
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Thêm hình ảnh vào trang trình bày
System.Drawing.Image img = new Bitmap(ms);
IPPImage image = presentation.Images.AddImage(img);

// Nhận trang trình bày theo chỉ mục của nó
ISlide slide = presentation.Slides[0];

// Thêm khung ảnh có chiều cao và chiều rộng tương đương của ảnh
IPictureFrame pf = slide.Shapes.AddPictureFrame(Aspose.Slides.ShapeType.Rectangle, 235, 100, image.Width, image.Height, image);

// Lưu thay đổi
presentation.Save(dataDir + "presentation1.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
Thêm mã QR vào bản trình bày hiện có trong C#

Thêm mã QR vào bản trình bày hiện có trong C#.

Thêm mã vạch vào bản trình bày PowerPoint trong C#

Tương tự, chúng ta cũng có thể tạo hình ảnh mã vạch và thêm nó vào bản trình bày bằng cách làm theo các bước đã đề cập trước đó. Tuy nhiên, chúng ta chỉ cần đặt EncodeType khác với QR hoặc GS1QR ở bước thứ hai. Chúng tôi cũng có thể cần điều chỉnh vị trí hình ảnh trong bước 7.

Ví dụ mã sau đây trình bày cách thêm mã vạch vào bản trình bày PowerPoint bằng C#.

// Ví dụ mã này trình bày cách thêm Mã vạch vào bản trình bày.
// Đường dẫn đến thư mục tài liệu.
string dataDir = @"C:\Files\BarCode\";

// Khởi tạo đối tượng mã vạch tuyến tính, Đặt văn bản Mã và loại ký hiệu cho mã vạch
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Code39Standard, "1234567");

// Tạo luồng bộ nhớ và Lưu hình ảnh mã vạch vào luồng bộ nhớ
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Tạo một phiên bản của lớp Trình bày
Presentation presentation = new Presentation();

// Nhận trang trình bày theo chỉ mục của nó
ISlide slide = presentation.Slides[0];

// Thêm hình ảnh vào trang trình bày
System.Drawing.Image img = new Bitmap(ms);
IPPImage image = presentation.Images.AddImage(img);

// Thêm khung ảnh có chiều cao và chiều rộng tương đương của ảnh
IPictureFrame pf = slide.Shapes.AddPictureFrame(Aspose.Slides.ShapeType.Rectangle, 200, 100, image.Width, image.Height, image);

// Lưu thay đổi
presentation.Save(dataDir + "presentation2.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
Thêm mã vạch vào bản trình bày PowerPoint trong C#.

Thêm mã vạch vào bản trình bày PowerPoint trong C#.

Đọc mã QR từ bản trình bày trong C#

Chúng tôi có thể nhận ra bất kỳ mã vạch hoặc hình ảnh mã QR nào có sẵn trên bất kỳ trang trình bày nào trong bản trình bày bằng cách thực hiện theo các bước dưới đây:

  1. Đầu tiên, tải một bản trình bày hiện có bằng cách sử dụng lớp Trình bày.
  2. Tiếp theo, lặp qua tất cả các hình ảnh trong bộ sưu tập hình ảnh của bản trình bày.
  3. Sau đó, lưu hình ảnh vào luồng.
  4. Tiếp theo, tạo một thể hiện của lớp BarCodeReader với luồng hình ảnh và DecodeType làm đối số.
  5. Sau đó, gọi phương thức ReadBarCodes() để lấy đối tượng BarCodeResult.
  6. Cuối cùng, hiển thị thông tin mã QR.

Ví dụ mã sau đây cho thấy cách đọc hình ảnh mã QR từ bản trình bày bằng C#.

// Ví dụ mã này trình bày cách đọc mã QR từ bản trình bày.
// Đường dẫn đến thư mục tài liệu.
string dataDir = @"C:\Files\BarCode\";

// Tải bản trình bày
Presentation presentation = new Presentation(dataDir + "presentation.pptx");

// Nhận hình ảnh bản trình bày
var images = presentation.Images;

// Lặp lại tất cả các hình ảnh
foreach (IPPImage image in images)
{
  var code = image.SystemImage;
  // Lưu hình ảnh trong luồng bộ nhớ
  MemoryStream imgStream = new MemoryStream();
  code.Save(imgStream, ImageFormat.Bmp);

  // Nhận dạng mã vạch từ luồng hình ảnh ở trên
  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

Nhận giấy phép miễn phí

Bạn có thể nhận giấy phép tạm thời miễn phí để dùng thử thư viện mà không có giới hạn đánh giá.

Sự kết luận

Trong bài viết này, chúng tôi đã học cách:

  • tạo bản trình bày PowerPoint theo chương trình;
  • thêm một trang chiếu mới trong bản trình bày với bố cục trang chiếu được xác định trước;
  • tạo một hình ảnh mã QR và thêm nó vào bản trình bày;
  • tạo mã vạch và chèn nó vào bài thuyết trình;
  • đọc hình ảnh QR từ bản trình bày PowerPoint bằng C#.

Bên cạnh đó, bạn có thể tìm hiểu thêm về Aspose.BarCode cho .NET API bằng cách sử dụng tài liệu. Trong trường hợp có bất kỳ sự mơ hồ nào, vui lòng liên hệ với chúng tôi trên diễn đàn.

Xem thêm