2012-04-17 10 views
5

devo estrarre il testo da fatture e file pdfregola per le bollette e fatture verious

I layout file possono ottenere complessa, anche se la sua gran parte riempito con tavoli.

Ho letto alcune dozzine di articoli già sul formato pdf, quanto è facile per il nostro cervello coglierlo e quanto sia difficile per una macchina capire la sua struttura.

Inoltre, ha scaricato alcuni strumenti come il pdfminer di Python e alcuni strumenti java, alcuni hanno anche un'estrazione di layout basata su regole, come LA-PDBtext queste sono tutte librerie grandiose, lasciando il passo finale.

Adobe ha anche un servizio online chiamato exportPdf ma non può essere personalizzato

Linea di fondo, ho capito che per estrarre il testo da file pdf strutturati e convertirlo in XML, ad esempio, ci dovrebbe essere un po ' livello di lavoro manuale.

Ho trovato anche From Data Extractor, uno strumento non libero con la possibilità di impostare regole di estrazione che dichiarano di eseguire il lavoro, anche se è difficile trovare un manuale corretto e viene eseguito solo su Windows.

Ho pensato che potrei anche provare a convertire quei file in immagini e provare tesseract-ocr ma ho deciso di chiedere un consiglio qui prima di dedicare più tempo a questo.

Sarò molto grato se qualcuno con tale esperienza mi dia un suggerimento.

+0

A meno che questi PDF non siano conformi al formato PDF/A-1a, è necessario molto lavoro: in pratica dovrai eseguire l'OCR. PDF non è il formato giusto per questo; prova ad ottenere fatture e fatture come XML strutturato correttamente o come EDIFACT. –

+0

Hey so che questo è un vecchio post, ma prova Tabula https://github.com/jazzido/tabula-extractor – blaze

risposta

7

Ho fatto un sacco di estrazione PDF e posso confermare come hai già scoperto che può essere un processo doloroso per iniziare. Una delle cose importanti da capire è che non esiste un concetto di "tabella" all'interno di un PDF, solo il testo che ha delle linee intorno. Inoltre, non vi è alcuna garanzia che l'ordine lineare del testo all'interno del codice PDF corrisponda effettivamente all'ordine visivo quando viene stampato. In altre parole, non è garantito che "Hello World" sia scritto in questo ordine, potrebbe essere draw 'word' at coord 20 then draw 'hello' at coord 10. La maggior parte dei creatori di PDF non lo fa, ma non c'è ancora alcuna garanzia. Più creativo è un creatore PDF (InDesign, Illustrator, ecc.) Più è probabile che il testo sia più difficile da estrarre. In realtà, una volta che un designer inizia a manipolare troppo i caratteri, alcuni programmi a volte emettono effettivamente parole un carattere alla volta, cambiando leggermente il carattere ogni volta.

Detto questo, consiglierei il primo che hai guardato, LA-PDFText. È possibile eseguirlo in discovery mode (blocco) dal quale è possibile creare regole. Non ho più Java installato quindi non posso testarlo ma sembra molto promettente.

Il tuo secondo, A-PDF Form Data Extractor, funziona solo con i moduli PDF effettivi. Se questo è il tuo caso, ti consiglio di utilizzare solo una soluzione open source come iText/iTextSharp.

L'ultimo OCR mi fa rabbrividire. Non riesco a immaginare di passare attraverso questi cerchi per ottenere una migliore rappresentazione del testo rispetto all'analisi del PDF. Ma poi di nuovo, PDF è un formato visivo, quindi forse lo sarebbe.

Personalmente io uso iText/iTextSharp per questo genere di cose ma mi piace anche fare le cose nel modo più difficile.

3

Non è chiaro se si sta cercando lo strumento di sviluppo per automatizzare l'estrazione dei dati da fatture e fatture o solo per lo strumento di una volta (utilità) che può essere utilizzato dal non sviluppatore?

Comunque qui ci sono alcuni strumenti specializzati inclusi motori che usano:

  1. Tabula (open-source, progettato appositamente per estrarre i dati dalle tabelle in pdf Impossibile esportare gli script di shell per l'elaborazione batch, corre come il localhost web. servizio, alimentato da JRuby Tabula engine)
  2. Viet OCR (open-source di utilità .NET desktop per l'estrazione di testo da PDF e immagini, sulla base di tesseract oct engine)
  3. Bytescout PDF Viewer (freeware di utility chiuso sorgente .NET, rileva e 'estrazione ts tavoli, tra cui fatture digitalizzate, alimentati da PDF Extractor SDK)

NOTA BENE: io lavoro per ByteScout.

Problemi correlati