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

Modules Perl Discussion :

PDF::API2 cross-reference stream


Sujet :

Modules Perl

  1. #1
    Membre habitué Avatar de PadawanInPerl
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2009
    Messages : 462
    Points : 186
    Points
    186
    Par défaut PDF::API2 cross-reference stream
    Bonjour,

    j'ai un souci avec le module PDF::API2 lors d'un lancement de mon script en ligne de commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    perl op.pl -modele "a.pdf" -copie "b.pdf"
    j'ai ce message :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    The PDF file uses a cross-reference stream, which is not yet supported (see Know
    n Issues in the PDF::API2 documentation) at C:/Perl/site/lib/PDF/API2/Basic/PDF/
    File.pm line 1136.
    Mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    #!/usr/local/bin/perl
     
    use strict;
    use PDF::API2;
    use Getopt::Long;
     
    my ($modele, $copie) = ();
     
    GetOptions ("modele=s" => \$modele,
                "copie=s" => \$copie
    						)
                or die("Error in command line arguments\n");
     
    my $pdf = PDF::API2->new();
    my $p_modele = PDF::API2->open($modele);
    my $p_copie = PDF::API2->open($copie);
    my $count = $p_copie->pages();
    $count = $count+1;
    my $i;
     
    my $page = $pdf->importpage($p_modele);
     
    for($i = 1; $i < $count; $i++){
      $page = $pdf->importpage($p_copie, $i);
      }
     
    $pdf->saveas('new.pdf');
    A savoir que sur un autre poste, cela marche.

    Pourriez-vous m'aider ?
    Windows 7, 64 bit
    Perl 5.12, ActivePerl
    Python 3.2, ActivePython ( NOVICE ! )

  2. #2
    Membre habitué Avatar de PadawanInPerl
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2009
    Messages : 462
    Points : 186
    Points
    186
    Par défaut
    J'ai trouvé ça :

    Ce module ne fonctionne pas avec Perl-l de ligne de commande.

    PDF à l'aide des flux au lieu de tables de références croisées de références croisées ne sont pas encore pris en charge. Flux de références croisées ont été ajoutées en option dans la version 1.5 de la spécification PDF, mais n'ont été que rarement utilisés jusqu'à Adobe Acrobat 9 commencé à les utiliser par défaut. Un patch serait le bienvenu - voir la spécification PDF 1.7, les sections 7.5.4 et 7.5.8 pour les détails de mise en œuvre
    original :
    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.

    Mais je dois avouer que je ne comprend pas exactement le problème
    Windows 7, 64 bit
    Perl 5.12, ActivePerl
    Python 3.2, ActivePython ( NOVICE ! )

  3. #3
    Membre habitué Avatar de PadawanInPerl
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2009
    Messages : 462
    Points : 186
    Points
    186
    Par défaut
    Apparement c'est la version des pdf qui cloche !

    il faudrait downgrader les pdf en version 1.4.

    Pour moi, il serait utile de et par programme, passer du pdf au postscript puis de repasser en pdf 1.4.

    du postscript au pdf 1.4 c'est ok mais...

    Comment passer du pdf au postscript ??
    Windows 7, 64 bit
    Perl 5.12, ActivePerl
    Python 3.2, ActivePython ( NOVICE ! )

  4. #4
    Membre habitué Avatar de PadawanInPerl
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2009
    Messages : 462
    Points : 186
    Points
    186
    Par défaut
    ok pas besoin de faire toute les manip... il est possible de forcer la compatibilité directement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gswin32c.exe  -sOutputFile=a.pdf -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dNOPAUSE -dBATCH b.pdf
    Windows 7, 64 bit
    Perl 5.12, ActivePerl
    Python 3.2, ActivePython ( NOVICE ! )

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

Discussions similaires

  1. Module PDF::API2 (probleme inserer image)
    Par LFC dans le forum Modules
    Réponses: 1
    Dernier message: 11/02/2012, 11h25
  2. Cross-reference MIPS-SwissProt et SwissProt-SCOP
    Par sirus dans le forum Bioinformatique
    Réponses: 0
    Dernier message: 09/09/2010, 00h09
  3. Xml cross reference Serialisation
    Par timon_78 dans le forum C#
    Réponses: 0
    Dernier message: 20/08/2010, 15h48
  4. Génération de PDF et renvoi "en stream" vers le client sans mise en cache
    Par nicoboud2 dans le forum Développement Web en Java
    Réponses: 2
    Dernier message: 18/06/2010, 08h13
  5. cross reference siemens
    Par soninkara dans le forum Automation
    Réponses: 5
    Dernier message: 05/05/2008, 14h54

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