PdfPig: Estrazione avanzata di testo da PDF per .NET
Leggi e analizza contenuti PDF senza dipendenze - testo, posizioni, font e metadati
Cos'è PdfPig?
PdfPig è una libreria .NET open source specializzata nell'estrazione di contenuti da file PDF senza dipendenze native. A differenza dei generatori di PDF, PdfPig è ottimizzato per la lettura di documenti esistenti per accedere a testo, informazioni sui font, dati di posizione e struttura del documento. Particolarmente utile per data mining, analisi dei contenuti e pipeline di elaborazione documenti.
Vantaggi principali di PdfPig:
- Nessuna dipendenza: Implementazione pura in C#
- Accesso a basso livello: Posizionamento preciso del testo e metriche dei font
- Efficiente con la memoria: Gestisce documenti grandi con overhead minimo
- Pronto per OCR: Estrae testo con bounding box per l'analisi
- Licenza MIT: Gratis per uso commerciale
Ideale per l'analisi documentale, l'estrazione del testo e l'elaborazione di contenuti PDF.
Perché scegliere PdfPig?
- Precisione: Gestisce correttamente layout di testo PDF complessi
- Prestazioni: Più veloce di librerie .NET simili nei benchmark
- Trasparenza: Accesso alle strutture PDF grezze quando necessario
- Sviluppo attivo: Aggiornamenti regolari dal 2018
- Cross-platform: Funziona con .NET Standard 2.0+
Installazione
PdfPig è disponibile via NuGet per una facile integrazione:
Package Manager Console
Install-Package PdfPig
.NET CLI
dotnet add package PdfPig
Requisiti di sistema: Runtime compatibile con .NET Standard 2.0
Esempi di codice
Esempi pratici delle capacità di PdfPig:
Esempio 1: Estrazione di base del testo
Questo esempio mostra come aprire un documento PDF ed estrarre tutto il contenuto testuale mantenendo l'ordine di lettura. PdfPig fornisce accesso a ogni lettera con la sua posizione esatta nel documento, permettendo analisi avanzate del layout oltre la semplice estrazione del testo.
L'output include:
- Contenuto testuale grezzo nell'ordine di lettura
- Numeri di pagina per ogni segmento di testo
- Informazioni di base sui font
Esempio 2: Analisi posizionale avanzata
PdfPig eccelle nel fornire dati posizionali precisi per gli elementi di testo. Questo esempio mostra come estrarre parole con i loro bounding box, abilitando attività come rilevamento di tabelle, elaborazione di moduli e analisi di aree di contenuto.
Esempio 3: Estrazione di font e metadati
Oltre al contenuto testuale, PdfPig fornisce accesso ai metadati del documento e informazioni dettagliate sui font. Questo esempio dimostra l'estrazione delle proprietà del documento e l'analisi dell'uso dei font nell'intero PDF.
Funzionalità avanzate
PdfPig supporta l'analisi PDF professionale:
- Estrazione immagini: Accesso a immagini incorporate:
Estrazione immagini
using var document = PdfDocument.Open("file.pdf"); foreach (var page in document.GetPages()) { foreach (var image in page.GetImages()) { var bytes = image.RawBytes; // Elabora i dati dell'immagine } }
- Navigazione segnalibri: Accesso alla struttura del documento:
Segnalibri
var bookmarks = document.GetBookmarks(); foreach (var bookmark in bookmarks) { Console.WriteLine($"{bookmark.Title} - Pagina {bookmark.PageNumber}"); }
- PDF crittografati: Gestione di file protetti da password:
PDF crittografato
var options = new ParsingOptions { Password = "secure123" }; using var doc = PdfDocument.Open("crittografato.pdf", options);
PdfPig vs PdfSharp
Ecco le 5 differenze principali tra PdfPig e PDFsharp:
- Funzione primaria: PdfPig è specializzato nella lettura/estrazione di testo, posizioni e metadati. PDFsharp è focalizzato sulla creazione/modifica di documenti PDF
- Testo vs grafica: PdfPig estrae testo con precisione al pixel (incluso coordinate). PDFsharp è ottimizzato per disegnare testo/forme (report, fatture, moduli)
- Accesso al documento: PdfPig analizza PDF esistenti, mentre PDFsharp può modificare pagine, aggiungere contenuti, unire file
- Funzionalità avanzate PdfPig rivela dettagli sui font, bounding box e struttura del documento, mentre PDFsharp supporta standard PDF/A, immagini e crittografia
- Casi d'uso PdfPig per data mining, pre-elaborazione OCR, analisi contenuti, mentre PDFsharp per generazione report, manipolazione PDF, compilazione moduli
Conclusione
PdfPig offre un accesso senza pari ai contenuti PDF per sviluppatori .NET. Ideale per:
- Estrazione dati: Mining di contenuti da report e documenti
- Analisi documentale: Comprensione della struttura e layout PDF
- Accessibilità: Conversione di contenuti PDF in altri formati
- Pre-elaborazione: Preparazione documenti per OCR o ML
Con il suo focus sull'estrazione precisa dei contenuti e sul basso uso di memoria, PdfPig è la scelta principale per l'analisi PDF in .NET.