C#實現(xiàn)從PPT中提取文本的示例代碼
在學習或者日常工作中,有時我們需要把幻燈片的東西整理成文字,而從 PowerPoint 演示文稿中一張一張的整理手動復制粘貼,整個過程會非常費精力且耗時。那么怎么樣才能比較輕松且快速地提取PowerPoint中的文字呢?今天這篇文章就將為你介紹如何通過編程方式提取PowerPoint中的文字,文章最后附有C#/VB.NET代碼以及效果圖,希望對你有所幫助。
程序環(huán)境
本次測試時,在程序中引入Free Spire.Presentation for .NET??赏ㄟ^以下方法引用 Free Spire.Presentation.dll文件:
方法1:將 Free Spire.Presentation for .NET下載到本地,解壓,安裝。安裝完成后,找到安裝路徑下BIN文件夾中的 Spire.Presentation.dll。然后在Visual Studio中打開“解決方案資源管理器”,鼠標右鍵點擊“引用”,“添加引用”,將本地路徑BIN文件夾下的dll文件添加引用至程序。
方法2:通過NuGet安裝??赏ㄟ^以下2種方法安裝:
(1)可以在Visual Studio中打開“解決方案資源管理器”,鼠標右鍵點擊“引用”,“管理NuGet包”,然后搜索“Free Spire.Presentation”,點擊“安裝”。等待程序安裝完成。
(2)將以下內(nèi)容復制到PM控制臺安裝。
Install-Package FreeSpire.Presentation -Version 7.8.0
從 PowerPoint 演示文稿中提取文本
為了便于在 PowerPoint 文檔中共享或傳遞文本信息,有時需要進行文本提取操作。以下是從所有演示文稿幻燈片中提取文本并保存在 TXT 文件中的步驟。
- 初始化 Presentation 類的實例。
- 使用 Presentation.LoadFromFile() 方法加載 PowerPoint 文檔示例。
- 創(chuàng)建 StringBuilder 實例。
- 遍歷文檔中的每張幻燈片,然后遍歷每張幻燈片中的所有形狀。
- 確定形狀是否為 IAutoShape 類型。如果是,則遍歷每個形狀中的所有段落,并使用 TextParagraph.Text 屬性獲取段落文本。
- 使用 StringBuilder.AppendLine() 方法將提取的文本附加到StringBuilder實例
- 創(chuàng)建一個新的txt文件,并使用 File.WriteAllText() 方法將提取的文本寫入該文件。
完整代碼
C#
using Spire.Presentation; using Spire.Presentation.Charts; using Spire.Presentation.Converter.Equation.Word; using System; using System.IO; using System.Text; namespace ExtractText { class Program { static void Main(string[] args) { //初始化Presentation類的實例 Presentation presentation = new Presentation(); //載PowerPoint文檔示例 presentation.LoadFromFile("海市蜃樓是如何形成的?.pptx"); //創(chuàng)建StringBuilder實例 StringBuilder sb = new StringBuilder(); //遍歷文檔中的每張幻燈片 foreach (ISlide slide in presentation.Slides) { //遍歷每張幻燈片中的每個形狀 foreach (IShape shape in slide.Shapes) { //檢查形狀是否為IAutoShape類型 if (shape is IAutoShape) { //以每種形狀遍歷所有段落 foreach (TextParagraph tp in (shape as IAutoShape).TextFrame.Paragraphs) { //提取文本并保存到StringBuilder實例 sb.AppendLine(tp.Text); } } } } //創(chuàng)建一個新的txt文件以保存提取的文本 File.WriteAllText("提取文本.txt", sb.ToString()); presentation.Dispose(); } } }
VB.NET
Imports Spire.Presentation Imports Spire.Presentation.Charts Imports Spire.Presentation.Converter.Equation.Word Imports System.IO Imports System.Text Namespace ExtractText Friend Class Program Private Shared Sub Main(ByVal args As String()) '初始化Presentation類的實例 Dim presentation As Presentation = New Presentation() '載PowerPoint文檔示例 presentation.LoadFromFile("海市蜃樓是如何形成的?.pptx") '創(chuàng)建StringBuilder實例 Dim sb As StringBuilder = New StringBuilder() '遍歷文檔中的每張幻燈片 For Each slide As ISlide In presentation.Slides '遍歷每張幻燈片中的每個形狀 For Each shape As IShape In slide.Shapes '檢查形狀是否為IAutoShape類型 If TypeOf shape Is IAutoShape Then '以每種形狀遍歷所有段落 For Each tp As TextParagraph In TryCast(shape, IAutoShape).TextFrame.Paragraphs '提取文本并保存到StringBuilder實例 sb.AppendLine(tp.Text) Next End If Next Next '創(chuàng)建一個新的txt文件以保存提取的文本 Call File.WriteAllText("提取文本.txt", sb.ToString()) presentation.Dispose() End Sub End Class End Namespace
效果圖
到此這篇關于C#實現(xiàn)從PPT中提取文本的示例代碼的文章就介紹到這了,更多相關C# PPT提取文本內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
C# 根據(jù)表格偶數(shù)、奇數(shù)加載不同顏色
這篇文章主要介紹了C# 根據(jù)表格偶數(shù)、奇數(shù)加載不同顏色,需要的朋友可以參考下2017-09-09