Wyodrębnij tabelę z pliku PDF w C#

Wyodrębnianie tabel z plików PDF może być powszechnym zadaniem podczas ekstrakcji lub analizy danych. Niezależnie od tego, czy próbujesz pobrać tabele do przetworzenia, czy wyeksportować je do dalszego wykorzystania, zautomatyzowanie tego procesu może zaoszczędzić czas i wysiłek. W tym wpisie na blogu pokażemy, jak wyodrębnić tabele z pliku PDF w C# lub wyeksportować wyodrębnione dane do pliku CSV.

W tym artykule omówimy następujące sekcje:

Dlaczego warto wyodrębniać tabele z pliku PDF?

Pliki PDF są szeroko stosowane do udostępniania informacji w formacie przenośnym. Jednak wyodrębnianie ustrukturyzowanych danych, takich jak tabele, może być trudne, ponieważ pliki PDF nie są zaprojektowane do łatwej edycji ani manipulacji. Wyodrębniając dane tabel programowo w C#, możesz uczynić dane bardziej dostępnymi, umożliwiając analizowanie, modyfikowanie lub przechowywanie danych w różnych formatach, takich jak CSV, który jest szeroko stosowany do wymiany danych między różnymi aplikacjami.

Ekstrakcja tabeli PDF — konfiguracja interfejsu API C#

Możesz wyodrębnić dane z tabel PDF, konfigurując Conholdate.Total dla .NET za pomocą poniższego polecenia instalacyjnego NuGet:

PM> NuGet\Install-Package Conholdate.Total

Wyodrębnij tabelę z pliku PDF w C#

W tej sekcji pokażemy, jak wyodrębnić tabele z dokumentu PDF za pomocą języka C#.

  • Ładowanie dokumentu PDF: Kod rozpoczyna się od załadowania pliku PDF do obiektu klasy Document.
  • Absorber tabel: Klasa TableAbsorber służy do wykrywania i absorbowania tabel na każdej stronie dokumentu PDF.
  • Wyodrębnianie danych z tabeli: Kod przechodzi przez każdą znalezioną tabelę, wyodrębniając zawartość każdej komórki w tabeli i drukując ją w ustrukturyzowanym formacie.

Ta metoda zapewnia skuteczny sposób dostępu do danych tabelarycznych z dokumentów PDF, umożliwiając programową pracę z informacjami. Poniższy fragment kodu demonstruje ekstrakcję tabeli w C#:

// Załaduj źródłowy dokument PDF
var filePath = "input.pdf";
Aspose.Pdf.Document pdfDocument = new Aspose.Pdf.Document(filePath);
foreach (var page in pdfDocument.Pages)
{
    Aspose.Pdf.Text.TableAbsorber absorber = new Aspose.Pdf.Text.TableAbsorber();
    absorber.Visit(page);
    foreach (AbsorbedTable table in absorber.TableList)
    {
        Console.WriteLine("Table");
        foreach (AbsorbedRow row in table.RowList)
        {
            foreach (AbsorbedCell cell in row.CellList)
            {
                foreach (TextFragment fragment in cell.TextFragments)
                {
                    var sb = new StringBuilder();
                    foreach (TextSegment seg in fragment.Segments)
                        sb.Append(seg.Text);
                    Console.Write("{sb.ToString()}|");
                }
            }
            Console.WriteLine();
        }
    }
}

Konwertuj dane tabeli PDF do pliku CSV w C#

Po wyodrębnieniu danych tabeli z pliku PDF możesz chcieć zapisać je w bardziej dostępnym formacie, takim jak CSV. Format CSV (Comma Separated Values) jest szeroko obsługiwany przez aplikacje, takie jak Microsoft Excel, Google Sheets i wiele systemów przetwarzania danych. W tej sekcji przekonwertujemy dane tabeli PDF na CSV w języku C#:

Poniższe kroki pokazują, jak eksportować dane z tabel PDF do formatu CSV w języku C#:

  • Ładowanie dokumentu PDF: Dokument PDF jest ładowany do obiektu Dokument, tak jak poprzednio.
  • ExcelSaveOptions: Instancja ExcelSaveOptions jest tworzona z formatem ustawionym na CSV. Zapewnia to, że dane tabeli z pliku PDF są eksportowane bezpośrednio jako plik CSV.
  • Zapisywanie pliku CSV: Metoda Save jest wywoływana w celu wyeksportowania danych tabeli PDF do pliku .csv.

Poniższy przykład kodu pokazuje, jak przekonwertować tabelę PDF do formatu CSV w języku C#:

// Załaduj dokument PDF
Document pdfDocument = new Document("input.pdf");

// Utwórz obiekt opcji ExcelSave
ExcelSaveOptions excelSave = new ExcelSaveOptions { Format = ExcelSaveOptions.ExcelFormat.CSV };

// Zapisz dane wyjściowe w formacie XLS
pdfDocument.Save("PDFToXLS_out.xlsx", excelSave);

Uzyskaj bezpłatną licencję

Możesz uzyskać bezpłatną tymczasową licencję, aby przetestować różne funkcje interfejsu API bez żadnych ograniczeń dotyczących oceny.

Podsumowując

Ekstrakcja tabel z pliku PDF i eksport danych do formatu CSV w języku C# może być prosta i wydajna w języku C#. Możliwość automatyzacji ekstrakcji tabel pomaga w scenariuszach, w których trzeba analizować lub udostępniać dane tabelaryczne z plików PDF w bardziej elastycznym formacie, takim jak CSV. Postępując zgodnie z instrukcjami w tym wpisie na blogu, można łatwo pobierać i przechowywać dane tabelaryczne z plików PDF. Ten proces jest szczególnie przydatny w analizie danych, raportowaniu lub w każdym zadaniu, które wymaga ustrukturyzowanych danych z inaczej sztywnych dokumentów PDF. W przypadku jakichkolwiek pytań prosimy o kontakt na forum.

Zobacz także