8.1 Introduzione

La stampa dei documenti è uno dei meccanismi più complessi nell’informatica.

Storicamente i programmi avevano a che fare con stampanti in grado di stampare soltanto righe di testo (line printer), ovvero sequenze di caratteri. La stampa era sostanzialmente una trasformazione dei file di testo semplici comandi per realizzarne la stampa. Il compito della gestione delle stampanti veniva svolto dal LPD (line Printer Daemon), definito nella RFC 1179 o dal Line Printer della AT&T.

Per la stampa di immagini ogni programma utilizzava un proprio meccanismo di stampa dei propri documenti dipendentemente dal tipo di stampante che esso utilizzava. Cioè per un’applicazione venivano sviluppati appositi software (driver) di stampa, uno per ogni modello di stampante che l’applicazione doveva gestire. Non c’era un’interfaccia di programmazione comune per le stampanti, quindi ogni stampante doveva essere gestita come un dipositivo particolare, poiché aveva i propri meccanismi di stampa che l’applicazione doveva necessariamente conoscere ed utilizzare per poter effettuare la stampa.

Successivamente sono comparsi i PDL (Page Description Languages), dei linguaggi di programmazione in grado di indicare alle stampanti i dettagli per effettuare la stampa. In questo modo non è più necessario che l’applicazione conosca esattamente la stampante sulla quale deve effettuare la stampa, ma è sufficiente che generi un documento scritto nell’opportuno PDL compreso dalla stampante stessa. Quindi, due modelli di stampante che supportano lo stesso PDL risultano compatibili. Tra i PDL più utilizzati ci sono il PostScript di Adobe, il PCL (Print Control Language) di hp, l’ESC/P di Epson ed il GDI (Graphical Device Interface) di Microsoft.

È anche stato definito lo standard POSIX IEEE-1387.4 per la stampa di documenti e l’IPP (Internet Printing Protocol), che hanno permesso un’ulteriore sviluppo del meccanismo di stampa nei sistemi che li utilizzano.