使用C#代碼從PPT文件中提取文本的方法示例
引言
當(dāng)你將包含大量媒體文件和圖片的 PowerPoint 文檔發(fā)送給他人進(jìn)行文字校對時(shí),可能會(huì)發(fā)現(xiàn)由于文件體積較大,傳輸速度非常慢。在這種情況下,最好先將 PowerPoint 中的文字內(nèi)容提取到 MS Word 或記事本中,然后只發(fā)送文本內(nèi)容。除此之外,提取出的文字內(nèi)容還可以用于歸檔或備份,以便日后參考。本文將介紹如何使用 Spire.Presentation for .NET 在 C# 和 VB.NET 中從 PowerPoint 演示文稿中提取文本。
安裝 Spire.Presentation for .NET
首先,你需要在 .NET 項(xiàng)目中添加 Spire.Presentation for .NET 包中包含的 DLL 文件作為引用。這些 DLL 文件可以通過以下鏈接下載,或通過 NuGet 進(jìn)行安裝。
PM> Install-Package Spire.Presentation
在 C# 和 VB.NET 中從 PowerPoint 演示文稿中提取文本
為了便于共享或傳遞 PowerPoint 文檔中的文字信息,有時(shí)需要執(zhí)行文字提取操作。以下是從所有幻燈片中提取文本并將其保存為 TXT 文件的步驟:
- 初始化一個(gè) Presentation 類的實(shí)例。
- 使用 Presentation.LoadFromFile() 方法加載一個(gè)示例 PowerPoint 文檔。
- 創(chuàng)建一個(gè) StringBuilder 實(shí)例。
- 遍歷文檔中的每一張幻燈片,然后遍歷每張幻燈片中的所有形狀。
- 判斷形狀是否屬于 IAutoShape 類型。如果是,則遍歷該形狀中的所有段落,并通過 TextParagraph.Text 屬性獲取段落文本。
- 使用 StringBuilder.AppendLine() 方法將提取的文本追加到 StringBuilder 實(shí)例中。
- 創(chuàng)建一個(gè)新的 TXT 文件,并使用 File.WriteAllText() 方法將提取的文本寫入文件。
使用Spire.Presentation for .NET提取文本的示例代碼如下:
using Spire.Presentation;
using System.IO;
using System.Text;
namespace ExtractText
{
class Program
{
static void Main(string[] args)
{
//初始化 Presentation 類的實(shí)例
Presentation presentation = new Presentation();
//加載示例 PowerPoint 文檔
presentation.LoadFromFile("Island.pptx");
//加載示例 PowerPoint 文檔
StringBuilder sb = new StringBuilder();
//遍歷文檔中的每一張幻燈片
foreach (ISlide slide in presentation.Slides)
{
//遍歷每張幻燈片中的每個(gè)形狀
foreach (IShape shape in slide.Shapes)
{
//判斷形狀是否屬于 IAutoShape 類型
if (shape is IAutoShape)
{
//遍歷每個(gè)形狀中的所有段落
foreach (TextParagraph tp in (shape as IAutoShape).TextFrame.Paragraphs)
{
//提取文本并保存到 StringBuilder 實(shí)例中
sb.AppendLine(tp.Text);
}
}
}
}
//創(chuàng)建一個(gè)新的 txt 文件來保存提取的文本
File.WriteAllText("ExtractText.txt", sb.ToString());
}
}
}到此這篇關(guān)于使用C#代碼從PPT文件中提取文本的方法示例的文章就介紹到這了,更多相關(guān)C#提取PPT文本內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C#聯(lián)合VisionPro實(shí)現(xiàn)TCP/IP通信詳解
TCP/IP(傳輸控制協(xié)議/互聯(lián)網(wǎng)協(xié)議)是一組用于在網(wǎng)絡(luò)上進(jìn)行通信的通信協(xié)議,本文主要為大家詳細(xì)介紹了C#如何聯(lián)合VisionPro實(shí)現(xiàn)TCP/IP通信,希望對大家有所幫助2024-02-02
C#實(shí)現(xiàn)的封裝CURD到SqlHelper類用法簡單分析
這篇文章主要介紹了C#實(shí)現(xiàn)的封裝CURD到SqlHelper類用法,涉及數(shù)據(jù)庫相關(guān)配置方法及SqlHelper類的簡單使用技巧,代碼中包含了較為詳盡的注釋便于理解,需要的朋友可以參考下2017-11-11
C#使用InstallerProjects打包桌面應(yīng)用程序的完整步驟
這篇文章主要給大家介紹了關(guān)于C#使用InstallerProjects打包桌面應(yīng)用程序的完整步驟,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用C#具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
利用WinForm實(shí)現(xiàn)上左右布局的方法詳解
現(xiàn)在90%的管理系統(tǒng)都是在用上左右這種布局方式,真可謂是經(jīng)典永流傳。本文將利用WinForm實(shí)現(xiàn)上左右布局這一布局效果,感興趣的可以學(xué)習(xí)一下2022-09-09
WinForm實(shí)現(xiàn)關(guān)閉按鈕不可用或隱藏的方法
這篇文章主要介紹了WinForm實(shí)現(xiàn)關(guān)閉按鈕不可用或隱藏的方法,很實(shí)用的功能,需要的朋友可以參考下2014-08-08
C# 利用Aspose.Words.dll將 Word 轉(zhuǎn)成PDF
關(guān)于word轉(zhuǎn)成pdf的方法網(wǎng)上有很多。大部分需要借助office 2007及以上版本的組件。安裝配置起來比較麻煩。今天偶然得之“Aspose.Words.dll”可以實(shí)現(xiàn)2013-08-08

