Biblioteca Python de conversió de PDF a HTML/XML
Biblioteca Python gratuïta i de codi obert per convertir documents PDF a HTML i XML.
Què és pdfminer.six?
pdfminer.six és una biblioteca de Python gratuïta i de codi obert que es pot utilitzar per convertir documents PDF a altres formats.
Aquí teniu una breu llista de les seves principals funcions de conversió de PDF:
- Conversió de PDF a HTML: convertiu documents PDF en format HTML tot conservant l'estructura i la disposició del document.
- Conversió de PDF a XML: transformeu fitxers PDF en format XML, capturant tots els detalls, inclosos els tipus de lletra i altres elements.
Primers passos amb pdfminer.six
Necessiteu la versió 3.6.0 o superior de Python per instal·lar i utilitzar pypdf. Per tant, primer instal·leu Python i després utilitzeu les ordres següents per instal·lar pypdf a la vostra màquina mitjançant pip i entorn virtual.
Linux
python3 -m venv venv
source venv/bin/activate
pip install pdfminer.six
MacOS
python -m venv venv
source venv/bin/activate
pip install pdfminer.six
Windows
python3 -m venv venv
venv\Scripts\activate.bat
pip install pdfminer.six
Converteix PDF a HTML
Podem convertir un document PDF a format HTML mitjançant la funció extract_text_to_fp de la biblioteca pdfminer.six (amb el tipus de sortida definit en html) proporcionada per la biblioteca, tal com es mostra al fragment de codi següent:
Sortida
La captura de pantalla següent mostra el fitxer HTML generat en convertir el document PDF:
Convertir PDF a XML
També podem convertir un document PDF a format XML mitjançant la mateixa funció extract_text_to_fp (però amb el tipus de sortida definit en xml) proporcionada per la biblioteca, tal com es mostra al fragment de codi següent:
Sortida
La captura de pantalla següent mostra el contingut XML convertit del document PDF:
Conclusió
En general, pdfminer.six admet la conversió de documents PDF a format XML sense cap problema, però quan s'intenta convertir un PDF a HTML, aconsegueix transferir el contingut del text, però sovint altera el disseny general.