最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#使用Spire.PDF for .NET輕松提取PDF文件中的文字內(nèi)容

 更新時(shí)間:2026年03月31日 08:20:22   作者:LSTM97  
從 PDF 中提取文本內(nèi)容卻常常令人頭疼,本文將介紹如何使用 Spire.PDF for .NET 這一強(qiáng)大的組件,通過 C# 代碼輕松實(shí)現(xiàn) PDF 文本提取,感興趣的可以了解下

在數(shù)據(jù)處理工作中,PDF 文件因其跨平臺(tái)、格式穩(wěn)定的特點(diǎn)而被廣泛使用。然而,從 PDF 中提取文本內(nèi)容卻常常令人頭疼——無論是整理資料、分析數(shù)據(jù),還是構(gòu)建文本檢索系統(tǒng),高效準(zhǔn)確地提取 PDF 文本都是一項(xiàng)基礎(chǔ)而重要的需求。本文將介紹如何使用 Spire.PDF for .NET 這一強(qiáng)大的組件,通過 C# 代碼輕松實(shí)現(xiàn) PDF 文本提取。

Spire.PDF for .NET 簡介

Spire.PDF for .NET 是一款專業(yè)的 PDF 組件,它允許開發(fā)者在 .NET 平臺(tái)上創(chuàng)建、讀取、編輯和轉(zhuǎn)換 PDF 文件,無需安裝 Adobe Acrobat 或其他外部依賴。該組件提供了豐富的 API,其中文本提取功能尤為實(shí)用,支持提取整頁文本,也支持僅提取指定區(qū)域的文本內(nèi)容。

通過 NuGet 安裝:

Install-Package Spire.PDF

從指定頁面提取全文

在實(shí)際應(yīng)用中,最常見的需求是將某個(gè) PDF 頁面的全部文字提取出來。使用 Spire.PDF 可以輕松實(shí)現(xiàn)這一目標(biāo)。以下是用 C# 實(shí)現(xiàn)的完整代碼:

using Spire.Pdf;
using Spire.Pdf.Texts;
using System.IO;

namespace ExtractTextFromIndividualPages
{
    internal class Program    
    {
        static void Main(string[] args)
        {
            // 創(chuàng)建 PDF 文檔實(shí)例
            PdfDocument pdf = new PdfDocument();
            // 加載 PDF 文件
            pdf.LoadFromFile("Input.pdf");

            // 獲取要提取文本的頁面(例如,索引1對應(yīng)第二頁,注:索引從0開始)
            PdfPageBase page = pdf.Pages[1];

            // 為選中的頁面創(chuàng)建PdfTextExtractor實(shí)例
            PdfTextExtractor extractor = new PdfTextExtractor(page);
            // 設(shè)置提取選項(xiàng)
            PdfTextExtractOptions option = new PdfTextExtractOptions
            {
                IsExtractAllText = true
            };
            // 從指定頁面提取文本
            string text = extractor.ExtractText(option);

            // 將提取的文本保存到文本文件
            File.WriteAllText("Extracted.txt", text);
            // 關(guān)閉 PDF 文檔
            pdf.Close();
        }
    }
}

上述代碼的執(zhí)行流程如下:首先創(chuàng)建 PdfDocument 對象并加載目標(biāo) PDF 文件。接著,通過 Pages 集合獲取指定頁面(本例為第一頁)。為了實(shí)現(xiàn)完整的文本提取,設(shè)置 PdfTextExtractOptions 對象的 IsExtractAllText 屬性為 true,確保提取時(shí)不會(huì)遺漏任何文本內(nèi)容。隨后,創(chuàng)建 PdfTextExtractor 對象并傳入頁面實(shí)例,調(diào)用 ExtractText 方法即可獲得該頁面的全部文字。最后,將提取到的文本寫入本地文件,并關(guān)閉文檔釋放資源。整個(gè)過程簡潔明了,僅需幾行核心代碼,便能完成從 PDF 頁面到純文本的轉(zhuǎn)換。

從指定區(qū)域提取文本

在某些場景下,我們并不需要整頁的內(nèi)容,而只需要提取頁面中的特定區(qū)域——例如表格中的某列數(shù)據(jù)、標(biāo)題欄、簽章區(qū)域等。Spire.PDF 同樣提供了靈活的解決方案。以下是區(qū)域提取的 C# 實(shí)現(xiàn)代碼:

using Spire.Pdf;
using Spire.Pdf.Texts;
using System.IO;
using System.Drawing;

namespace ExtractTextFromDefinedArea
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // 創(chuàng)建 PDF 文檔實(shí)例
            PdfDocument pdf = new PdfDocument();
            // 加載 PDF 文件
            pdf.LoadFromFile("Input.pdf");

            // 獲取第二頁(索引1對應(yīng)第二頁)
            PdfPageBase page = pdf.Pages[1];

            // 為選中的頁面創(chuàng)建 PdfTextExtractor 實(shí)例
            PdfTextExtractor textExtractor = new PdfTextExtractor(page);
            // 設(shè)置提取選項(xiàng)(指定矩形區(qū)域)
            PdfTextExtractOptions extractOptions = new PdfTextExtractOptions
            {
                // 矩形區(qū)域參數(shù):X坐標(biāo)、Y坐標(biāo)、寬度、高度
                ExtractArea = new RectangleF(0, 0, 595, 300)
            };

            // 從指定矩形區(qū)域提取文本
            string text = textExtractor.ExtractText(extractOptions);

            // 將提取的文本保存到文本文件
            File.WriteAllText("Extracted.txt", text);

            // 關(guān)閉 PDF 文檔
            pdf.Close();
        }
    }
}

與全文提取類似,首先加載 PDF 并獲取目標(biāo)頁面。關(guān)鍵區(qū)別在于設(shè)置提取區(qū)域:通過 PdfTextExtractOptionsExtractArea 屬性,可以定義一個(gè)矩形區(qū)域,該區(qū)域由左上角坐標(biāo) (X, Y) 以及寬度和高度共同確定。組件會(huì)智能地僅提取該矩形范圍內(nèi)的文本內(nèi)容。本例中定義的矩形區(qū)域起始坐標(biāo)為 (0, 0),寬度為 595,高度為 300,單位為磅(Point)。

這種方法特別適合處理結(jié)構(gòu)化的 PDF 文檔,比如財(cái)務(wù)報(bào)表、發(fā)票或表單,可以精準(zhǔn)定位并提取所需字段,大大提高了信息獲取的效率和準(zhǔn)確性。

實(shí)際應(yīng)用與注意事項(xiàng)

在實(shí)際開發(fā)中,文本提取功能可廣泛應(yīng)用于數(shù)據(jù)采集、內(nèi)容分析、文檔歸檔等場景。例如,將合同 PDF 中的條款提取后存入數(shù)據(jù)庫,或從科研論文 PDF 中抽取摘要部分進(jìn)行檢索分析。

使用 Spire.PDF 進(jìn)行文本提取時(shí),有幾個(gè)要點(diǎn)值得注意:首先,確保矩形區(qū)域的坐標(biāo)和尺寸準(zhǔn)確無誤,可以通過預(yù)覽或測量工具輔助定位;其次,對于復(fù)雜的 PDF(如包含多列排版或特殊字體),建議啟用完整提取模式以保證最佳效果;最后,提取完成后務(wù)必調(diào)用 Close 方法釋放文檔資源,避免內(nèi)存占用。

總結(jié)

借助 Spire.PDF for .NET,C# 開發(fā)者可以以極簡的代碼實(shí)現(xiàn)高質(zhì)量的 PDF 文本提取功能。無論是整頁提取還是區(qū)域提取,該組件都提供了直觀、可靠的解決方案。對于需要處理 PDF 文本的 .NET 項(xiàng)目而言,Spire.PDF 無疑是一個(gè)值得考慮的高效工具。

以上就是C#使用Spire.PDF for .NET輕松提取PDF文件中的文字內(nèi)容的詳細(xì)內(nèi)容,更多關(guān)于C#提取PDF文本的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 一個(gè)讀寫csv文件的C#類

    一個(gè)讀寫csv文件的C#類

    這篇文章主要為大家詳細(xì)介紹了一個(gè)讀寫csv文件的C#類,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • c#數(shù)組詳解

    c#數(shù)組詳解

    這篇文章主要介紹了c#數(shù)組的一些相關(guān)知識,需要的朋友可以參考下
    2007-05-05
  • C#編程自學(xué)之?dāng)?shù)據(jù)類型和變量一

    C#編程自學(xué)之?dāng)?shù)據(jù)類型和變量一

    本節(jié)課我們將學(xué)習(xí)C#編程語言的數(shù)據(jù)類型,數(shù)據(jù)類型可以分為值類型和引用類型,接著介紹變量的使用方法和作用域等內(nèi)容,為了方便大家理解,我們還會(huì)舉一些小例子作為說明。
    2015-10-10
  • Unity實(shí)現(xiàn)弧形移動(dòng)效果

    Unity實(shí)現(xiàn)弧形移動(dòng)效果

    這篇文章主要為大家詳細(xì)介紹了Unity實(shí)現(xiàn)弧形移動(dòng)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-06-06
  • 一文弄懂C#淺克隆與深克隆

    一文弄懂C#淺克隆與深克隆

    在C#中,淺克隆和深克隆是兩種常見的對象克隆技術(shù),本文主要介紹了C#淺克隆與深克隆,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-02-02
  • C#代碼延時(shí)的幾種實(shí)現(xiàn)

    C#代碼延時(shí)的幾種實(shí)現(xiàn)

    本文主要介紹了C#代碼延時(shí)的幾種實(shí)現(xiàn),主要介紹了三種方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • C#獲取USB事件API實(shí)例分析

    C#獲取USB事件API實(shí)例分析

    這篇文章主要介紹了C#獲取USB事件API,實(shí)例分析了C#操作USB事件的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-05-05
  • C#借助Spire.XLS實(shí)現(xiàn)自動(dòng)化生成和操作Excel表格

    C#借助Spire.XLS實(shí)現(xiàn)自動(dòng)化生成和操作Excel表格

    Excel中的表格不僅僅是簡單的數(shù)據(jù)區(qū)域,它具備了排序、篩選、格式化等一系列功能,可以大大提升數(shù)據(jù)處理的效率,本文我們就來簡單講講如何使用C#實(shí)現(xiàn)在 Excel中高效創(chuàng)建和操作表格吧
    2025-11-11
  • C# cefSharep控件的使用詳情

    C# cefSharep控件的使用詳情

    本文主要介紹了C# cefSharep控件的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • WPF在VisualTree上增加Visual

    WPF在VisualTree上增加Visual

    這篇文章介紹了WPF在VisualTree上增加Visual的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06

最新評論

渝北区| 商河县| 无为县| 太湖县| 酉阳| 大新县| 江陵县| 阿巴嘎旗| 确山县| 隆子县| 萝北县| 韶山市| 阜阳市| 法库县| 东兴市| 贵溪市| 徐汇区| 嘉鱼县| 怀化市| 瓮安县| 塔城市| 黄大仙区| 五峰| 信宜市| 谷城县| 铁力市| 犍为县| 厦门市| 阿克陶县| 祁阳县| 桑日县| 沙坪坝区| 华安县| 沁阳市| 射洪县| 龙陵县| 涿鹿县| 喜德县| 龙胜| 嘉黎县| 洛浦县|