Conversió de PDF a HTML

Publicat el 03/04/2008

pdftohtml és una eina basada en les eines no gràfiques de xpdf.

pdftohtml permet crear un HTML (4.01 Transitional) o un XML basat en una DTD de l'eina. En el cas de generar HTML es pot optar per crear un document únic o tants com pàgines tingui el PDF.

En casos de PDF petits la primera opció és suficient però en casos de PDF de tipus manual, amb una jerarquia complexe es troba a faltar una opció de generar un fitxer per capítol.

Això sembla conseqüència per una banda de que l'eina està un pèl verda i per l'altre de la manca d'estructura real que tenen la majoria de PDF (degut principalment a una mala creació).

El codi generat

L'HTML que genera és francament dolent ja que no identifica cap element estructural, ni paràgrafs, ni capçaleres, ni llistes, ni taules cosa que obliga a usar un postprocessat per polir l'estructura (p.ex. amb XSLT o similar).

El problema més difícil d'abordar és muntar un postprocessat que permeti arreglar de veritat l'estructura ja que l'HTML és massa pobre.

Marca tots els títols amb un element B seguit d'un BR però no dóna cap informació de la relació entre ells per tant, a no ser que els títols estiguin numerats o hi hagi un sumari al document original poc es pot aconseguir.

El cas de les taules és pitjor ja que posa el contingut de les cel·les una sota l'altre. Indistingible de com fa els paràgrafs.

La sortida XML dóna tota la informació de la que disposa l'eina és a dir, marca cada fragment de text amb un element TEXT el qual pot tenir els atributs "top","left","width","height" i "font".

Els atributs "top" i "left" són respecte les coordenades de la pàgina per tant, si es vol usar per intentar detectar una taula, caldrà fer un control mitjançant l'element PAGE per evitar errors si ocupa més d'una pàgina.

Amb les llistes es podria intentar fer quelcom semblant afegint la possibilitat de detectar cada ítem a partir del bullet (evidentment només útil si n'hi ha, cosa que a priòri és difícil de saber).

Finalment, la jerarquia de títols (parts, capítols, seccions, etc.) es pot intantar determinar a partir de l'atribut "font", el qual conté una referència de l'identificador d'un element FONTSPEC que conté informació sobre la mida, la familia i el color.

Sabent les mides possibles en tot el document i sabent que normalment estan dins d'un element B o I es pot aconseguir quelcom acceptable.

Tot i així, és francament desagradable recuperar informació “tancada” dins d'un PDF de forma automàtica.

Amb eines com Adobe Acrobat la sortida HTML és força millor ja que sap muntar taules, llistes i títols (tot i que amb aquests darrers s'equivoca força si el document no està ben marcat), però és massa car i no hi ha opció (o no l'he trobat), d'executar un procés de transformació per múltiples documents.

Comentaris

  1. He vist documents pdf molt navegables, creus que pot arribar a ser quelcom paral.lel a l'html?

    Comentat per esteve el 18/06/2008

  2. Crec que no, principalment per la dependència directa a una empresa (Adobe) tot i que sobre paper (mullat) diguin que és una ISO.

    Comentat per admin el 27/06/2008

Afegir un comentari