Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
copain
PDF2Blocs
Commits
f3718893
Commit
f3718893
authored
Apr 22, 2020
by
Roussey Catherine
Browse files
Update README.md
parent
6892004e
Changes
1
Hide whitespace changes
Inline
Side-by-side
src/py/README.md
View file @
f3718893
...
...
@@ -428,42 +428,43 @@ initialisée à la première colonne (la colonne la plus à gauche).
La boucle principale de l'algorithme effectue les tâches suivantes :
-
Recherche du bloc
B1
le plus haut dont l'arête gauche est dans la zone ;
-
Recherche du bloc
**H**
le plus haut dont l'arête gauche est dans la zone ;
Ce bloc va définir l'arête haute de la zone.
-
si on n'en trouve pas, on élargit la zone vers la droite et on relance
une recherche,
-
si on n'en trouve pas et que la zone comprend la dernière colonne,
-
si aucun bloc n'est trouvé cela veut dire qu'il n'existe pas de bloc
dont l'arete gauche se trouve dans la zone. Alors, la zone est élargie
vers la droite et une nouvelle recherche est relancée.
-
si aucun bloc n'est trouvé dans la zone et que la zone comprend la dernière colonne,
on élargit la zone (à gauche) à l'ensemble des colonnes.
Ceci est dû aux déplacements de la zone dans le processus de parcours,
qui peut avoir décalé la zone vers la droite en laissant des blocs
à gauche.
-
Le cas où l'on ne trouve pas de bloc et que la zone comprend l'ensemble
des colonnes signifie la fin de l'algorithme.
des colonnes signifie la fin de l'algorithme.
IL n'y a plus de blocs à traiter.
-
Parmi tous les blocs dont l'arête haute est au même niveau que l'arête haute
de
B1
(modulo un petit intervalle correspondant à la valeur de
de
**H**
(modulo un petit intervalle correspondant à la valeur de
VERTICAL_ALIGMENT_THRESHOLD), on cherche le bloc le plus à gauche intitulé
B2
(le bloc le plus haut et le plus à gauche de la zone).
B2
peut être le
même bloc que
B1
.
-
Étant donné
B2
, trois cas sont considérés :
'HG'
(le bloc le plus haut et le plus à gauche de la zone).
**HG**
peut être le
même bloc que
**H**
.
-
Étant donné
**HG**
, trois cas sont considérés :
*
**A**
: Dans le général, à l'exception des cas
**B**
et
**C**
,
B2
est ajouté à
**ordered_blocks**
et la zone
est ajustée à celle de
B2
(pour que les blocs situés dans la même colonne
que
B2
soient parcourus avant ceux, éventuellement plus hauts, de la colonne
HG
est ajouté à
**ordered_blocks**
et la zone
est ajustée à celle de
**HG**
(pour que les blocs situés dans la même colonne
que
**HG**
soient parcourus avant ceux, éventuellement plus hauts, de la colonne
suivante).
-
**B**
: Si l'arête droite du bloc
B2
est au delà de l'arête droite de
-
**B**
: Si l'arête droite du bloc
**HG**
est au delà de l'arête droite de
la zone. C'est par exemple le cas d'un titre sur toute la largeur de
la page. Dans ce cas, la zone est agrandie jusqu'à l'arête droite de
B2
.
Tous les blocs de la zone situé au dessus de
B2
sont inséré dans la liste L
avant
B2
.
la page. Dans ce cas, la zone est agrandie jusqu'à l'arête droite de
**HG**
.
Tous les blocs de la zone situé au dessus de
**HG**
sont inséré dans la liste L
avant
**HG**
.
!
[
figure B
](
images/CaseB.gif
)
*Dans la figure, le bloc "B" doit être lu avant "T".*
-
**C**
: Si il existe un bloc non traité dans une colonne à gauche
de la zone à traiter, et dont le haut est au-dessus du bas de
B2
(ce bloc est "au niveau de
B2
").
de la zone à traiter, et dont le haut est au-dessus du bas de
**HG**
(ce bloc est "au niveau de
**HG**
").
Ceci se produit quand un titre sur plusieurs colonnes
ou un bloc situé à droite (à côté d'une photo par exemple) vient d'être
ajouté à la liste
L
.
ajouté à la liste
**ordered_blocks**
.
Dans ce cas, on réinitialise la zone à l'ensemble des
colonnes (ce qui aura pour effet de traiter en priorité les blocs
de gauche).
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment