Commit 261537d0 authored by Stéphan Bernard's avatar Stéphan Bernard
Browse files

Merge branch 'master' of gitlab-ssh.irstea.fr:copain/pdf2blocs

Merge branch 'master' of gitlab-ssh.irstea.fr:copain/pdf2blocs
No related merge requests found
Showing with 1 addition and 61 deletions
+1 -61
......@@ -2,65 +2,5 @@
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.6605450.svg)](https://doi.org/10.5281/zenodo.6605450)
## Abstract
*This python script converts pdf file written in french into html file.*
This project has been moved to [https://forgemia.inra.fr/bsv/pdf2blocs](https://forgemia.inra.fr/bsv/pdf2blocs).
*The conversion consists in organizing the textual content of a pdf file into separate blocks. Each of these blocks will be transformed into an html section: H1, H2, P, FigCaption, Footer, Header.*
*This program uses pdftohtml and pdftotext, two tools of the poppler bookstore (https://poppler.freedesktop.org/)*
*It's run from the command line:*
python pdf2blocks.py /link/to/file.pdf
*The result is written on standard output.*
*The algorithme is described in french into the README.md file of the archive.*
## Résumé
Un script python qui permet de segmenter des documents numériques au format
PDF ayant un contenu textuel en français.
La segmentation consiste a organiser le contenu textuel d'un document
en une liste de blocs distincts.
Chacun de ces blocs sera transformé en une section de page html :
H1, H2, P, FigCaption, Footer, Header et Table.
Ce programme est basée sur l'outil pdftohtml et pdftotext, deux outils de
la librairie [poppler](https://poppler.freedesktop.org/).
Pour la reconnaissance des tableaux, il utilise
[camelot-py](https://pypi.org/project/camelot-py/)
([documentation](https://camelot-py.readthedocs.io/en/master/index.html)).
Camelot peut s'appuyer sur ghostscript ou poppler. Nous avons bien sûr
choisi le second, qui nécessite [pdftopng](https://pypi.org/project/pdftopng/)
(basé sur poppler).
Le programme prend en entrée un fichier au format PDF,
et produit en sortie un fichier html.
On l'exécute depuis la ligne de commande :
> python src/py/pdf2blocks.py /chemin/vers/fichier.pdf
Le résultat est écrit sur la sortie standard. Il est facile de la rediriger
dans un fichier html.
L'algorithme utilisé est entièrement décrit dans le fichier
[README.md](https://gitlab.irstea.fr/copain/pdf2blocs/-/blob/master/src/py/README.md) situé dans le répertoire src/py , où se trouve le code source de
[pdf2blocks.py](https://gitlab.irstea.fr/copain/pdf2blocs/-/blob/master/src/py/pdf2blocks.py)
## Evaluation
les sorties de pdf2blocs ont été comparées aux sorties d'un logiciel du commerce Abbyy payant. 3 fichiers pdf ont été utilisé pour faire cette comparaison:
* un BSV en viticulture de la région Lorraine datant de 19 juin 2019: Ce fichier contient beaucoup d'images et du texte caché.
* un BSV en viticulture de la région Alsace datant du 26 juillet 2016: Ce fichier est une feuille recto verso imprimée en paysage. Il contient 4 colonnes avec des titres non homogènes. Ces bas de pages pausent aussi problème.
* un BSV vigne de la région Aquitaine datant du 9 avril 2019: la première page de ce fichier est en double colonnes. Il contient une grande typologie de titres et du texte dans des encadrés.
Chaque erreur a été identifiée. La liste des erreurs est disponibles dans un fichier csv.
L'ensemble des fichiers sont disponibles dans le répertoire corpusEvaluation
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment