PowerPoint 是一種流行的工具,用於以幻燈片放映的形式呈現信息。每張幻燈片包含文本、列表、圖像、視頻、圖表等形式的特定信息/數據。在 PowerPoint 演示文稿中,我們可以使用二維碼嵌入任何特定的 URL、演示者的社交媒體帳戶鏈接或電子郵件地址.這樣一來,智能手機上裝有二維碼閱讀器的人就可以捕獲 URL,而無需將其寫下來。在本文中,我們將學習如何使用 C# 將二維碼添加到 PowerPoint 演示文稿。
本文應涵蓋以下主題:
- 什麼是二維碼
- 將 QR 碼添加到 PowerPoint 演示文稿的 C# API
- 生成二維碼並添加到演示文稿
- 將 QR 碼添加到現有演示文稿
- 將條形碼添加到 PowerPoint 演示文稿
- 從演示文稿中讀取二維碼
什麼是二維碼
A(快速響應)QR 碼是一種矩陣條形碼,由一系列黑白方塊組成。顧名思義,二維碼允許用戶在掃描時立即訪問信息。它用於存儲編碼的字母數字信息,這些信息可以通過數字設備(例如手機)上的二維碼閱讀器進行解碼。
將 QR 碼添加到 PowerPoint 演示文稿的 C# API
要生成 QR 碼並將其添加到 PPT 或 PPTX 文件,我們將遵循兩個步驟。首先,我們將使用 Aspose.Slides for .NET API 創建或加載 PowerPoint 演示文稿,然後我們將使用 [Aspose.BarCode for .NET] 生成 QR 碼圖像並將其添加到演示文稿幻燈片]4 API。
Aspose.Slides for .NET API 能夠在不使用 MS PowerPoint 的情況下在 .NET 應用程序中讀取、寫入、保護、修改和轉換 支持的格式 的演示文稿。它提供了各種類來執行不同的操作。 API 的 Presentation 類允許在應用程序中創建新的演示文稿或加載現有的演示文稿文件。此類的 Save() 方法以給定文件路徑上提供的格式保存演示文稿。 API 的 ISlide 接口表示演示文稿中的幻燈片。
我們將使用 Aspose.BarCode for .NET API 生成二維碼。它允許生成各種支持的條形碼類型。為此,它提供了BarcodeGenerator類來生成指定EncodeType的二維碼或條形碼。我們可以使用此類的 Save() 方法保存生成的二維碼/條碼圖像。 API 還提供了 BarCodeImageFormat 枚舉來指定保存格式。我們可以使用 API 的 BarCodeReader 類從圖像中讀取條形碼或 QR 碼。
請 下載 API 的 DLL 或使用 NuGet 安裝它們。
PM> Install-Package Aspose.BarCode
PM> Install-Package Aspose.Cells
在 C# 中生成 QR 碼並將其添加到演示文稿
我們可以按照下面給出的步驟創建一個新的演示文稿並將二維碼圖像添加到演示文稿幻燈片中:
- 首先,使用 Presentation 類創建一個空演示文稿。
- 接下來,創建 BarcodeGenerator 類的一個實例。它以編碼類型作為參數。
- 然後,添加要編碼的文本並設置其他可選條碼屬性。
- 接下來,創建內存流對象的實例。
- 然後調用BarcodeGenerator.Save()方法將二維碼圖片保存到內存流中。
- 接下來,調用 AddImage() 方法將圖像添加到演示文稿的 image 集合中。
- 然後,調用 InsertEmptySlide() 方法在指定索引處插入一個帶有標題佈局的空幻燈片。
- 接下來,通過索引獲取新插入的幻燈片。
- 之後,使用 AddPictureFrame() 方法在幻燈片上插入二維碼圖像。
- 可選擇設置圖片框格式,例如填充類型、顏色、寬度、旋轉等。
- 最後,調用 Presentation.Save() 方法。它以輸出 PPTX 文件路徑和 SaveFormat 作為參數。
以下代碼示例演示如何使用 C# 生成 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;
// 設置二維碼大小
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# 中的現有演示文稿
我們可以按照以下步驟加載現有演示文稿並添加二維碼圖像:
- 首先,使用 Presentation 類加載現有的演示文稿。
- 接下來,創建 BarcodeGenerator 類的一個實例。它採用編碼類型和要編碼的文本作為參數。
- 然後,創建內存流對象的實例。
- 之後調用BarcodeGenerator.Save()方法將二維碼圖片保存到內存流中。
- 接下來,調用 AddImage() 方法將圖像添加到演示文稿的 image 集合中。
- 然後,通過索引獲取特定幻燈片。
- 之後,使用 AddPictureFrame() 方法在幻燈片上插入二維碼圖像。
- 最後,調用 Presentation.Save() 方法。它以輸出 PPTX 文件路徑和 SaveFormat 作為參數。
以下代碼示例顯示如何使用 C# 生成 QR 並將其添加到現有演示文稿。
// 此代碼示例演示如何將 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;
// 設置二維碼大小
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);
在 C# 中將條形碼添加到 PowerPoint 演示文稿
同樣,我們也可以按照前面提到的步驟,生成一個條形碼圖片,添加到演示文稿中。但是,我們只需要在第二步中設置除 QR 或 GS1QR 之外的 EncodeType。我們可能還需要在步驟 7 中調整圖像位置。
下面的代碼示例演示瞭如何使用 C# 將條形碼添加到 PowerPoint 演示文稿。
// 此代碼示例演示如何將條形碼添加到演示文稿。
// 文檔目錄的路徑。
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);
從 C# 中的演示文稿中讀取 QR 碼
我們可以按照以下步驟識別演示文稿中任何幻燈片上可用的任何條形碼或二維碼圖像:
- 首先,使用 Presentation 類加載現有的演示文稿。
- 接下來,遍歷演示文稿圖像集中的所有圖像。
- 然後,將圖像保存到流中。
- 接下來,使用圖像流和 DecodeType 作為參數創建 BarCodeReader 類的實例。
- 之後調用ReadBarCodes()方法得到BarCodeResult對象。
- 最後,展示二維碼信息。
下面的代碼示例展示瞭如何使用 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 演示文稿;
- 使用預定義的幻燈片佈局在演示文稿中添加新幻燈片;
- 生成二維碼圖像並將其添加到演示文稿中;
- 創建條形碼並將其插入演示文稿;
- 使用 C# 從 PowerPoint 演示文稿中讀取 QR 圖像。
此外,您可以使用 文檔 了解更多關於 Aspose.BarCode for .NET API 的信息。如有任何歧義,請隨時在論壇上與我們聯繫。