IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Parser un fichier Pdf


Sujet :

C++

  1. #1
    Membre régulier

    Profil pro
    Inscrit en
    Avril 2009
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 69
    Points : 78
    Points
    78
    Par défaut Parser un fichier Pdf
    Bonjour à tous,


    Je tente depuis quelques jours à "parser" un fichier pdf.... Certains fichiers sont correctement lu, par contre, je bloque sur ce type de fichier, qui une fois dézippé donne cela... :

    BT
    24.5 803.3 Td /F1 8 Tf[<01>10<02>-10<03>13<04>-4<05>-19<0607>13<05>-6<0608>-6<09>13<0A>2<02>2<0B>-6<05>-6<060C>-2<0702>2<0D>2<0E>-6<060A>2<05>]TJ
    ET
    Q
    q 0 0 0 rg
    BT
    173 803.3 Td /F1 8 Tf[<03>13<05>-6<0F0704>8<05>-6<0702>-10<06100611>2<12>-6<0F03>13<02>2<05>-6<04>-4<0613141516>]TJ
    ET
    Q
    q 0 0 0 rg

    J'ai beau parcourir la doc d'adobe, rien n'est clairement expliqué... Quelqu'un pourrait il éclairer ma lumière? Merci!!!
    Odyssea Media Center, logiciel de Media Center Gratuit

  2. #2
    Membre émérite
    Avatar de white_tentacle
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    1 505
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 505
    Points : 2 799
    Points
    2 799
    Par défaut
    Qu’est-ce que tu cherches exactement à faire ?

    Parser du pdf « à la mimine » est rarement une bonne idée. Disons que faire un interpréteur complet pour pdf (même s’il ne fait pas de rendu) réclame quand même une bonne connaissance en programmation d’analyseurs syntaxiques et grammaticaux, et représente un développement assez conséquent, souvent peu justifiable. La plupart des gens recourent donc à des bibliothèques qui le font pour eux. En gratuit, il y a poppler, mais qui est GPL, donc inutilisable commercialement, et iText, dont la licence change en fonction de la version (à partir de la 5, la version libre n’est plus utilisable commercialement). En payant, il y a pas mal de choix.

    La norme du langage est trouvable chez adobe (plutôt que chez iso, où elle est payante) : https://wwwimages2.adobe.com/content...erence_1-7.pdf

  3. #3
    Membre régulier

    Profil pro
    Inscrit en
    Avril 2009
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 69
    Points : 78
    Points
    78
    Par défaut
    Merci, en fait, j'ai dégoté un petit parser qui me lisait la plupart des fichiers simples ( fichiers de texte, sans dessin, sans rien) et je bloquais sur deux type de fichier.... Je jette un oeil sur tout ça et je te dis quoi!!!


    Merci!
    Odyssea Media Center, logiciel de Media Center Gratuit

  4. #4
    Membre régulier

    Profil pro
    Inscrit en
    Avril 2009
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 69
    Points : 78
    Points
    78
    Par défaut
    Je suis un peu ( voire beaucoup perdu)

    Il s'agit d'un fichier pdf en version 1.4.

    Le texte est simpliste :
    abcdefghijklmnopqrstuvwxyz
    ABCDEFGHIJKLMNOPQRSTUVWXYZ
    0123456789
    9876543210

    et me donne le résultat suivant un fois dézippé :

    0.1 w
    q 0 0.1 595.2 841.8 re
    W* n
    q 0 0 0 rg
    BT
    56.8 774.1 Td /F1 12 Tf[<01>1<0203>1<04>-7<05>1<06070809>2<0A>-5<0B0C>2<0D>2<0E0F10111213>-2<14>2<151617>-2<18>-7<19>17<1A>]TJ
    ET
    Q
    q 0 0 0 rg
    BT
    56.8 760.3 Td /F1 12 Tf[<1B>-2<1C1D1E>-2<1F>2<20>6<21>-2<22>-2<2324>6<25>-2<26>2<27>-2<28>-2<29>5<2A>-1<2B>-2<2C2D>-1<2E>2<2F>-2<30>-2<31>10<32>-2<33>-2<34>]TJ
    ET
    Q
    q 0 0 0 rg
    BT
    56.8 746.5 Td /F1 12 Tf<35363738393A3B3C3D3E>Tj
    ET
    Q
    q 0 0 0 rg
    BT
    56.8 732.7 Td /F1 12 Tf<3E3D3C3B3A3938373635>Tj
    ET
    Q
    Q

    Je ne comprends rien, ni à la logique ni au cheminement à adopter....
    Odyssea Media Center, logiciel de Media Center Gratuit

  5. #5
    Membre régulier

    Profil pro
    Inscrit en
    Avril 2009
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 69
    Points : 78
    Points
    78
    Par défaut
    Après recherche, je pense avoir découvert la marche à suivre pour 'décoder' le fichier.

    Dans le fichier Pdf, il y a une section :
    endcodespacerange
    62 beginbfchar
    <01> <0061>
    <02> <0062>
    <03> <0063>
    <04> <0064>
    <05> <0065>
    <06> <0066>
    <07> <0067>
    <08> <0068>
    <09> <0069>
    <0A> <006A>
    <0B> <006B>
    <0C> <006C>
    <0D> <006D>
    <0E> <006E>
    <0F> <006F>

    La colonne de droite représente un caractère utilisé marqué d'un numéro avec sa correspondance en hexadécimale(qui en ascii correspond au caractère). Il ne me reste plus qu'à effectuer les correspondances nécessaire!!
    Odyssea Media Center, logiciel de Media Center Gratuit

  6. #6
    Membre chevronné Avatar de Ehonn
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    788
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 788
    Points : 2 160
    Points
    2 160
    Par défaut
    Citation Envoyé par white_tentacle Voir le message
    mais qui est GPL, donc inutilisable commercialement
    C'est un peu raccourci. Rien n'empêche de vendre un logiciel GPL, lui-même, ses améliorations ou son support. On peut aussi garder le logiciel en interne et le transformer en service web (la licence AGPL imposera des conditions sur le web service (il devra lui aussi être en AGPL) mais pas la GPL).
    Cependant, il est vrai que j'entends assez souvent : « beaucoup d'entreprises fuient la GPL et même la LGPL » mais je n'ai pas d'exemples personnels.

  7. #7
    Candidat au Club
    Homme Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2016
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2016
    Messages : 13
    Points : 3
    Points
    3
    Par défaut Retour sur le Parser
    Bonjour Sotoaleono,
    Ce post date un peu mais je tente le coup !!!
    Te serai-t-il possible de nous en dire plus sur le Parser que tu utilises, en effet je cherche également pouvoir "analyser" un pdf afin de retrouver un code régulier.
    Merci de ton retour
    Bonne journée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [C#] Authentification sur les fichiers Pdf
    Par ensisoft dans le forum ASP.NET
    Réponses: 14
    Dernier message: 04/05/2004, 12h10
  2. parser un fichier avec xerces
    Par traiangueul dans le forum XML/XSL et SOAP
    Réponses: 9
    Dernier message: 02/02/2004, 18h14
  3. parser un fichier html
    Par noarno dans le forum ASP
    Réponses: 2
    Dernier message: 10/12/2003, 17h53
  4. Streaming fichier PDF
    Par rgarnier dans le forum XMLRAD
    Réponses: 4
    Dernier message: 22/05/2003, 22h14
  5. [XMLRAD] Fichier PDF
    Par Sylvain Leray dans le forum XMLRAD
    Réponses: 2
    Dernier message: 09/01/2003, 10h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo