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 :

convertir un fichier html et jpeg


Sujet :

Modules Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Septembre 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 16
    Par défaut convertir un fichier html et jpeg
    Bonjour.

    J'essais de convertir un fichier html et jpeg ou gif avec perl sur un serveur Linux. J'utilise use Image::Magick;. J'ai aussi installé html2ps

    et le code:

    my $image = new Image::Magick;
    my $titre ="testhtm";
    $image->Read($titre);
    $image->Write(filename=>"test.jpg");

    Le résultat n'est pas bon. Ça donne test-0.jpg, test-1.jpg, test-2.jpg
    l'image est séparée en trois...

    Svp, si quelqu'un connaît la bonne syntaxe...

  2. #2
    Membre chevronné Avatar de iblis
    Inscrit en
    Janvier 2007
    Messages
    510
    Détails du profil
    Informations personnelles :
    Âge : 58

    Informations forums :
    Inscription : Janvier 2007
    Messages : 510
    Par défaut
    Bonsoir. Personnellement, j'utilise la syntaxe suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my $status = $magick->Write( "jpg:$filename.jpg" )
    Voilà un bout d'un script maison (conversion jpg, tiff etc vers pdf) avec la syntaxe complète :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    my $magick = new Image::Magick( format => 'pdf' );
    my $status;
    $status = $magick->Read( @files ); 
    croak "Read failed: $status\n"
        if $status;
    $status = $magick->Write( "pdf:$code.pdf" ) 
    croak "Write failed: $status\n"
     if $status;
    Mon seul problème avec ImageMagick est qu'il utilise trop de ressources cpu (en fait, 100 % ). Sur un serveur (script CGI), c'est pas terrible. Si quelqu'un a une idée de paramétrage, je suis preneur.

    Edit:

    PS1 J'ai mal lu ou tu veux convertir un fichier html en jpeg ? Tu veux dire convertir les gif de la page en jpeg, non ?

    PS2 Tu aurais dû poster dans le sous forum Module.

  3. #3
    Membre averti
    Inscrit en
    Septembre 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 16
    Par défaut convertir un fichier html en jpeg
    Merci iblis.

    Je vais essayer ton code.

    Pour répondre à ta question, c'est que le fichier .html devenu .jpeg est envoyé via SMTP sans être obligé de faire un attachement. Donc à l'ouverture du courriel le fichier .jpeg apparaît sans avoir à ouvrir un fichier attaché. J'ai essayé avec html et pdf mais sans succès. le fichier arrive toujours en attachement.

    $msg = MIME::Lite->new(
    From =>'from@123.ca',
    To =>'lalandem@ca.ibm.com',
    Subject =>'Test image',
    Type =>'image/jpeg',
    Encoding =>'base64',
    Path 'fichier.jpg'
    );

    $msg->send;

    Merci.

  4. #4
    Membre averti
    Inscrit en
    Septembre 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 16
    Par défaut
    Iblis,

    Pour un pdf c'est absolument parfait.

    Mais pour un .jpg:

    my $magick = new Image::Magick( format => 'jpg' );
    my $status;
    $status = $magick->Read("test.htm");
    $status = $magick->Write( "jpg:test.jpg" ) ;

    Ça donne trois fichiers séparés...
    test-0.jpg
    test-1.jpg
    test-2.jpg

    Aurais-tu une idée svp pour le jpg (ou un format d'image quelconque...) ?


    Merci

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 120
    Par défaut
    Bonjour
    jai besoin de réaliser des screenshots dynamiques

    je récupère le contenu html avec file_get_contents("www.un-site.com");
    et je veux convertir le code html retourné en jpg
    est ce que ça marchera avec Image::Magick
    pourriez vous m'aider?


    Merci d'avance

  6. #6
    Membre chevronné Avatar de iblis
    Inscrit en
    Janvier 2007
    Messages
    510
    Détails du profil
    Informations personnelles :
    Âge : 58

    Informations forums :
    Inscription : Janvier 2007
    Messages : 510
    Par défaut
    Bonjour,

    tu aurais dû ouvrir un nouveau fil, quitte à mettre celui-ci en lien.

    Ce que tu veux faire est loin d'être simple. Cela suppose:
    • de rendre le html (ce que fait un browser) : c'est le plus dur
    • de convertir le rendu en jpeg, png etc (screenshot).

    Cette démarche-là est à mon avis quasi-impossible à réaliser en Perl. En tous cas je ne connais pas de module sur le CPAN qui permette de rendre une page html et de l'exporter au format image.

    Idée de solution :
    • Utilise html2ps puis convertis le .ps en .jpeg ou .png avec Image::Magick. Mais tu risques d'avoir un cadre blanc autour.


    Au fait, as-tu essayé, au moins en ligne de commande ? Je crois bien que si tu as html2ps d'installé Image Magick gère la conversion html vers jpeg.

Discussions similaires

  1. [Débutant] Convertir des fichier HTML en image (jpeg,png et gif) avec une progress bar
    Par hsoussi dans le forum Développement Windows
    Réponses: 4
    Dernier message: 07/04/2014, 12h35
  2. Convertir un fichier HTML en fichier CHM en ligne de commande
    Par koKoTis dans le forum Autres Logiciels
    Réponses: 8
    Dernier message: 18/11/2006, 13h39
  3. [JCOM][RTF]Convertir un fichier HTML en RTF
    Par pistache42 dans le forum Documents
    Réponses: 3
    Dernier message: 28/04/2006, 17h28
  4. convertir un fichier bmp en jpeg (sous visual)
    Par mateo.14 dans le forum MFC
    Réponses: 2
    Dernier message: 24/03/2005, 13h22

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