Re: impression en groupe d'un tas de fichiers HTML

Page principale

Répondre à ce message
Auteur: ML Guilde
Date:  
À: guilde
Sujet: Re: impression en groupe d'un tas de fichiers HTML
On Wednesday 16 April 2003 15:55, Frédéric BOITEUX wrote:

> J'ai trouvé une doc qui m'intéresse, mais qui est formée de différents
> fichiers HTML (avec un index.html qui fait office de table des matières)
> et j'aimerais l'imprimer en entier d'une manière simple (pas X commandes
> ...). Vous avez une idée comment s'y prendre ?


Tu peux utiliser htmldoc pour generer un fichier pdf ou ps.

L'astuce consiste a extraire la liste des fichiers html dans le bon ordre
du fichier index.html. Tu as de la chance, mon collegue a fait ca il y a
quelques temps. Il suffit de reprendre un peu la liste a la main pour
virer ce qui ne sert pas et la copier/coller dans htmldoc.

Hope this helps.

--
Frederic#!/usr/bin/perl -w

if (not scalar @ARGV or $ARGV[0] =~ /^-h|--help/)
{
    print <<STOP;
usage: extractlinks.pl FILE
    where FILE is an html file from which we want to extract the links
STOP
    exit 0;
}


$_ = do { local $/; <> };

%links = ();

while ( m{
            <\s*A\s+HREF=\"
            ([^\#]+?\.html?)    # $1 : the link
            (?:\#.+?)?            # eventual anchor
            \"\s*>
            (.*?)                # $2 : the link's text
            <\s*/A\s*>
        }xsmig )
{
    ($link, $text) = ($1, $2);
    unless (defined $links{$link}) {
        $links{$link} = 1;
        $text =~ tr/\012\015/ /d;    # suppress new line
        $text =~ tr/ //s;    # suppress multiple spaces
        $text =~ s/<\s*([a-z]+)\b.*?>(.+)<\s*\/\1\s*>/$2/ig;    # ommit the html tags
        print "$link : $text\n";
    }
}