Domanda

Ho un PDF, consiste solo di testo, senza caratteri speciali né immagini, ecc. C'è qualche modulo perl là fuori (guardando CPAN inutile) per aiutarmi ad analizzare ogni linea di pagina per linea? (La conversione del PDF per il testo produce risultati negativi e dati non competibili)

Grazie,

È stato utile?

Soluzione

When I want to extract text from a PDF, I feed it to pdftohtml (part of Poppler) using the -xml output option. This produces an XML file which I parse using XML::Twig (or any other XML parser you like except XML::Simple).

The XML format is fairly simple. You get a <page> element for each page in the PDF, which contains <fontspec> elements describing the fonts used and a <text> element for each line of text. The <text> elements may contain <b> and <i> tags for bold and italic text (which is why XML::Simple can't parse it properly).

You do need to use the top and left attributes of the <text> tags to get them in the right order, because they aren't necessarily emitted in top-to-bottom order. The coordinate system has 0,0 in the upper left corner of the page with down and right being positive. Dimensions are in PostScript points (72 points per inch).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top