最新国产好看的视频,伊人天堂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)大的組件,通過(guò) C# 代碼輕松實(shí)現(xiàn) PDF 文本提取,感興趣的可以了解下

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

Spire.PDF for .NET 簡(jiǎn)介

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

通過(guò) NuGet 安裝:

Install-Package Spire.PDF

從指定頁(yè)面提取全文

在實(shí)際應(yīng)用中,最常見(jiàn)的需求是將某個(gè) PDF 頁(yè)面的全部文字提取出來(lái)。使用 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");

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

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

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

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

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

在某些場(chǎng)景下,我們并不需要整頁(yè)的內(nèi)容,而只需要提取頁(yè)面中的特定區(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");

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

            // 為選中的頁(yè)面創(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)頁(yè)面。關(guān)鍵區(qū)別在于設(shè)置提取區(qū)域:通過(guò) 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í)際開(kāi)發(fā)中,文本提取功能可廣泛應(yīng)用于數(shù)據(jù)采集、內(nèi)容分析、文檔歸檔等場(chǎng)景。例如,將合同 PDF 中的條款提取后存入數(shù)據(jù)庫(kù),或從科研論文 PDF 中抽取摘要部分進(jìn)行檢索分析。

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

總結(jié)

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

以上就是C#使用Spire.PDF for .NET輕松提取PDF文件中的文字內(nèi)容的詳細(xì)內(nèi)容,更多關(guān)于C#提取PDF文本的資料請(qǐng)關(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)知識(shí),需要的朋友可以參考下
    2007-05-05
  • C#編程自學(xué)之?dāng)?shù)據(jù)類型和變量一

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

    本節(jié)課我們將學(xué)習(xí)C#編程語(yǔ)言的數(shù)據(jù)類型,數(shù)據(jù)類型可以分為值類型和引用類型,接著介紹變量的使用方法和作用域等內(nèi)容,為了方便大家理解,我們還會(huì)舉一些小例子作為說(shuō)明。
    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#中,淺克隆和深克隆是兩種常見(jiàn)的對(duì)象克隆技術(shù),本文主要介紹了C#淺克隆與深克隆,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-02-02
  • C#代碼延時(shí)的幾種實(shí)現(xiàn)

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

    本文主要介紹了C#代碼延時(shí)的幾種實(shí)現(xiàn),主要介紹了三種方法,文中通過(guò)示例代碼介紹的非常詳細(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中的表格不僅僅是簡(jiǎn)單的數(shù)據(jù)區(qū)域,它具備了排序、篩選、格式化等一系列功能,可以大大提升數(shù)據(jù)處理的效率,本文我們就來(lái)簡(jiǎn)單講講如何使用C#實(shí)現(xiàn)在 Excel中高效創(chuàng)建和操作表格吧
    2025-11-11
  • C# cefSharep控件的使用詳情

    C# cefSharep控件的使用詳情

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

    WPF在VisualTree上增加Visual

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

最新評(píng)論

柳林县| 卢龙县| 光泽县| 杭锦旗| 湘阴县| 阳新县| 格尔木市| 奉贤区| 广丰县| 贵州省| 兴仁县| 祁连县| 连城县| 新建县| 潼南县| 敦煌市| 昌邑市| 塘沽区| 德化县| 务川| 定远县| 延庆县| 吉首市| 唐河县| 元阳县| 长沙市| 黄大仙区| 济宁市| 晋州市| 加查县| 武山县| 芮城县| 达孜县| 延安市| 定远县| 道孚县| 乐东| 西乌珠穆沁旗| 驻马店市| 泽州县| 汉中市|