[inizio] [indice generale] [precedente] [successivo] [indice analitico] [contributi]


141. HTML2ps

HTML2ps è un programma in grado di comporre uno o più file HTML, generando un risultato in PostScript. Questo si ottiene attraverso l'aiuto di altri programmi che devono essere installati, come per esempio TeX.

Teoricamente, HTML2ps è in grado di ricomporre assieme un documento suddiviso su più file HTML, ma questa possibilità dipende molto dall'organizzazione di questi file, all'interno dei quali, i riferimenti ipertestuali devono essere molto semplici. In generale, è possibile l'acquisizione diretta dalla rete; tuttavia, sarebbe consigliabile prima la riproduzione locale, con l'ausilio di Wget ( 203.6), attraverso il quale si possono modificare automaticamente i riferimenti ipertestuali, rendendo omogeneo il tutto.

HTML2ps si compone semplicemente dell'eseguibile `html2ps' (un programma scritto in Perl) e di uno o più file di configurazione. È indispensabile almeno il file di configurazione generale, `/etc/html2psrc', che dovrebbe essere già predisposto in modo sufficientemente buono dal sistema di installazione. Eventualmente, gli utenti possono preparare una configurazione personalizzata nel file `~/.html2psrc' e altri file specifici da richiamare con l'opzione `-f', oltre all'aggiunta di stili ulteriori (opzione `-s').

141.1 Configurazione di HTML2ps

Come accennato, la configurazione di HTML2ps è indispensabile. Di solito si predispone almeno il file di configurazione generale, `/etc/html2psrc', mentre gli utenti hanno la possibilità di modificare o aggiungere qualcosa attraverso il file `~/.html2psrc'. La sintassi per la scrittura di questi file è la stessa dei fogli di stile CSS (capitolo 140), con l'aggiunta di un selettore specifico, `@html2ps', che serve a indicare gli aspetti particolari che riguardano HTML2ps e non possono appartenere ai fogli di stile CSS.

Bisogna tenere presente che HTML2ps è in grado di riconoscere solo una parte limitata delle dichiarazioni CSS.

HTML2ps riconosce anche i commenti CSS e le inclusioni di file di configurazione aggiuntivi, secondo la forma:

@include <file>

Per cominciare, è opportuno vedere un esempio abbastanza semplice di ciò che potrebbe contenere un file di configurazione, quando questo viene generato automaticamente dalla procedura di installazione.

/* Configurazione globale per html2ps */

@html2ps {
  package {
    ImageMagick: 1;
    PerlMagick: 1;
    TeX: 1;
    Ghostscript: 1;
    check: weblint;
    libwww-perl: 1;
    path: "/usr/X11R6/bin:/usr/bin";
  }
  paper {
    type: A4;
  }
  option {
    hyphenate: 0;
  }
}

Si può osservare che in questo esempio è stata dichiarata solo la regola corrispondente al selettore `@html2ps', all'interno della quale si trovano altre sottoregole. Generalmente, le regole tipiche di uno stile CSS si aggiungono sotto. La configurazione predefinita dello stile CSS è indicata nella pagina di manuale html2psrc(5) e da questa si intende quali siano le possibilità effettive di HTML2ps nel riconoscere le dichiarazioni CSS:

BODY {
    font-family: Times;
    font-size: 11pt;
    text-align: left;
    background: white;
}

H1, H2, H3, H4, H5, H6 {
    font-weight: bold;
    margin-top: 0.8em;
    margin-bottom: 0.5em;
}

H1 { font-size: 19pt }
H2 { font-size: 17pt }
H3 { font-size: 15pt }
H4 { font-size: 13pt }
H5 { font-size: 12pt }
H6 { font-size: 11pt }

P, OL, UL, DL, BLOCKQUOTE, PRE {
    margin-top: 1em;
    margin-bottom: 1em;
}

P {
    line-height: 1.2em;
    text-indent: 0;
}

OL, UL, DD { margin-left: 2em }

TT, KBD, PRE { font-family: Courier }

PRE { font-size: 9pt }

BLOCKQUOTE {
    margin-left: 1em;
    margin-right: 1em;
}

ADDRESS {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}

TABLE {
    margin-top: 1.3em;
    margin-bottom: 1em;
}

DEL { text-decoration: line-through }

A:link, HR { color: black }

141.1.1 Configurazione della regola corrispondente al selettore speciale @html2ps

La regola corrispondente al selettore `@html2ps' si compone di dichiarazioni e di altre sottoregole per la configurazione di HTML2ps. Nelle sezioni seguenti vengono descritti i selettori specifici di queste sottoregole.

Alcune proprietà hanno un significato booleano. A loro si assegna il valore zero per indicare Falso e il valore uno per indicare Vero.

I valori che fanno riferimento a un'unità di misura, vanno indicati come avviene nei fogli di stile CSS: il numero seguito immediatamente dall'unità di misura. La tabella 141.1 elenca le unità di misura e le sigle corrispondenti che si possono utilizzare in questa circostanza. È importante osservare che l'unica dimensione relativa riconosciuta da HTML2ps è Em e non sono previste misure percentuali come invece si può fare secondo le specifiche di W3C per i fogli di stile CSS.

Sigla Unità di misura
cm Centimetri.
mm Millimetri.
pt Punti tipografici.
pc Pica.
em Em, corrispondente alla dimensione del carattere.

Tabella 141.1: Unità di misura secondo HTML2ps.

141.1.1.1 Sottoregola package

La sottoregola `package' serve a definire la disponibilità o meno di altri programmi di cui HTML2ps potrebbe avere bisogno. Di conseguenza si tratta di assegnamenti di valori booleani, dove zero rappresenta l'assenza del programma in questione e in generale è anche il valore predefinito.

141.1.1.2 Sottoregola paper

La sottoregola `paper' serve a definire le caratteristiche della carta. In generale si tratta solo delle dimensioni.

141.1.1.3 Sottoregola option

La sottoregola `option' serve a definire l'utilizzo di alcune opzioni, a cui si può accedere anche attraverso la riga di comando. Vengono descritte prima le dichiarazioni da indicare nel file di configurazione e poi le opzioni corrispondenti della riga di comando.

141.1.1.4 Sottoregola margin

La sottoregola `margin' permette di definire esplicitamente i margini della pagina.

141.1.1.5 Sottoregola xref

La sottoregola `xref' permette di definire esplicitamente il modo in cui vengono indicati i riferimenti nel testo, quando questa funzionalità è stata abilitata.

141.1.1.6 Sottoregola quote

La sottoregola `quote' permette di definire esplicitamente l'uso delle virgolette più appropriate in base al linguaggio. Queste virgolette vengono inserite nel testo in corrispondenza degli elementi `Q'. In generale, i valori predefiniti per la lingua italiana sono già corretti. Viene mostrato solo un esempio per comprendere intuitivamente come si potrebbe adoperare questa sottoregola:

quote {
  it {
    open: "«";
    close: "»";
    open2: "``";
    close2: "''";
  }
}

Si intende dall'esempio che sono disponibili solo due livelli di virgolette.

141.1.1.7 Sottoregola toc

La sottoregola `toc' permette di definire alcune caratteristiche relative all'indice generale, quando la sua realizzazione è stata richiesta espressamente. In particolare si può utilizzare la proprietà `level' alla quale si assegna un numero, che sta a indicare i livelli da prendere in considerazione. Il valore predefinito è sei, che produce una voce per ogni tipo di titolo `Hn' (da `H1' a `H6').

141.1.1.8 Sottoregola hyphenation

La sottoregola `hyphenation' permette di definire la collocazione del file TeX contenente i modelli per la separazione in sillabe. La cosa si fa distinguendo tra diversi linguaggi. L'esempio seguente dovrebbe essere sufficiente a intendere intuitivamente la cosa:

hyphenation {
  it {
    file: "/usr/lib/texmf/tex/generic/hyphen/ithyph1.tex";
  }
  en {
    file: "/usr/lib/texmf/tex/generic/hyphen/ushyph1.tex";
  }
}

141.1.1.9 Sottoregole header e footer

Le sottoregole `header' e `footer' permettono di definire l'intestazione e il fondo pagina, dove di solito si collocano alcune informazioni ricorrenti assieme al numero della pagina. Le proprietà di queste sottoregole sono praticamente le stesse; qui vengono elencate solo alcune di queste proprietà nella tabella 141.3. La tabella 141.2 elenca alcuni simboli che possono essere utilizzati per definire i modelli di queste intestazioni e fondo pagina.

Simbolo Corrispondenza
$T Titolo del documento.
$A Autore, come specificato in `<META NAME="Author" CONTENT="...">'.
$U L'URI del documento.
$N Numero di pagina.
$H Titolo attuale (`H1'...`H3').
$D Data e orario attuale.
\$ Dollaro.

Tabella 141.2: Simboli utilizzabili nelle intestazioni e nei fondo pagina.

proprietà Contenuto
left Intestazione allineata a sinistra.
center Intestazione al centro.
right Intestazione allineata a destra.
odd-left Intestazione delle pagine dispari allineata a sinistra.
odd-center Intestazione delle pagine dispari al centro.
odd-right Intestazione delle pagine dispari allineata a destra.
even-left Intestazione delle pagine pari allineata a sinistra.
even-center Intestazione delle pagine pari al centro.
even-right Intestazione delle pagine pari allineata a destra.
font-family Tipo di carattere da usare (predefinito Helvetica).
font-size Dimensione del carattere (predefinito 8 punti).
font-style Forma del carattere (predefinita la forma normale).
font-weight Spessore del carattere (predefinito lo spessore normale).

Tabella 141.3: Alcune proprietà utilizzabili nell'intestazione e nel fondo delle pagine.

141.1.2 Configurazione in cascata

La configurazione di HTML2ps segue la logica dei fogli di stile CSS, anche per ciò che riguarda la sua definizione in cascata. In generale: il file `/etc/html2psrc' contiene le indicazioni essenziali; il file `~/.html2psrc' contiene la configurazione personalizzata; l'opzione `-f' consente di aggiungere altra configurazione specifica; l'opzione `-S' consente di aggiungere una stringa ulteriore allo stile.

Quando si utilizza l'opzione `-f', se si vuole evitare di eliminare la configurazione standard dei file `/etc/html2psrc' e `~/.html2psrc', si deve iniziare con i due punti (`:'), come si vede nell'esempio seguente:

html2ps -f :locale manuale.html > manuale.ps

Si possono anche sommare assieme più configurazioni o stili CSS locali, come si vede nell'esempio seguente, dove si utilizzano i file `locale', `A4' e `numerato':

html2ps -f :locale:A4:numerato manuale.html > manuale.ps

L'opzione `-S' serve solo per aggiungere una regola al volo, indicandola direttamente nella riga di comando, come si vede nell'esempio seguente:

html2ps -f :locale -S "H1 { color: blue }" manuale.html > manuale.ps

141.2 Avvio di HTML2ps

HTML2ps si utilizza attraverso l'eseguibile `html2ps', con la sintassi seguente:

html2ps <opzioni> [<file-html>]

Il file da convertire può essere indicato nella riga di comando, e in tal caso può trattarsi anche di un URI, oppure può essere fornito attraverso lo standard input.

Quasi tutte le opzioni di questo programma sono richiamabili anche tramite una proprietà corrispondente nella sottoregola `option', come è già stato descritto. Qui vengono riepilogate le opzioni più importanti nella tabella tabella 141.4. In particolare, si può osservare che si può indicare il nome del file da generare attraverso l'opzione `-o', oppure `--output', altrimenti il risultato della conversione viene emesso attraverso lo standard output.

Opzione Descrizione
-2, --twoup Due colonne verticali.
-D, --DSC Genera un file PostScript DSC (standard).
-e, --encoding Stabilisce la codifica originale.
-H, --hyphenate Abilita la separazione in sillabe.
-L, --landscape Orientamento orizzontale.
-n, --number Aggiunge i numeri alle pagine.
-o, --output Specifica il file PostScript da generare.
-R, --xref Mostra gli URI dei riferimenti ipertestuali.
-s, --scaledoc Cambia la scala del documento.
-W, --web Definisce come gestire più file HTML assieme.
-f, --rcfile Specifica i file di configurazione aggiuntivi o alternativi.
-S, --style Specifica una regola aggiuntiva al volo.

Tabella 141.4: Riepilogo delle opzioni più comuni.

Esempi

html2ps -o documento.ps documento.html

Converte il file `documento.html' nel file `documento.ps'.

html2ps -2 -o documento.ps documento.html

Converte il file `documento.html' nel file `documento.ps', che risulterà organizzato in due colonne verticali.

html2ps -R -o documento.ps documento.html

Converte il file `documento.html' nel file `documento.ps', che conterrà dei riferimenti incrociati visibili.

html2ps -2 -s 0.5 -o documento.ps documento.html

Converte il file `documento.html' nel file `documento.ps', che risulterà organizzato in due colonne verticali, con la dimensione del carattere ridotta alla metà.

html2ps -W b -o XFree86.ps XFree86-Video-Timings-HOWTO.html

Converte i file HTML che iniziano da `XFree86-Video-Timings-HOWTO.html' in un solo file PostScript, denominato `XFree86.ps'. In particolare viene richiesto di seguire solo i riferimenti ipertestuali rivolti alla stessa directory di partenza.

141.3 Particolarità nell'HTML

HTML2ps interpreta alcuni «comandi» speciali all'interno del file HTML. Si tratta di:

141.4 Programma frontale per semplificare l'utilizzo di HTML2ps

Assieme a HTML2ps si dovrebbe trovare un programma aggiuntivo che facilita il suo utilizzo attraverso un pannello grafico. Si tratta dell'eseguibile `xhtml2ps', che si vede in particolare nella figura 141.1. Il suo utilizzo dovrebbe essere intuitivo, dal momento che si rifà alle opzioni delle riga di comando.

119.jpg

Figura 141.1: Programma frontale per il controllo di HTML2ps.

La figura mostra una versione imperfetta, in cui i bottoni non sono allineati con le descrizioni. Probabilmente questo problema sarà corretto nelle prossime versioni.

141.5 Riferimenti

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

Appunti Linux 2000.04.12 --- Copyright © 1997-2000 Daniele Giacomini --  daniele @ pluto.linux.it


[inizio] [indice generale] [precedente] [successivo] [indice analitico] [contributi]