使用IRONPDF 如何在.NET中從PDF中提取資料 Curtis Chau 更新日期:9月 21, 2025 Download IronPDF NuGet 下載 DLL 下載 Windows 安裝程式 Start Free Trial Copy for LLMs Copy for LLMs Copy page as Markdown for LLMs Open in ChatGPT Ask ChatGPT about this page Open in Gemini Ask Gemini about this page Open in Grok Ask Grok about this page Open in Perplexity Ask Perplexity about this page Share Share on Facebook Share on X (Twitter) Share on LinkedIn Copy URL Email article PDF文件在商業中隨處可見; 現代的例子包括發票、報告、合同和手冊。 但是要以程式化的方式從中獲取重要資訊可能很棘手。 PDF著重於外觀,而不是資料的讀取方式。 對於.NET開發人員而言,IronPDF 是一個強大的.NET PDF庫,能輕鬆從PDF文件中提取數據。 您可以直接從輸入的PDF文檔中提取文本、表格、表單欄位、影像和附件。 無論您是在自動化發票處理、構建知識庫,還是生成報告,這個庫都能節省大量時間。 本指南將通過實際示例帶您逐步提取文字內容、表格數據和表單欄位值,並在每個代碼片段後進行解釋,以便您能將它們應用到自己的專案中。 開始使用 IronPDF 通過NuGet Package Manager安裝IronPDF只需幾秒鐘。 打開您的包管理控制台,運行: Install-Package IronPdf 安裝完成後,您可以立即開始處理輸入的PDF文件。 這是一個展示IronPDF API簡單性的.NET簡單示例: using IronPdf; // Load any PDF document var pdf = PdfDocument.FromFile("document.pdf"); // Extract all text with one line string allText = pdf.ExtractAllText(); Console.WriteLine(allText); using IronPdf; // Load any PDF document var pdf = PdfDocument.FromFile("document.pdf"); // Extract all text with one line string allText = pdf.ExtractAllText(); Console.WriteLine(allText); IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel 此代碼加載PDF並提取每一個文本位。 IronPDF自動處理復雜的PDF結構、表單數據和其他常見庫可能出現問題的編碼。 從PDF文檔提取的數據可以保存為文本文件或進一步處理以進行分析。 實用提示:您可以將提取的文本保存為.txt文件以供後續處理,或者解析以填充資料庫、Excel表或知識庫。 此方法適用於報告、合同或任何需要快速獲取原始文本的PDF。 從PDF文檔中提取數據 現實世界的應用通常需要精確的數據提取。 IronPDF提供多種方法以從PDF中的特定頁面中提取有價值的資訊。 在這個例子中,我們將使用以下PDF: 以下代碼將從此PDF中的特定頁面提取數據並將結果返回到我們的控制台。 using IronPdf; using System; // Load any PDF document var pdf = PdfDocument.FromFile("AnnualReport2024.pdf"); // Extract from selected pages int[] pagesToExtract = { 0, 2, 4 }; // Pages 1, 3, and 5 foreach (var pageIndex in pagesToExtract) { string pageText = pdf.ExtractTextFromPage(pageIndex); // Split on 2 or more spaces (tables often flatten into space-separated values) var tokens = Regex.Split(pageText, @"\s{2,}"); foreach (string token in tokens) { // Match totals, invoice headers, and invoice rows if (token.Contains("Invoice") || token.Contains("Total") || token.StartsWith("INV-")) { Console.WriteLine($"Important: {token.Trim()}"); } } } using IronPdf; using System; // Load any PDF document var pdf = PdfDocument.FromFile("AnnualReport2024.pdf"); // Extract from selected pages int[] pagesToExtract = { 0, 2, 4 }; // Pages 1, 3, and 5 foreach (var pageIndex in pagesToExtract) { string pageText = pdf.ExtractTextFromPage(pageIndex); // Split on 2 or more spaces (tables often flatten into space-separated values) var tokens = Regex.Split(pageText, @"\s{2,}"); foreach (string token in tokens) { // Match totals, invoice headers, and invoice rows if (token.Contains("Invoice") || token.Contains("Total") || token.StartsWith("INV-")) { Console.WriteLine($"Important: {token.Trim()}"); } } } IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel 此示例展示如何從PDF文檔中提取文本,搜索關鍵信息,並准備將其存儲到數據文件或知識庫中。 ExtractTextFromPage()方法保持了文檔的閱讀順序,這使其非常適合文檔分析和內容索引任務。 從PDF文檔中提取表格數據 PDF文件中的表格並不是原生結構; 而是簡單的文本放置在某種方式上看起來像表格。 IronPDF提取表格數據時保持佈局,以便您可以將其處理成Excel或文本文件。 在這個例子中,我們將使用此PDF: using IronPdf; using System.Text; using System.Text.RegularExpressions; var pdf = PdfDocument.FromFile("example.pdf"); string rawText = pdf.ExtractAllText(); // Split into lines for processing string[] lines = rawText.Split('\n'); var csvBuilder = new StringBuilder(); foreach (string line in lines) { if (string.IsNullOrWhiteSpace(line) || line.Contains("Page")) continue; string[] rawCells = Regex.Split(line.Trim(), @"\s+"); string[] cells; // If the line starts with "Product", combine first two tokens as product name if (rawCells[0].StartsWith("Product") && rawCells.Length >= 5) { cells = new string[rawCells.Length - 1]; cells[0] = rawCells[0] + " " + rawCells[1]; // Combine Product + letter Array.Copy(rawCells, 2, cells, 1, rawCells.Length - 2); } else { cells = rawCells; } // Keep header or table rows bool isTableOrHeader = cells.Length >= 2 && (cells[0].StartsWith("Item") || cells[0].StartsWith("Product") || Regex.IsMatch(cells[0], @"^INV-\d+")); if (isTableOrHeader) { Console.WriteLine($"Row: {string.Join("|", cells)}"); string csvRow = string.Join(",", cells).Trim(); csvBuilder.AppendLine(csvRow); } } // Save as CSV for Excel import File.WriteAllText("extracted_table.csv", csvBuilder.ToString()); Console.WriteLine("Table data exported to CSV"); using IronPdf; using System.Text; using System.Text.RegularExpressions; var pdf = PdfDocument.FromFile("example.pdf"); string rawText = pdf.ExtractAllText(); // Split into lines for processing string[] lines = rawText.Split('\n'); var csvBuilder = new StringBuilder(); foreach (string line in lines) { if (string.IsNullOrWhiteSpace(line) || line.Contains("Page")) continue; string[] rawCells = Regex.Split(line.Trim(), @"\s+"); string[] cells; // If the line starts with "Product", combine first two tokens as product name if (rawCells[0].StartsWith("Product") && rawCells.Length >= 5) { cells = new string[rawCells.Length - 1]; cells[0] = rawCells[0] + " " + rawCells[1]; // Combine Product + letter Array.Copy(rawCells, 2, cells, 1, rawCells.Length - 2); } else { cells = rawCells; } // Keep header or table rows bool isTableOrHeader = cells.Length >= 2 && (cells[0].StartsWith("Item") || cells[0].StartsWith("Product") || Regex.IsMatch(cells[0], @"^INV-\d+")); if (isTableOrHeader) { Console.WriteLine($"Row: {string.Join("|", cells)}"); string csvRow = string.Join(",", cells).Trim(); csvBuilder.AppendLine(csvRow); } } // Save as CSV for Excel import File.WriteAllText("extracted_table.csv", csvBuilder.ToString()); Console.WriteLine("Table data exported to CSV"); IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel PDF中的表格通常只是文本佈置成網格狀。 這種檢查可以幫助確定某行是否屬於表格行或標題。 通過過濾掉標頭、頁脚和不相關的文本,您可以從PDF中提取乾淨的表格數據,並準備好CSV或Excel。 此工作流程適用於PDF表單、財務文件和報告。 您可隨後將PDF中的數據轉換為xlsx文件,或者將其合併為一個zip文件,包含所有有用數據。 對於具有合併單元格的複雜表格,您可能需要根據列位置調整解析邏輯。 從PDF中提取表單欄位數據 IronPDF還允許提取和修改表單欄位數據: using IronPdf; using System.Drawing; using System.Linq; var pdf = PdfDocument.FromFile("form_document.pdf"); // Extract form field data var form = pdf.Form; foreach (var field in form) // Removed '.Fields' as 'FormFieldCollection' is enumerable { Console.WriteLine($"{field.Name}: {field.Value}"); // Update form values if needed if (field.Name == "customer_name") { field.Value = "Updated Value"; } } // Save modified form pdf.SaveAs("updated_form.pdf"); using IronPdf; using System.Drawing; using System.Linq; var pdf = PdfDocument.FromFile("form_document.pdf"); // Extract form field data var form = pdf.Form; foreach (var field in form) // Removed '.Fields' as 'FormFieldCollection' is enumerable { Console.WriteLine($"{field.Name}: {field.Value}"); // Update form values if needed if (field.Name == "customer_name") { field.Value = "Updated Value"; } } // Save modified form pdf.SaveAs("updated_form.pdf"); IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel 此程式碼片段從PDF中提取表單欄位值並允許您程式化地更新它們。 這使處理PDF表單並提取指定範圍的資訊以供分析或報告生成變得容易。 這對自動化工作流有用,例如客戶入職、調查處理或數據驗證。 下一步 IronPDF使得在.NET中提取PDF數據變得實際且高效。 您可以從多種PDF文件中提取影像、文本、表格、表單欄位,甚至提取附件,包括通常需要額外OCR處理的掃描PDF。 無論您的目標是構建知識庫、自動化報告工作流程,還是從財務PDF中提取數據,這個庫都為您提供了工具,無需手動複製或出錯的解析。 簡單、快速,並可直接整合到Visual Studio專案中。 試一試,您可能會節省大量時間,避免長期與PDF打交道的煩惱。 立即開始使用 IronPDF。 免費啟動 準備在您的應用中實現PDF數據提取了嗎? IronPDF聽起來像是您的.NET庫嗎? 開始您的免費試用以商業用途。 訪問我們的文檔以獲取全面的指南和API參考。 常見問題解答 使用 .NET 從 PDF 文件中提取文字的最佳方法是什麼? 使用 IronPDF,您可以輕鬆地在 .NET 應用程式中從 PDF 文件中提取文字。它提供了高效的文字資料檢索方法,確保您可以存取所需內容。 IronPDF 能否處理掃描的 PDF 檔案以擷取資料? 是的,IronPDF 支援 OCR(光學字元辨識)技術,可處理和擷取掃描 PDF 中的數據,因此即使在基於影像的文件中也能存取文字。 如何使用 C# 從 PDF 擷取表格? IronPDF 提供 C# 語言的 PDF 文件表格解析和擷取功能。您可以使用特定的方法來準確識別和檢索表格資料。 使用 IronPDF 進行 PDF 資料擷取有哪些好處? IronPDF 提供全面的 PDF 資料擷取解決方案,包括文字擷取、表格解析和掃描文件的 OCR 識別。它可與 .NET 應用程式無縫集成,為處理 PDF 資料提供可靠且高效的途徑。 是否可以使用 IronPDF 從 PDF 文件中提取影像? 是的,IronPDF 允許您從 PDF 文件中提取圖像。如果您需要存取和處理嵌入在 PDF 文件中的圖像,此功能非常有用。 IronPDF在資料擷取過程中如何處理複雜的PDF佈局? IronPDF 旨在透過提供強大的工具來導覽和提取數據,從而管理複雜的 PDF 佈局,確保您可以處理具有複雜格式和結構的文件。 我可以在 .NET 應用程式中自動提取 PDF 資料嗎? 當然可以。 IronPDF 可以整合到 .NET 應用程式中,實現 PDF 資料擷取的自動化,從而簡化需要定期、持續地檢索資料的流程。 我可以使用哪些程式語言來配合 IronPDF 進行 PDF 資料擷取? IronPDF 主要與 .NET 框架中的 C# 一起使用,為希望以程式設計方式從 PDF 中提取資料的開發人員提供廣泛的支援和功能。 IronPDF是否支援從PDF文件中提取元資料? 是的,IronPDF 可以從 PDF 文件中提取元數據,使您能夠存取作者、建立日期和其他文件屬性等資訊。 有哪些可用於學習使用 IronPDF 進行 PDF 資料擷取的範例程式碼? 開發者指南提供了完整的 C# 教學課程和可運行的程式碼範例,可協助您掌握在 .NET 應用程式中使用 IronPDF 進行 PDF 資料擷取。 IronPDF 是否完全相容於最新的 .NET 10 版本?這能為數據提取帶來哪些好處? 是的——IronPDF 完全相容於 .NET 10,支援其所有效能、API 和執行時間改進,例如減少堆疊分配、陣列介面去虛擬化以及增強的語言特性。這些改進使得 C# 應用程式中的 PDF 資料擷取工作流程更快、更有效率。 Curtis Chau 立即與工程團隊聊天 技術作家 Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。 相關文章 發表日期 11月 13, 2025 如何在 C# 中合併兩個 PDF 位元組數組 使用 IronPDF 在 C# 中合併兩個 PDF 位元組數組。學習如何透過簡單的程式碼範例,將來自位元組數組、記憶體流和資料庫的多個 PDF 文件合併在一起。 閱讀更多 發表日期 11月 13, 2025 如何在 ASP.NET MVC 中創建 PDF 檢視器 為 ASP.NET MVC 應用程式構建一個強大的 PDF 檢視器。顯示 PDF 文件,將視圖轉換為 PDF,使用 IronPDF 添加互動功能。 閱讀更多 發表日期 11月 13, 2025 如何建立 .NET HTML 轉 PDF 轉換器 學習如何在.NET中使用IronPDF將HTML轉換為PDF。 閱讀更多 如何使用C#在ASP.NET中生成PDF如何在ASP.NET Core中從PDF中...
發表日期 11月 13, 2025 如何在 C# 中合併兩個 PDF 位元組數組 使用 IronPDF 在 C# 中合併兩個 PDF 位元組數組。學習如何透過簡單的程式碼範例,將來自位元組數組、記憶體流和資料庫的多個 PDF 文件合併在一起。 閱讀更多
發表日期 11月 13, 2025 如何在 ASP.NET MVC 中創建 PDF 檢視器 為 ASP.NET MVC 應用程式構建一個強大的 PDF 檢視器。顯示 PDF 文件,將視圖轉換為 PDF,使用 IronPDF 添加互動功能。 閱讀更多