IRONSOFTWAREHOME
KORZYSTANIE Z IRONOCR

Wyodrębnianie danych z PDF .NET: Kompletny przewodnik dla deweloperów

Kannaopat Udonpant
Kannapat Udonpant
Updated: 28 czerwca 2026

Wyodrębnij tekst, tabele, formularze i obrazy z plików PDF w .NET, używając IronPDF, za pomocą zaledwie kilku linii kodu—zainstaluj za pomocą NuGet, załaduj swój PDF i wywołaj ExtractAllText(), aby rozpocząć w mniej niż 5 minut.

Dokumenty PDF są wszechobecne w biznesie: faktury, raporty, umowy i instrukcje. Jednak programowe pozyskiwanie z nich istotnych informacji może być trudne. Pliki PDF skupiają się na wyglądzie, a nie na sposobie uzyskiwania dostępu do danych. Dla programistów pracujących z OCR w języku C# stanowi to wyjątkowe wyzwanie podczas pracy ze skanowanymi dokumentami.

Dla programistów .NET IronPDF dla .NET to potężna biblioteka .NET do obsługi plików PDF, która ułatwia wyciąganie danych z plików PDF. Możesz pobierać tekst, tabele, pola formularzy, obrazy i załączniki bezpośrednio z dokumentów PDF. Niezależnie od tego, czy automatyzujesz przetwarzanie faktur, tworzysz bazę wiedzy, czy generujesz raporty, ta biblioteka pozwala zaoszczędzić sporo czasu. Podczas pracy ze skanowanymi plikami PDF możesz również potrzebować funkcji ekstrakcji tekstu PDF OCR do obsługi treści opartych na obrazach.

W niniejszym przewodniku przedstawiono praktyczne przykłady pobierania treści tekstowych, danych tabelarycznych i wartości pól formularzy, a po każdym fragmencie kodu zamieszczono objaśnienia, dzięki czemu można je dostosować do własnych projektów. Jeśli pracujesz również z innymi typami dokumentów, pomocne może okazać się zapoznanie się z odczytywaniem zeskanowanych dokumentów lub konwersją plików TIFF do formatu PDF z możliwością wyszukiwania.

Jak rozpocząć pracę z IronPDF?

Instalacja IronPDF zajmuje kilka sekund za pomocą menedżera pakietów NuGet. Otwórz konsolę menedżera pakietów i uruchom:

PM > Install-Package IronOcr

W przypadku bardziej zaawansowanych scenariuszy instalacji zapoznaj się z dokumentacją pakietów NuGet. Po zainstalowaniu można od razu rozpocząć przetwarzanie dokumentów PDF. Oto minimalny przykład w .NET, który pokazuje prostotę API IronPDF:

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);

Ten kod ładuje plik PDF i wyodrębnia z niego cały tekst. IronPDF automatycznie obsługuje złożone struktury plików PDF, dane formularzy i kodowania, które zazwyczaj powodują problemy w innych bibliotekach. Dane wyodrębnione z dokumentów PDF można zapisać w pliku tekstowym lub poddać dalszej obróbce w celu analizy. W przypadku bardziej złożonych potrzeb związanych z ekstrakcją danych warto zapoznać się ze specjalistycznymi technikami przetwarzania dokumentów.

Praktyczna wskazówka: Wyodrębniony tekst można zapisać w pliku .txt do późniejszego przetworzenia lub przeanalizować w celu wypełnienia baz danych, arkuszy Excel lub baz wiedzy. Ta metoda sprawdza się dobrze w przypadku raportów, umów lub dowolnych plików PDF, w których potrzebujesz szybko uzyskać surowy tekst. W przypadku scenariuszy obejmujących tabele warto zapoznać się z informacjami na temat odczytywania tabel w dokumentach, aby uzyskać bardziej uporządkowane dane.

Jak wygląda wyodrębniony tekst?

Podzielony ekran pokazujący dokument PDF wyjaśniający 'Co to jest PDF?' po lewej stronie oraz okno konsoli Visual Studio wyświetlające wyodrębniony tekst z tego PDF-a po prawej

Jak mogę wyodrębnić dane z określonych stron?

Praktyczne zastosowania często wymagają precyzyjnego pozyskiwania danych. IronPDF oferuje wiele metod pozyskiwania cennych informacji z określonych stron w pliku PDF. Podejście to jest podobne do ekstrakcji specyficznej dla regionu OCR, ale dotyczy plików PDF. W tym przykładzie wykorzystamy następujący plik PDF:

Przeglądarka PDF pokazująca Raport roczny 2024 z tabelą podsumowania faktur zawierającą numery faktur, daty i kwoty, obok sekcji dotyczących wyników działów i przeglądu finansowego

Poniższy kod pobiera dane z określonych stron tego pliku PDF i zwraca wyniki do naszej konsoli. W przypadku dokumentów wielostronicowych przydatne mogą być również techniki przetwarzania wielostronicowych plików TIFF.

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()}");
        }
    }
}

Ten przykład pokazuje, jak wyodrębnić tekst z dokumentów PDF, wyszukać kluczowe informacje i przygotować je do przechowywania w plikach danych lub bazie wiedzy. Metoda ExtractTextFromPage() utrzymuje kolejność czytania dokumentu, co czyni ją idealną do analizy dokumentów i zadań indeksowania treści. Aby zwiększyć dokładność, warto rozważyć użycie filtrów optymalizacji obrazów podczas pracy z plikami PDF o niższej jakości.

Microsoft Visual Studio Debug Console showing extracted invoice data with invoice summary, dates, amounts, and final total of $2,230.00

Podczas przetwarzania dokumentów finansowych warto skorzystać z pakietu językowego Financial Language Pack, aby uzyskać większą dokładność w zakresie terminologii specjalistycznej. Ponadto śledzenie postępów może pomóc w monitorowaniu wydajności ekstrakcji w przypadku dużych partii dokumentów.

Jak wyodrębnić tabele z plików PDF?

Tabele w plikach PDF nie mają natywnej struktury — są po prostu treścią tekstową ułożoną tak, aby wyglądała jak tabela. IronPDF wyodrębnia dane tabelaryczne, zachowując układ, dzięki czemu można je przetworzyć do plików Excel lub tekstowych. Jest to podobne do ekstrakcji rysunków za pomocą OCR, ale zoptymalizowane specjalnie pod kątem treści tabelarycznych. W tym przykładzie wykorzystamy ten plik PDF:

Sample invoice showing structured data with customer details, itemized products, and total amount of $180.00

Naszym celem jest wyodrębnienie danych z samej tabeli, co ma pokazać, że IronPDF potrafi analizować dane tabelaryczne. W przypadku bardziej zaawansowanych scenariuszy wyodrębniania tabel warto zapoznać się z funkcją odczytu tabel w dokumentach, która wykorzystuje uczenie maszynowe do obsługi złożonych struktur tabel.

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");

Tabele w plikach PDF to zazwyczaj po prostu tekst ułożony tak, aby wyglądał jak siatka. Ta kontrola pomaga ustalić, czy dana linia należy do wiersza tabeli, czy do nagłówka. Odfiltrowując nagłówki, stopki i niepowiązany tekst, można wyodrębnić z pliku PDF czyste dane tabelaryczne, gotowe do użycia w formacie CSV lub Excel. W celu przetwarzania paragonów i faktur o złożonym układzie zapoznaj się z rozszerzeniem AdvancedScan.

Ten proces sprawdza się w przypadku formularzy PDF, dokumentów finansowych i raportów. Później możesz przekonwertować dane z plików PDF na pliki xlsx lub połączyć je w plik ZIP zawierający wszystkie przydatne dane. W przypadku złożonych tabel ze scalonymi komórkami może być konieczne dostosowanie logiki parsowania w oparciu o pozycje kolumn. Dokumentacja dotycząca danych wyjściowych zawiera szczegółowe wskazówki dotyczące pracy z wynikami w formacie strukturalnym.

Arkusz kalkulacyjny Excel pokazujący inwentarz produktów z kolumnami dla pozycji, ilości, ceny i całkowitych wartości obliczonych

Aby zwiększyć dokładność wyodrębniania tabel, warto rozważyć użycie technik wizji komputerowej do automatycznego wykrywania obszarów tabel przed przetwarzaniem. Takie podejście może znacznie poprawić wyniki w przypadku złożonych układów.

Jak wyodrębnić dane z pól formularza?

IronPDF obsługuje również wyodrębnianie i modyfikowanie danych z pól formularzy, podobnie jak funkcje odczytu paszportów w przypadku dokumentów ustrukturyzowanych:

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");

Ten kod wyodrębnia wartości pól formularzy z plików PDF i umożliwia ich aktualizację programowo, ułatwiając przetwarzanie formularzy PDF oraz wyodrębnianie określonych zakresów informacji do analizy lub generowania raportów. Jest to przydatne do automatyzacji procesów, takich jak wdrażanie klientów, przetwarzanie ankiet lub walidacja danych. W przypadku przetwarzania dokumentów tożsamości zapoznaj się z najlepszymi praktykami dotyczącymi OCR dokumentów tożsamości.

Porównanie dwóch formularzy PDF pokazujących wyniki ekstrakcji danych - oryginalny formularz po lewej z danymi 'John Doe', zaktualizowany formularz po prawej z 'Updated Value' pokazującym udaną ekstrakcję i modyfikację danych

Podczas pracy z formularzami zawierającymi pola wyboru i przyciski opcji może zaistnieć potrzeba wdrożenia niestandardowej logiki podobnej do odczytu kodów BarCode i kodów QR dla specjalnych typów pól. Dokumentacja klasy OcrResult zawiera wyczerpujące informacje na temat obsługi różnych typów wyników.

Co mam zrobić dalej?

IronPDF sprawia, że ekstrakcja danych z plików PDF w środowisku .NET jest praktyczna i wydajna. Można wyodrębniać obrazy, tekst, tabele, pola formularzy, a nawet załączniki z różnych dokumentów PDF, w tym ze skanowanych plików PDF, które zazwyczaj wymagają dodatkowej obróbki OCR. W przypadku dokumentów zeskanowanych połączenie funkcji IronPDF z IronOCR zapewnia kompleksowe możliwości przetwarzania dokumentów.

Niezależnie od tego, czy tworzysz bazę wiedzy, automatyzujesz procesy raportowania, czy też wyodrębniasz dane z plików PDF dotyczących finansów, ta biblioteka zapewnia narzędzia pozwalające wykonać te zadania bez ręcznego kopiowania lub podatnego na błędy parsowania. Jest proste, szybkie i integruje się bezpośrednio z projektami Visual Studio. W zakresie wdrażania IronPDF obsługuje różne platformy, w tym Windows, Linux, Docker oraz platformy chmurowe, takie jak AWS i Azure.

Wypróbuj to — prawdopodobnie zaoszczędzisz czas i unikniesz typowych problemów związanych z pracą z plikami PDF. Dla start-upów i małych zespołów opcje licencyjne obejmują elastyczne plany, które rosną wraz z Twoimi potrzebami. Możesz również zapoznać się z wdrażaniem kluczy licencyjnych w środowiskach produkcyjnych.

Chcesz wdrożyć funkcję wyodrębniania danych z plików PDF w swoich aplikacjach? Czy IronPDF brzmi jak biblioteka .NET dla Ciebie? Bezpłatna próba, aby uzyskać dostęp do pełnej funkcjonalności, lub zapoznaj się z naszymi opcjami licencyjnymi do użytku komercyjnego. Zapraszamy do zapoznania się z naszą dokumentacją, w której znajdują się obszerne przewodniki i Dokumentacja API. Aby szybko wdrożyć rozwiązanie, zapoznaj się z naszymi demonstracjami i przykładami kodu, które pozwolą Ci rozpocząć pracę w ciągu kilku minut.

Powiązane artykuły

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Your trial license will be sent to your email address

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Otrzymaj swoją Konsultację Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta