為何不使用 Open XML SDK
概觀
本文說明開發人員在何時可能會選擇 Open XML SDK 或 Aspose.Slides 來處理簡報文件。它將 Open XML SDK 描述為用於操作 OOXML 套件及其底層 XML 元素的函式庫,而 Aspose.Slides 則被呈現為具備高階物件模型且支援多種 PowerPoint 相關任務的簡報處理函式庫。
本文依支援的格式、程式模型、渲染、平台支援以及常見使用情境比較兩者。亦說明 Open XML SDK 可能適合基本的 PPTX 操作或直接存取 OOXML 元素,而 Aspose.Slides 則較適合處理複雜簡報任務,例如處理多種 PowerPoint 格式、複製或克隆圖形、置換文字、套用動畫,以及將簡報轉換為 PDF、TIFF 或 XPS。
什麼是 Open XML SDK?
根據 MSDN Library 的說明,Open XML SDK 定義為:
Open XML SDK 2.0 簡化了操作 Open XML 套件以及套件內底層 Open XML 架構元素的任務。Open XML SDK 2.0 封裝了開發人員在 Open XML 套件上執行的許多常見工作,讓您只需幾行程式碼即可完成複雜操作。
OOXML 文件本質上是壓縮的 XML 檔案,Open XML SDK 是一組類別,讓您以強型別的方式處理 OOXML 文件的內容。也就是說,您不必解壓縮檔案以提取 XML、將 XML 載入 DOM 樹並直接操作 XML 元素與屬性,Open XML SDK 提供相應的類別來完成這些工作。
什麼是 Aspose.Slides?
Aspose.Slides 是一個類別函式庫,讓您的應用程式能執行以下簡報處理任務:
- 使用 Presentation 物件模型進行程式設計。
- 在所有受支援的流行 PowerPoint 簡報格式之間進行高品質轉換,包含轉換為 PDF、XPS 與 TIFF。
- 能以 PNG、JPEG、BMP 等常見格式產生投影片縮圖,並支援投影片匯出為 SVG。
- 能從頭建立簡報或透過合併一或多個文件來建立簡報。
- 支援加入動畫、Ole 框架、表格、建立與管理圖表。
- 提供廣泛的控制,管理 TextFrames、段落與 Portion 級別的文字格式。
如需更多功能細節,請參閱 Aspose.Slides Features。
比較 Open XML SDK 與 Aspose.Slides
| 功能或功能類別 | Open XML SDK | Aspose.Slides |
|---|---|---|
| 支援的簡報格式 | PPTX | PPT, POT, PPS, PPTX, POTX, PPSX, ODP |
| 從 PPT 轉換為 PPTX | 否 | 是 |
高階程式設計使用簡報文件物件模型 (DOM): - 尋找與取代文字。 - 組合簡報中的投影片。 |
否 | 是 |
| 使用文件物件模型的詳細程式設計,存取個別元素與格式,例如 TextHolders、TextFrames、段落與 Portion。 | 是 | 是 |
| 低階直接且完整存取底層 XML 元素與屬性,例如關聯識別碼、OOXML 文件的清單識別碼。 | 是 | 否 |
渲染: - 將簡報渲染為 PDF、PDF Notes、XPS、TIFF 圖片。 - 將投影片縮圖渲染為 PNG、JPEG、BMP、SVG 與 TIFF。 - 指定影像解析度、品質、壓縮與其他選項。 |
否 | 是 |
| 支援的平台 | Windows, .NET | Windows, Linux, UNIX, MAC, Java, PHP, Mono |
結論
Open XML SDK 與 Aspose.Slides 並非直接競爭,因為它們服務的需求與受眾相當不同。Open XML SDK 是一個提供強型別方式操作 OOXML 文件的類別函式庫。Aspose.Slides 則是一個非常實用的簡報處理函式庫,對幾乎所有 Microsoft PowerPoint 檔案格式都有優秀的支援。
如果您只需要在 PPTX 文件上執行相當基礎的程式操作,Open XML SDK 可能是合適的選擇。使用 Open XML SDK,您可以輕鬆完成產生簡單 PPTX 文件、移除註解、頁首/頁尾、擷取影像等簡單任務。有些任務可以透過 Open XML SDK 完成,但 Aspose.Slides 無法做到。例如,若您需要直接存取 OOXML 文件的 XML 元素與屬性,應使用 Open XML SDK。然而,若您需執行複雜文件操作,如以下任務,則 Aspose.Slides 是最佳選擇:
- 支援 PPTX 之外的舊版 PowerPoint 格式。
- 以適當方式複製或克隆投影片內的圖形,結合物件、樣式與其他格式設定。
- 取代已格式化或未格式化的文字。
- 套用動畫以及使用與圖形相連的連接線。
- 將文件轉換為 PDF、TIFF 或 XPS,使其外觀完全與 Microsoft PowerPoint 轉換後相同。
- 在桌面與 Web 環境中開發 .NET 或 Java 應用程式。