--
ChristianBonnin - 31 Jul 2009
Types de document gérés par DJIN
DJIN peut traiter des documents de type PDF, HTML ou texte.
Documents PDF
A partir d'un bibcode
Un des
diagrammes de DJIN détaille la méthode de
récupération d'un fichier PDF à partir du bibcode.
- Lorsque l'utilisateur appuie sur Entrée dans la zone du bibcode
- DJIN envoie une requête HTTP à SIMBAD pour tester l'existence du bibcode (adresse du paramètre
urlbibcode
)
- Si plusieurs possibilités existent, elles sont proposées dans une liste déroulante
- La liste simbo est récupérée en utilisant le web service
queryObjectByBib
- Leur nombre est affiché dans la barre d'état
- La liste servira à afficher en vert les noms d'objet déjà présent sur la référence
- Le nom du journal et le numéro de volume sont modifiés dans les zones correspondantes de la barre d'outils
- Les paramètres d'extraction correspondant à ce journal et ce numéro de volume seront donc utilisés
- Si plusieurs configurations (ensembles de paramètres d'extraction) existent pour le journal demandé alors le numéro de volume est utilisé pour décider
- Si le paramètre
urlcommand
est renseigné la commande qu'il contient (wget
) est exécutée pour récupérer le fichier PDF (la sortie standard de la commpande est affiché dans la fenêtre principale)
- Sinon, le paramètre
urldownload
est utilisé pour ouvrir une connection et télécharger le contenu
- La première ligne du contenu est lue pour voir si elle commence par "%PDF-" (début des documents PDF)
- Si oui, le contenu complet est téléchargé par la fonction
load
de la librairie PDFBox qui interprète le document PDF
- Le texte est alors extrait par l'objet
Extract
dérivé de PDFTextStripper
de la librairie PDFBox (diagramme de séquence)
- La détection des noms d'objet peut commencer
- Si non, le contenu complet est téléchargé et enregistré dans un fichier temporaire (/tmp/fromUrl.pdf)
- Le contenu (HTML) du fichier est affiché dans la fenêtre principale (DJIN se comporte alors comme un navigateur)
- A chaque clic de l'utilisateur sur un lien du contenu
- Une nouvelle requête HTTP est lancée en envoyant les cookies demandés et en stockant ceux reçus
- Le nouveau contenu est traité comme un document s'il est au format PDF et affiché sinon
A partir d'un fichier ou d'une URL
Ces possibilités sont accessibles à partir du menu
File.
Diagramme de séquence du traitement
Documents HTML
Diagramme de séquence de l'ouverture d'un document HTML à partir du bibcode
- La validation du bibcode et le choix des paramètres d'extraction sont identiques au chargement de documents PDF
- L'URL de l'article est construite à partir du paramètre
urldownloadhtml
.
- La connection est ouverte avec envoi éventuel de cookies.
- Si le paramètre
htmlfilter
est renseigné, il contient un fichier XSL qui doit être utilisé pour transformer le contenu HTML trouvé
- Le contenu HTML est d'abord transformé en XHTML (HTML respectant le format XML) en utilisant la classe
XHtmlCallback
- Le résultat est transformé pour en extraire le contenu de l'article
- La classe
HtmlCallback
est utilisée pour extraire le texte de ce contenu
- La suite est identique au traitement d'un fichier texte par DJIN
- Détermination des types de position (titre, résumé, mots-clefs, ...)
- Recherche des noms d'objet
- Vérification dans SIMBAD
- Rejet des faux positifs.
Texte
Les documents de type texte peuvent ouvert à partir d'un fichier, d'une URL ou du presse-papier.
Ces trois possibilités sont accessibles à partir du menu
File, commande
Open Text From