
L’estrazione di tabelle da file PDF può essere un’attività comune quando si ha a che fare con l’estrazione o l’analisi dei dati. Sia che tu stia cercando di recuperare tabelle per l’elaborazione o esportarle per un ulteriore utilizzo, automatizzare questo processo può farti risparmiare tempo e fatica. In questo post del blog, ti mostreremo come estrarre tabelle da un PDF in C# o esportare i dati estratti in un file CSV.
In questo articolo tratteremo le seguenti sezioni:
- Perché estrarre tabelle da PDF?
- Estrazione tabella PDF - Configurazione API C#
- Estrarre la tabella dal PDF in C#
- Convertire i dati della tabella da PDF a CSV in C#
Perché estrarre tabelle da PDF?
I file PDF sono ampiamente utilizzati per condividere informazioni in un formato portabile. Tuttavia, estrarre dati strutturati come le tabelle può essere impegnativo perché i file PDF non sono progettati per una facile modifica o manipolazione. Estraendo i dati delle tabelle a livello di programmazione in C#, puoi rendere i dati più accessibili, consentendoti di analizzare, modificare o archiviare i dati in diversi formati come CSV, che è ampiamente utilizzato per lo scambio di dati tra diverse applicazioni.
Estrazione tabella PDF - Configurazione API C#
È possibile estrarre dati dalle tabelle PDF configurando Conholdate.Total per .NET con il comando di installazione NuGet riportato di seguito:
PM> NuGet\Install-Package Conholdate.Total
Estrarre la tabella dal PDF in C#
In questa sezione illustreremo come estrarre tabelle da un documento PDF utilizzando C#.
- Caricamento del documento PDF: il codice inizia caricando il file PDF in un oggetto della classe Document.
- Table Absorber: la classe TableAbsorber viene utilizzata per rilevare e assorbire le tabelle su ogni pagina del PDF.
- Estrazione dei dati della tabella: il codice scorre ogni tabella trovata, estraendo il contenuto di ogni cella della tabella e stampandolo in un formato strutturato.
Questo metodo fornisce un modo efficace per accedere ai dati tabulari dai documenti PDF, consentendo di lavorare con le informazioni a livello di programmazione. Il frammento di codice seguente illustra l’estrazione della tabella in C#:
// Carica il documento PDF di origine
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();
}
}
}
Convertire i dati della tabella PDF in CSV in C#
Una volta estratti i dati della tabella da un PDF, potresti volerli salvare in un formato più accessibile come CSV. CSV (Comma Separated Values) è ampiamente supportato da applicazioni come Microsoft Excel, Google Sheets e molti sistemi di elaborazione dati. In questa sezione, convertiremo i dati della tabella PDF in CSV in C#:
I passaggi seguenti mostrano come esportare i dati dalle tabelle PDF al formato CSV in C#:
- Caricamento del documento PDF: il documento PDF viene caricato nell’oggetto Documento come in precedenza.
- ExcelSaveOptions: viene creata un’istanza di ExcelSaveOptions con il formato impostato su CSV. Ciò garantisce che i dati della tabella dal PDF vengano esportati direttamente come file CSV.
- Salvataggio del file CSV: il metodo Save viene chiamato per esportare i dati della tabella PDF in un file .csv.
L’esempio di codice seguente mostra come convertire una tabella PDF in formato CSV in C#:
// Carica documento PDF
Document pdfDocument = new Document("input.pdf");
// Crea un'istanza dell'oggetto Opzione ExcelSave
ExcelSaveOptions excelSave = new ExcelSaveOptions { Format = ExcelSaveOptions.ExcelFormat.CSV };
// Salva l'output in formato XLS
pdfDocument.Save("PDFToXLS_out.xlsx", excelSave);
Ottieni una licenza gratuita
È possibile ottenere una licenza temporanea gratuita per testare diverse funzionalità dell’API senza alcuna limitazione di valutazione.
Riassumendo
L’estrazione di tabelle da un PDF e l’esportazione dei dati in un formato CSV in C# possono essere semplificate ed efficienti in C#. La possibilità di automatizzare l’estrazione di tabelle è utile in scenari in cui è necessario analizzare o condividere dati tabulari da PDF in un formato più flessibile come CSV. Seguendo i passaggi in questo post del blog, è possibile recuperare e archiviare facilmente i dati delle tabelle dai file PDF. Questo processo è particolarmente utile nell’analisi dei dati, nella creazione di report o in qualsiasi attività che richieda dati strutturati da documenti PDF altrimenti rigidi. In caso di domande, contattaci al forum.