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

C#借助Free?Spire.PDF?for?.NET實(shí)現(xiàn)輕松提取PDF文本

 更新時(shí)間:2026年03月03日 08:26:35   作者:LAYONTHEGROUND  
在日常辦公和開(kāi)發(fā)中,從 PDF 文件中提取文本是一項(xiàng)高頻需求,本文將介紹如何使用免費(fèi)庫(kù) Free Spire.PDF for .NET 輕松實(shí)現(xiàn) PDF 文本提取,感興趣的小伙伴可以了解下

在日常辦公和開(kāi)發(fā)中,從 PDF 文件中提取文本是一項(xiàng)高頻需求。手動(dòng)復(fù)制粘貼不僅耗時(shí),而且面對(duì)大量文檔時(shí)效率極低。傳統(tǒng)的自動(dòng)化方案往往依賴 Adobe Reader 等外部組件,不僅部署麻煩,遇到加密或掃描件更是難以處理。

本文將介紹如何使用免費(fèi)庫(kù) Free Spire.PDF for .NET ,無(wú)需安裝任何 PDF 閱讀器,輕松實(shí)現(xiàn)高精度、高可靠性的 PDF 文本提取。我們將從方案對(duì)比開(kāi)始,逐步講解環(huán)境搭建、核心代碼實(shí)現(xiàn)以及高級(jí)應(yīng)用技巧,并提供可直接運(yùn)行的示例。

PDF 文本提取方案對(duì)比

對(duì)比維度傳統(tǒng)方案痛點(diǎn)Spire.PDF 解決方案
依賴環(huán)境需安裝 Adobe Reader 等第三方軟件完全獨(dú)立的內(nèi)核,無(wú)需任何外部依賴
加密文件支持無(wú)法處理有密碼保護(hù)的 PDF支持加載加密 PDF,只需提供密碼即可
開(kāi)發(fā)復(fù)雜度需理解 COM 組件調(diào)用,代碼繁瑣 ★★★★☆純 .NET 接口,簡(jiǎn)潔直觀 ★★☆
文檔與社區(qū)官方文檔零散,中文支持差提供完整的 API 文檔及中文技術(shù)社區(qū)

C# 實(shí)戰(zhàn)教程:三步完成 PDF 文本提取

1. 環(huán)境準(zhǔn)備

首先創(chuàng)建一個(gè) .NET 控制臺(tái)應(yīng)用程序(支持 .NET Framework 4.6.1+ 或 .NET Core 3.1+)。然后通過(guò) NuGet 安裝 Spire.PDF 庫(kù)。

在 Visual Studio 中打開(kāi)“程序包管理器控制臺(tái)”,輸入以下命令:

Install-Package FreeSpire.PDF

注意:免費(fèi)版對(duì)處理的 PDF 頁(yè)數(shù)有限制(如最多10頁(yè)),適用于個(gè)人或小型項(xiàng)目。

2. 提取單頁(yè)文本的核心代碼

下面演示如何加載一個(gè) PDF 文件,提取其中某一頁(yè)的所有文本,并保存到 TXT 文件中。

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

namespace ExtractTextFromPage
{
    class Program
    {
        static void Main(string[] args)
        {
            // 1. 加載 PDF 文檔
            PdfDocument doc = new PdfDocument();
            doc.LoadFromFile("示例.pdf");

            // 2. 獲取指定頁(yè)面(Pages 集合從 0 開(kāi)始,此處獲取第 2 頁(yè))
            PdfPageBase page = doc.Pages[1];

            // 3. 創(chuàng)建 PdfTextExtractor 對(duì)象,用于提取該頁(yè)文本
            PdfTextExtractor textExtractor = new PdfTextExtractor(page);

            // 4. 設(shè)置提取選項(xiàng):提取頁(yè)面上所有文本
            PdfTextExtractOptions extractOptions = new PdfTextExtractOptions();
            extractOptions.IsExtractAllText = true;   // 提取全部文本

            // 5. 執(zhí)行提取
            string text = textExtractor.ExtractText(extractOptions);

            // 6. 將提取的文本寫入文件
            File.WriteAllText("提取指定頁(yè)面文本.txt", text);

            // 7. 釋放資源
            doc.Close();
        }
    }
}

關(guān)鍵參數(shù)說(shuō)明

  • PdfTextExtractor:文本提取器,綁定到指定頁(yè)面。
  • PdfTextExtractOptions:提取選項(xiàng),可設(shè)置提取范圍(全頁(yè)或矩形區(qū)域)。
  • ExtractText():執(zhí)行提取,返回該頁(yè)所有文本的字符串。

3. 高級(jí)應(yīng)用技巧

處理加密 PDF 文件

若 PDF 受密碼保護(hù),只需在加載時(shí)傳入密碼(所有者密碼或用戶密碼均可,取決于文件權(quán)限):

doc.LoadFromFile("加密.pdf", "password");

提取所有頁(yè)面文本

通過(guò)遍歷文檔的每一頁(yè),將提取的文本合并:

StringBuilder allText = new StringBuilder();
foreach (PdfPageBase page in doc.Pages)
{
    PdfTextExtractor extractor = new PdfTextExtractor(page);
    PdfTextExtractOptions options = new PdfTextExtractOptions();
    options.IsExtractAllText = true;
    string pageText = extractor.ExtractText(options);
    allText.AppendLine(pageText);
}
File.WriteAllText("全部頁(yè)面文本.txt", allText.ToString());

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

有時(shí)我們只需要頁(yè)面中某個(gè)矩形區(qū)域內(nèi)的文本,可以通過(guò) ExtractArea 屬性指定區(qū)域(單位:點(diǎn),1 點(diǎn) = 1/72 英寸):

PdfTextExtractOptions options = new PdfTextExtractOptions();
options.ExtractArea = new System.Drawing.RectangleF(50, 100, 400, 300);  // 左、上、寬、高
string areaText = textExtractor.ExtractText(options);

技術(shù)組合建議

在實(shí)際項(xiàng)目中,PDF 文本提取往往不是終點(diǎn),還需要結(jié)合其他功能實(shí)現(xiàn)完整的數(shù)據(jù)處理流程:

  • 文本+格式提取:使用 PdfTextFinder 可以按樣式(字體、顏色、大?。┒ㄎ惶囟ㄎ谋?,便于提取標(biāo)題、關(guān)鍵詞等。
  • 表格數(shù)據(jù)提取:若 PDF 中包含表格,使用 PdfTableExtractor 可以直接提取結(jié)構(gòu)化表格數(shù)據(jù),返回 DataTable 或二維數(shù)組。
  • 掃描件 OCR 集成:對(duì)于掃描版 PDF(圖片格式),可搭配 Spire.OCR 庫(kù)進(jìn)行光學(xué)字符識(shí)別,提取其中的文字信息。

總結(jié)

通過(guò) Free Spire.PDF for .NET,開(kāi)發(fā)者可以輕松繞過(guò)傳統(tǒng)方案的諸多限制,在 .NET 環(huán)境中實(shí)現(xiàn)穩(wěn)定、高效的 PDF 文本提取。其簡(jiǎn)潔的 API 設(shè)計(jì)大大降低了編碼難度,同時(shí)豐富的擴(kuò)展功能(如加密處理、區(qū)域提取、表格識(shí)別)可以滿足不同業(yè)務(wù)場(chǎng)景的需求。

到此這篇關(guān)于C#借助Free Spire.PDF for .NET實(shí)現(xiàn)輕松提取PDF文本的文章就介紹到這了,更多相關(guān)C#提取PDF文本內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

阿克| 丁青县| 汶上县| 百色市| 离岛区| 独山县| 桂东县| 柳江县| 贵德县| 武隆县| 崇州市| 永春县| 大厂| 孝昌县| 蒙阴县| 前郭尔| 蒙自县| 临桂县| 介休市| 马龙县| 梅州市| 井冈山市| 萝北县| 苏尼特左旗| 苗栗县| 资源县| 页游| 上蔡县| 长泰县| 益阳市| 荃湾区| 沧州市| 龙口市| 阿坝县| 堆龙德庆县| 宜丰县| 许昌市| 惠来县| 上林县| 博罗县| 都江堰市|