在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
轉換的必要性PowerPoint在軟體開發領域中,將簡報轉換為圖片格式是經常發生的事。 許多開發者發現,能夠以程式化的方式將 PowerPoint 文件轉換為照片非常有用,無論是用於生成預覽、創建縮圖,還是系統整合。 本文將說明如何使用 C# 進行 ppt 到圖像的轉換,並包括一些示例代碼來協助您完成。
創建 PowerPoint 應用程式實例。
使用實例打開簡報。
檢查並建立輸出資料夾。
逐步浏览幻灯片并將幻灯片导出为图像。
在深入探討細節之前,讓我們快速看看將 PowerPoint 幻燈片轉換為照片的重要性。 即使 PowerPoint 是製作動態簡報的絕佳工具,但並不總是能以其原始格式分享這些文件。 有時,只需要從簡報中提取特定的幻燈片或照片,而其他時候,不同的系統和設置可能無法直接渲染PowerPoint文件。 將 PowerPoint 簡報轉換為圖片,提供一個易於在各種設備和應用程式上共享和查看的全方位解決方案。
有幾種方法可以在 C# 中將 PowerPoint 簡報轉換為圖片。 使用Microsoft.Office.Interop.PowerPoint命名空間提供類別和方法以程式化地介接PowerPoint應用程式,是一種受歡迎的方法。 這提供了處理 PowerPoint 文件的廣泛功能。
請按照以下步驟創建新的 Visual Studio 專案:
打開 Visual Studio IDE。請確保您已安裝Visual Studio在使用之前,請先在您的電腦上安裝。
啟動新項目:
選擇檔案、新建,然後選擇專案。
在「創建新專案」框中,選擇您喜歡的程式語言(例如 C#)從左邊。
接下來,選擇「主控台應用程式」或「主控台應用程式(.NET Core)「從可用的專案模板列表中選擇模板。」
請完成「名稱」部分以為您的專案命名。
選擇專案的儲存位置。
點擊「Create」以開始創建新的主控臺應用程式專案。
讓我們開始看看如何使用 Microsoft.Office.Interop.PowerPoint 命名空間將 PowerPoint 幻燈片轉換為圖片。 首先,確保所需的程序集已安裝並添加到您的 C# 專案中作為引用。這些程序集通常可以通過直接參考 InterOp 程序集或安裝 Microsoft Office 主互操作程序集來找到。(PIA).
using System.IO;
using Microsoft.Office.Interop.PowerPoint;
class Program
{
static void Main(string [] args)
{
string pptFilePath = "demo.pptx"; // Path to your PowerPoint file
string outputFolder = "output_images"; // Output folder path where images will be saved
ConvertPptToImages(pptFilePath, outputFolder);
}
static void ConvertPptToImages(string pptFilePath, string outputFolder)
{
Application pptApplication = new Application();
Presentation pptPresentation = pptApplication.Presentations.Open(pptFilePath, MsoTriState.msoFalse, MsoTriState.msoFalse, MsoTriState.msoFalse);
if (!Directory.Exists(outputFolder))
Directory.CreateDirectory(outputFolder);
int slidesCount = pptPresentation.Slides.Count;
for (int i = 1; i <= slidesCount; i++)
{
string outputPath = Path.Combine(outputFolder, $"Slide{i}.png");
pptPresentation.Slides[i].Export(outputPath, "png", 1024, 768);
//saving the presentation slides into png images
}
pptPresentation.Close();
pptApplication.Quit();
}
}
using System.IO;
using Microsoft.Office.Interop.PowerPoint;
class Program
{
static void Main(string [] args)
{
string pptFilePath = "demo.pptx"; // Path to your PowerPoint file
string outputFolder = "output_images"; // Output folder path where images will be saved
ConvertPptToImages(pptFilePath, outputFolder);
}
static void ConvertPptToImages(string pptFilePath, string outputFolder)
{
Application pptApplication = new Application();
Presentation pptPresentation = pptApplication.Presentations.Open(pptFilePath, MsoTriState.msoFalse, MsoTriState.msoFalse, MsoTriState.msoFalse);
if (!Directory.Exists(outputFolder))
Directory.CreateDirectory(outputFolder);
int slidesCount = pptPresentation.Slides.Count;
for (int i = 1; i <= slidesCount; i++)
{
string outputPath = Path.Combine(outputFolder, $"Slide{i}.png");
pptPresentation.Slides[i].Export(outputPath, "png", 1024, 768);
//saving the presentation slides into png images
}
pptPresentation.Close();
pptApplication.Quit();
}
}
Imports System.IO
Imports Microsoft.Office.Interop.PowerPoint
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim pptFilePath As String = "demo.pptx" ' Path to your PowerPoint file
Dim outputFolder As String = "output_images" ' Output folder path where images will be saved
ConvertPptToImages(pptFilePath, outputFolder)
End Sub
Private Shared Sub ConvertPptToImages(ByVal pptFilePath As String, ByVal outputFolder As String)
Dim pptApplication As New Application()
Dim pptPresentation As Presentation = pptApplication.Presentations.Open(pptFilePath, MsoTriState.msoFalse, MsoTriState.msoFalse, MsoTriState.msoFalse)
If Not Directory.Exists(outputFolder) Then
Directory.CreateDirectory(outputFolder)
End If
Dim slidesCount As Integer = pptPresentation.Slides.Count
For i As Integer = 1 To slidesCount
Dim outputPath As String = Path.Combine(outputFolder, $"Slide{i}.png")
pptPresentation.Slides(i).Export(outputPath, "png", 1024, 768)
'saving the presentation slides into png images
Next i
pptPresentation.Close()
pptApplication.Quit()
End Sub
End Class
使用 Microsoft.Office.Interop.PowerPoint;
聲明可以導入處理 PowerPoint 應用程序所需的 C# 命名空間。 程式的入口點是 Main
方法。 它指定了輸出資料夾(outputFolder
), 這是保存創建的照片的位置,還有 PowerPoint 文件的路徑(pptFilePath
). 此方法負責將 PowerPoint 簡報實際轉換成照片。
Application pptApplication = new Application()
; 用於啟動 PowerPoint 程式的新實例。 這使與 PowerPoint 的程式交互成為可能。 使用 pptApplication.Presentations
,我們打開由 pptFilePath
指定的 PowerPoint 簡報文件。()函式。 此函數返回一個 Presentation 物件,代表打開的簡報。 我們判斷是否存在輸出資料夾 "outputFolder
"。 如果沒有,我們使用方法 Directory.CreateDirectory
()`來創建它。
我們使用 for 迴圈來遍歷簡報中的每一張幻燈片。 pptPresentation
使用屬性 Slides.Count
提供總幻燈片數量。 我們使用輸出資料夾路徑和幻燈片索引來創建每個幻燈片圖片的輸出路徑。(作為 Slides{我}.png
). 接下來,我們使用 pptPresentation
將 PowerPoint 投影片匯出為圖片(在此範例中,以 JPG 影像、PNG 影像格式)使用 Export()函式。 參數是圖片格式(“png” 格式)和大小(寬度:1024,高度:768). 最後,我們使用
pptPresentation來結束簡報。 關閉()並使用
pptApplication結束 PowerPoint 會話。 為了適當釋放系統資源,使用
Quit()
.
一個受歡迎的 .NET 框架叫做IronXL使在 C# 中更容易操作 Excel 文件。 憑藉其廣泛的讀取、創建和編輯 Excel 文件的功能集,這是一款適用於廣泛用途的靈活工具。 以下是 IronXL 的一些主要功能:
IronXL 能夠精確地操作 Excel 試算表中的個別單元格。 從程式上,開發者可以設定格式、樣式、公式、儲存格值及其他特性。
如需了解更多有關文件的資訊,請參閱IronXL 文件檔.
在繼續之前,讓我們先使用 NuGet 套件管理器主控台安裝 IronXL:
Install-Package IronXL.Excel
安裝完成後,IronXL可以在我們的C#項目中使用。
讓我們來檢視一個假設的情況,我們希望使用 IronXL 從 Excel 文件中讀取數據。
以下程式碼範例提供了如何完成此操作的快速說明:
using IronXL;
using System;
class Program
{
static void Main(string [] args)
{
// Path to the Excel file
string excelFilePath = "sample.xlsx";
// Load the Excel file
WorkBook workbook = WorkBook.Load(excelFilePath);
// Access the first worksheet
WorkSheet worksheet = workbook.WorkSheets[0];
// Iterate through rows and columns to read data
foreach (var row in worksheet.Rows)
{
foreach (var cell in row)
{
Console.Write(cell.Value + "\t");
}
Console.WriteLine();
}
}
}
using IronXL;
using System;
class Program
{
static void Main(string [] args)
{
// Path to the Excel file
string excelFilePath = "sample.xlsx";
// Load the Excel file
WorkBook workbook = WorkBook.Load(excelFilePath);
// Access the first worksheet
WorkSheet worksheet = workbook.WorkSheets[0];
// Iterate through rows and columns to read data
foreach (var row in worksheet.Rows)
{
foreach (var cell in row)
{
Console.Write(cell.Value + "\t");
}
Console.WriteLine();
}
}
}
Imports Microsoft.VisualBasic
Imports IronXL
Imports System
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Path to the Excel file
Dim excelFilePath As String = "sample.xlsx"
' Load the Excel file
Dim workbook As WorkBook = WorkBook.Load(excelFilePath)
' Access the first worksheet
Dim worksheet As WorkSheet = workbook.WorkSheets(0)
' Iterate through rows and columns to read data
For Each row In worksheet.Rows
For Each cell In row
Console.Write(cell.Value & vbTab)
Next cell
Console.WriteLine()
Next row
End Sub
End Class
首先,我們包含所需的命名空間。 IronXL 庫提供的類別和方法包含在 IronXL 命名空間中。 我們希望讀取的 Excel 文件的路徑(sample.xlsx)是指定的。 WorkBook 用於載入 Excel 檔案。Excel 活頁簿由 WorkBook 物件表示,該物件由 Load() function. 使用工作簿,我們可以使用 workbook.WorkSheets
存取第一個工作表。[0]`. 使用嵌套的 foreach 循環,我們遍歷工作表的行和列。 我們將每個單元格的值輸出到控制台。
要了解更多關於代碼的信息,請參考IronXL 讀取 Excel 示例.
在許多軟體應用中,需要使用C#將PowerPoint簡報轉換為照片。 使用或不使用 Microsoft.Office.Interop.PowerPoint 命名空間,該過程可能很快就能完成。 本文章的程式碼範例將幫助您輕鬆將 PowerPoint 轉換為圖片的功能納入 C# 應用程式中,創造大量資訊分發和修改的機會。
不需要在目標機器上安裝 Excel,也不依賴於 Interop 庫,IronXL提供了一種快速且有效的方法在 C# 中執行 Excel 操作。 使用 IronXL 在 C# 應用程式中處理 Excel 資料的開發人員會發現它很有用,因為它通過其用戶友好的 API 和豐富的功能集簡化了讀取、寫入和更改 Excel 文件的操作。 IronXL 提供可靠的解決方案,可提高與 Excel 相關開發項目中的效率和適應性,無論您是在創建報告、處理數據,還是自動化電子表格作業。
AIronXL 免費試用提供包含廣泛功能和支援的版本。 訪問IronXL 授權資訊有關授權的全面和最新資訊。 訪問Iron Software 網站了解更多關於 Iron Software 產品的資訊。