使用 IRONOCR PDF 資料擷取 .NET:完整開發者指南 Kannapat Udonpant 發表日期:12月 18, 2025 下載 IronOCR NuGet 下載 DLL 下載 Windows 安裝程式 開始免費試用 法學碩士副本 法學碩士副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在雙子座打開 請向 Gemini 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 複製連結 電子郵件文章 PDF 文件在商業領域無所不在; 現代的例子包括發票、報告、合約和手冊。 但是,透過程式設計從中獲取關鍵資訊可能很棘手。 PDF 文件關注的是內容的呈現方式,而不是資料的存取方式。 對於 .NET 開發人員來說, IronPDF是一個功能強大的 .NET PDF 程式庫,可以輕鬆地從 PDF 文件中提取資料。 您可以直接從輸入的 PDF 文件中提取文字、表格、表單欄位、圖像和附件。 無論您是自動化發票處理、建立知識庫或產生報告,此庫都能節省大量時間。 本指南將透過實際範例引導您完成提取文字內容、表格資料和表單欄位值的操作,並在每個程式碼片段後進行解釋,以便您可以將其應用到自己的專案中。 開始使用 IronPdf 透過 NuGet 套件管理器安裝 IronPDF 只需幾秒鐘。 開啟軟體包管理器控制台並執行: Install-Package IronPDF Install-Package IronPDF 'INSTANT VB TODO TASK: The following line uses invalid syntax: 'Install-Package IronPDF $vbLabelText $csharpLabel 安裝完成後,即可立即開始處理輸入的PDF文件。 以下是一個簡單的 .NET 範例,展示了 IronPDF API 的簡潔性: 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 資料擷取 .NET:完整開發者指南:圖 1 - 範例 PDF 及其擷取的文本 從PDF文件中提取數據 實際應用中往往需要精確的資料擷取。 IronPDF 提供多種方法,可以從 PDF 中的特定頁面提取有價值的資訊。 在這個例子中,我們將使用以下PDF文件: PDF 資料擷取 .NET:完整開發者指南:圖 2 - 與 PDF 資料擷取 .NET:完整開發者指南相關的 6 張圖片中的第 2 張 以下程式碼將從該 PDF 中的特定頁面提取數據,並將結果傳回我們的控制台。 using IronPdf; using System; using System.Text.RegularExpressions; // 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; using System.Text.RegularExpressions; // 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 資料擷取 .NET:完整開發者指南:圖 3 - 從特定頁面擷取的資料的控制台輸出 從PDF文件中提取表格數據 PDF 檔案中的表格沒有固定的結構; 它們只是排列成表格形狀的文字內容。 IronPDF 可以提取表格資料並保留佈局,以便您可以將其處理成 Excel 或文字檔案。 在這個例子中,我們將使用這份PDF文件: PDF 資料擷取 .NET:完整開發者指南:圖 4 - 與 PDF 資料擷取 .NET:完整開發者指南相關的 6 張圖片中的第 4 張 我們的目標是提取表格本身的數據,以展示 IronPDF 解析表格數據的能力。 using IronPdf; using System; 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; 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 資料擷取 .NET:完整開發者指南:圖 5 - 擷取的表格數據 從 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 表單,並提取指定範圍的資訊以進行分析或產生報告。 這對於自動化工作流程非常有用,例如客戶註冊、調查處理或資料驗證。 PDF 資料擷取 .NET:完整開發者指南:圖 6 - 擷取的表單資料和更新後的表單 後續步驟 IronPDF 讓 .NET 中的 PDF 資料擷取實用且有效率。 您可以從各種 PDF 文件中提取圖像、文字、表格、表單字段,甚至提取附件,包括通常需要額外 OCR 處理的掃描 PDF。 無論您的目標是建立知識庫、自動化報告工作流程,還是從財務 PDF 中提取數據,該庫都能為您提供完成此目標所需的工具,而無需手動複製或容易出錯的解析。 它簡單、快速,並且可以直接整合到 Visual Studio 專案中。 不妨一試,您很可能會節省大量時間,並避免處理 PDF 文件時通常會遇到的各種麻煩。 準備好在您的應用程式中實現 PDF 資料提取功能了嗎? IronPDF 聽起來像您理想的 .NET 程式庫嗎? 立即開始免費試用,體驗全部功能;或了解我們的商業用途授權選項。 請造訪我們的文檔,以取得全面的指南和 API 參考。 常見問題解答 從PDF文件中提取資料的主要挑戰是什麼? PDF 文件主要設計用於以特定佈局顯示內容,由於其側重於外觀而非數據可訪問性,因此很難透過程式提取資料。 IronOCR 如何幫助 .NET 進行 PDF 資料擷取? IronOCR 提供工具,利用光學字元辨識 (OCR) 將文字影像轉換為機器可讀數據,從而從 PDF(包括掃描文件)中提取文字和資料。 IronOCR 可以處理掃描的 PDF 文件嗎? 是的,IronOCR 能夠利用先進的 OCR 技術處理掃描的 PDF 文件,識別並提取文件中圖像的文字。 IronOCR 使用哪種程式語言進行 PDF 資料擷取? IronOCR 專為與 C# 搭配使用而設計,因此對於在 .NET 框架內工作的開發人員來說,它是從 PDF 中提取資料的絕佳選擇。 是否有使用 IronOCR 進行 PDF 資料擷取的程式碼範例? 是的,指南包含完整的 C# 程式碼範例,示範如何使用 IronOCR 從 PDF 文件中有效地提取資料。 IronOCR 能否解析 PDF 文件中的表格? IronOCR 包含解析 PDF 文件中表格的功能,使開發人員能夠有效率地提取結構化資料。 IronOCR可以擷取哪些類型的PDF內容? IronOCR 可以從 PDF 中提取各種類型的內容,包括文字、表格和掃描圖像中的數據,使其成為一款用途廣泛的資料擷取工具。 Kannapat Udonpant 立即與工程團隊聊天 軟體工程師 在成為软件工程師之前,Kannapat 從日本北海道大學完成了環境資源博士學位。在追逐學位期间,Kannapat 還成為了生產工程系一部份——汽車机器人实验室的成員。2022 年,他利用他的 C# 技能加入 Iron Software 的工程團隊, 專注於 IronPDF。Kannapat 珍惜他的工作,因为他直接向编写大部分 IronPDF 使用的代码的开发者学习。除了同行学习,Kannapat 还喜欢在 Iron Software 工作的社交十环。当他不编写代码或文档时,Kannapat 通常在他的 PS5 上打游戏或重看《The Last of Us》。 相關文章 發表日期 12月 18, 2025 C# 讀取 PDF 表單欄位:以程式設計方式擷取表單數據 學習如何在C#中使用IronPDF讀取PDF表單字段。從可填寫PDF中提取文本、複選框、下拉列表等的簡單代碼示例。 閱讀更多 發表日期 12月 18, 2025 C# 從 PDF 擷取影像:完整開發者指南 學習如何使用IronPDF強大的方法從C#中的PDF文檔中提取圖像。完整指南中包含了.NET開發人員的代碼示例。 閱讀更多 發表日期 12月 18, 2025 C# 將 PDF 轉換為圖像:完整開發者指南 學習如何使用IronPDF將PDF文檔轉換為C#中的圖像。詳盡指南中提供了JPG、PNG和TIFF轉換的代碼示例。 閱讀更多 C# 將 PDF 轉換為圖像:完整開發者指南IronOcr 如何使用電腦視覺 OC...
發表日期 12月 18, 2025 C# 讀取 PDF 表單欄位:以程式設計方式擷取表單數據 學習如何在C#中使用IronPDF讀取PDF表單字段。從可填寫PDF中提取文本、複選框、下拉列表等的簡單代碼示例。 閱讀更多
發表日期 12月 18, 2025 C# 從 PDF 擷取影像:完整開發者指南 學習如何使用IronPDF強大的方法從C#中的PDF文檔中提取圖像。完整指南中包含了.NET開發人員的代碼示例。 閱讀更多
發表日期 12月 18, 2025 C# 將 PDF 轉換為圖像:完整開發者指南 學習如何使用IronPDF將PDF文檔轉換為C#中的圖像。詳盡指南中提供了JPG、PNG和TIFF轉換的代碼示例。 閱讀更多