Donnez vie à vos documents numériques !
 

Extraction coordonnées des mots

abracadabraPDF Forums PDF – Général Extraction coordonnées des mots

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #43303
    Jimmy
    Invité

    Bonjour à tous,

    À mon boulot, nous voulons réaliser un petit programme qui propose la chose suivante :

    nous avons reçu des pdf ne contenant qu’une seule page. Donc 1 pdf = 1 page. Partant de ces pdf, chacun d’eux est transformé en une image de 800 * 1045. Nous avons donc 1 image par pdf… les images générées sont toutes de ces dimensions, quelque-soit la taille du pdf.

    Ce que je dois faire, c’est de partir de ces même pdf, de parcourir tous les mots et pour chacun de ces mots, en extraires les quatres coordonnées qui forme le quadrilatère qui l’entoure. Cela doit donc fonctionner pour n’importe quel mot, quelque soit son orientation.

    Le but une fois récupéré ces coordonnées, c’est de les transformer pour qu’elles coincident avec l’emplacement du mot dans l’image. Pour dessiner un highlight donc.

    Jusqu’à présent j’arrive à bien le faire fonctionner sur une partie des pdf. J’ai pour cela créé un plugin dans acrobat qui parcourt les mots de la page, j’utilise un WordFinder (ou quelque chose du genre… me rappelle plus). Pour chacun des mots, j’ai un ou plusieurs quadrilatères (par exemple pour chaque lettre si le mot est ondulé). Chaque quadrilatère est donc formé de 8 nombres, 2 nombres par points (h et v). Tout cela est enregistré dans un fichier ainsi que la crop box, la bounding box et la media box de la page.

    Ces nombres, sont dans le user space coordinates… ce qui me donne des nombres dépassant les millions.

    Si je ne me trompe pas, j’ai bien toutes les données nécessaires… non ?

    Donc à partir de ces données, prenons par exemple le premier mot du pdf. Disons qu’il est constitué d’un seul quadrilatère. J’ai donc 8 nombres. Prenons le premier point, j’ai 2 nombres : h et v.

    h représente la position X, je la transforme de la façon suivante : h / (taille du pdf en X qui est donc (CropBox->right – CropBox->left))…. et la valeur que j’obtiens je la multiplie par 800. Cette formule me semble tout à fait banale et pourtant elle me pose des problèmes.

    Sur une partie des pdf, elle fonctionne superbement bien, le highlight est positionné à la bonne position et de la bonne largeur.

    Sur d’autres, le highlight est décallé… mais je ne comprend pas pourquoi.

    En analysant un peu les données, j’ai remarqué que sur ceux pour lesquelles ça marche, il y a une bounding box plus petite que la cropbox alors que pour les autres non… la boundingbox est identique à la cropbox… et pourtant quand je les regarde avec acrobat, rien ne semble différent, les marges sont les mêmes et tout.

    La différence entre les deux, sur ceux pour lesquelles ça marche ont une cropbox un peu plus grande que la mediabox.

    Bref, si quelqu’un pouvait me dire ce que j’ai oublié de faire… ce serait super.

    Merci à vous tous.

    @+

Affichage de 3 réponses de 1 à 3 (sur un total de 3)
  • Auteur
    Réponses
  • #48036
    Merlin
    Maître des clés

    A priori je dirais qu’il faudrait plutôt baser les coordonnées sur la bounding box, mais tout ceci est bien loin en dehors de mon champs de compétences…

    :scra: :? :scra:

    Juste par curiosité : pourquoi convertir les PDF en fichiers image ???

    :?:

    #48037
    Jimmy
    Invité

    Je ne pense pas qu’il faille se baser sur la bounding box… car pour les fichiers qui ont une bounding box différente de la crop box, le highlight fonctionne bien et pourtant j’utilise la crop box alors que pour les autres, j’utilise aussi la crop box mais ça ne fonctionne pas.

    Est-ce qu’il n’existe pas une conversion User Space -> Screen ?

    #48038
    Merlin
    Maître des clés

    C’est une très bonne question…

    :scra: :scra: :scra:

    😉

Affichage de 3 réponses de 1 à 3 (sur un total de 3)
  • Vous devez être connecté pour répondre à ce sujet.