Extrahiere Tabellen aus dem PDF-Dokument über C#

Wie kann ich mithilfe der C# Bibliothek eine Tabelle aus PDF extrahieren

So extrahieren Sie mithilfe der .NET Bibliothek Tabellen aus einem PDF-Dokument

Um die Tabelle zu extrahieren, verwenden wir die API Aspose.PDF for .NET, eine funktionsreiche, leistungsstarke und einfach zu verwendende API zur Dokumentenbearbeitung für die net Plattform. Öffnen Sie den NuGet -Paketmanager, suchen Sie nach Aspose.pdf und installieren Sie es. Sie können auch den folgenden Befehl von der Package Manager Console aus verwenden.

Package Manager Console

PM > Install-Package Aspose.PDF

Extrahiere Tabellen aus PDF via C#


Sie benötigen Aspose.PDF for .NET, um den Code in Ihrer Umgebung auszuprobieren.

  1. Laden Sie das PDF mit einer Instanz von Document.
  2. Erstellen Sie ein TableAbsorber-Objekt, um Tabellen zu finden.
  3. Besuchen Sie die erste Seite mit Absorber.
  4. Holen Sie sich die erste Tabelle auf der Seite.
  5. Entferne den Tisch. Speichern Sie die Datei.

Extrahiere Tabellen aus PDF - C#


Aspose.Pdf.Document pdfDocument = new Aspose.Pdf.Document(@"c:\tmp\the_worlds_cities_in_2018_data_booklet 7.pdf");           
    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)
        {
            foreach (AbsorbedRow row in table.RowList)
            {
                foreach (AbsorbedCell cell in row.CellList)
                {
                    TextFragment textfragment = new TextFragment();
                    TextFragmentCollection textFragmentCollection = cell.TextFragments;
                    foreach (TextFragment fragment in textFragmentCollection)
                    {
                        string txt = "";
                        foreach (TextSegment seg in fragment.Segments)
                        {
                            txt += seg.Text;
                        }
                        Console.WriteLine(txt);
                    }
                }
            }
        }
    }