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

Langage Perl Discussion :

Marquage de fichier PDF, soucis avec certains fichiers


Sujet :

Langage Perl

  1. #1
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 572
    Points : 2 014
    Points
    2 014
    Par défaut Marquage de fichier PDF, soucis avec certains fichiers
    Bonjour,

    ça fait une éternité que je n'étais plus passé ici mais je reprend du service en Perl depuis peu

    Pour des besoins d'ordre professionnel, je dois marquer à la volée des fichiers PDF.

    Pour ce faire, j'utilise la lib PDF::API2 mais pour certains PDF, la tentative de marquage échoue et j'ai ceci comme message d'erreur :

    erreur sur TOTO.PDF : The PDF file uses a cross-reference stream, which is not yet supported (see Known Issues in the PDF::API2 documentation) at C:/Perl/site/lib/PDF/API2/Basic/PDF/File.pm line 1048.

    Et effectivement, en installant cette lib, j'avais bien vu qu'elle ne gérait pas les flux de références croisées (kézako ?).

    Je tourne sous Perl 5.16 et dans PPM, je n'ai pas vu d'autres libs aptes à me marquer les PDF récalcitrants.

    Je pensais ruser en convertissant mes PDF rebelles en postscript, puis rebasculer du postscript vers du PDF mais j'ai la désagréable impression de devoir développer un missile thermo nucléaire pour éradiquer un moustique mort

    Auriez-vous une piste à me proposer ?

    Au boulot, on me demande un taux de réussite supérieur à 80 %. J'arrive péniblement à 58 % sur les centaines de fichiers PDF représentatifs de ce que mon programme devra marquer par la suite.

    Coucou à Djibril et Jedai s'ils sont toujours dans les parages !

  2. #2
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 498 771
    Points
    498 771
    Par défaut
    Salut Arioch,

    Installe ImageMagick peut-être. Tu pourras en ligne de commande convertir tes PDF en postscript.
    Sinon, tu as l'application gratuite pdfsam-starter qui te permet de manipuler facilement des PDF.

  3. #3
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 572
    Points : 2 014
    Points
    2 014
    Par défaut
    Merci pour tes propositions Djibril mais elles vont m'amener dans une impasse.

    Mon script devra à terme être déployé sur notre réseau interne afin d'être accessible à plusieurs personnes qui ont Perl installé sur leur disque dur.

    Je vais me débrouiller pour déposer les fichiers nécessaires de PDF::API2 avec le script mais ne peux me permettre de demander à notre département informatique de déployer un quelconque logiciel sur leurs postes.

  4. #4
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 498 771
    Points
    498 771
    Par défaut
    ah ok.
    Sinon, tu entends quoi par marquage ?

  5. #5
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 572
    Points : 2 014
    Points
    2 014
    Par défaut
    C'est juste un texte personnalisé que je dois placer en haut à gauche de chaque page de mes PDF.

    J'ai bien une autre astuce mais elle ne me plait guère...

    Comme j'utilise la fonction eval() au moment où je tente de marquer mes fichiers, il m'est très facile de lancer un convertisseur PDF en PostScript si jamais le marquage a échoué.

    J'ai remarqué que le distiller Acrobat d'Adobe, quand configuré pour refaire un PDF au standard 1.5 de la lib PDF, me concocte un fichier PDF qui se marque presque à chaque fois.

    Donc, en générant à la volée des fichiers PostScript, dès qu'il y a un soucis, ça me permet ensuite de gérer les fichiers problématiques via le distiller.

    Mais bon, sur 431 PDF testés en un lot, 249 ne se marquent pas...

  6. #6
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 498 771
    Points
    498 771
    Par défaut
    Hum, ça fait des lustres que je n'ai pas manipulé des PDF en perl.

    Avec PDF::API2

    This module does not work with perl's -l command-line switch.

    PDFs using cross-reference streams instead of cross-reference tables are not yet supported. Cross-reference streams were added as an option in version 1.5 of the PDF spec, but were only used infrequently until Adobe Acrobat 9 started using them by default. A patch would be welcome -- see the PDF 1.7 specification, sections 7.5.4 and 7.5.8 for implementation details.
    CAM::PDF et PDF::Reuse

    Je ne les ai jamais jamais utilisé, à voir aussi.

  7. #7
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 572
    Points : 2 014
    Points
    2 014
    Par défaut
    Je vais zieuter de plus près ces deux modules, merci m'sieur Djibril !

  8. #8
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 572
    Points : 2 014
    Points
    2 014
    Par défaut
    Je viens donner quelques nouvelles.

    C'est pas concluant et j'abandonne le développement du coup.

    Le module PDF::API2 ne sait pas gérer les PDF ayant des "cross-references tables" ou autrement formulé, des tags internes/externes (signets dans le corps du texte grosso modo).

    Les autres modules Perl font plein de choses avec un fichier PDF, mais pas le marquage. Ou alors c'est pas documenté sur le CPAN pour ces modules.

    Je n'ai pas trouvé d'utilitaire suffisamment sympa pour accepter d'être piloté depuis un programme Perl.

    Bref, je sèche.

    -------------------------------------

    Pour la petite histoire, actuellement il y a un programme Perl qui tourne et fonctionne très bien. Il utilise une très vieille version de PDFlib et tourne sur une bécane isolée sous Windows 2000, laquelle bécane va bientôt être remisée au placard pour cause d'obsolescence.

    Ici, il fallait faire d'une pierre deux coups : rendre accessible sur réseau le programme pour tout un chacun.

    Bien évidemment, le premier réflexe que j'ai eu, ce fut de récupérer le module PDFlib.pm et la p'tite dll Windows obligatoire pour la tester sur mon Perl sous Windows 7. Module et dll non compatibles sur ce système.

    Et PDFlib, autrefois sous licence GPL (sauf gourrance), est devenu payant et nécessite l'installation d'un serveur. Comme on ne m'autorisera ni l'un ni l'autre, comme ça c'est réglé.

    Désolé si je ne passe pas ce topic en RÉSOLU hein, parce que ce n'est pas le cas en fait

  9. #9
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 498 771
    Points
    498 771
    Par défaut
    Hum... Dès que j'ai un peu de temps, je ferai d'autres recherches pour toi.

  10. #10
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 572
    Points : 2 014
    Points
    2 014
    Par défaut
    C'est super gentil Djibril

  11. #11
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 572
    Points : 2 014
    Points
    2 014
    Par défaut
    Bon et bien, problème résolu, malheureusement sans passer par Perl

    Nos versions d'Adobe Acrobat permettent de créer des en-têtes dans nos fichiers PDF, avec un traitement par lots.

    Je passe le topic en résolu donc.

  12. #12
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Points : 5 753
    Points
    5 753
    Par défaut
    Si le problème n'est pas résolu en perl, mieux vaut peut-être le laisser ouvert ?
    Plus j'apprends, et plus je mesure mon ignorance (philou67430)
    Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
    Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
    Si c'est utile, say

  13. #13
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 572
    Points : 2 014
    Points
    2 014
    Par défaut
    Ok, j'ai enlevé le tag RÉSOLU.

    Si jamais quelqu'un trouve une astuce ?


  14. #14
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274

Discussions similaires

  1. Lire un fichier PDF (text) avec Matlab
    Par schecter dans le forum MATLAB
    Réponses: 3
    Dernier message: 08/03/2010, 06h33
  2. Souci avec mon fichier *.mpd
    Par StéphanieB. dans le forum PowerAMC
    Réponses: 2
    Dernier message: 17/12/2009, 10h50
  3. Réponses: 6
    Dernier message: 01/10/2009, 14h46
  4. Réponses: 2
    Dernier message: 01/08/2008, 12h56
  5. Réponses: 3
    Dernier message: 05/04/2005, 11h52

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