Dans le domaine de la publication, on observe aujourd'hui
une convergence entre les technologies du Web et de l'impression.
Le World Wide Web est un système de publication de documents
fonctionnant sur Internet.
Il permet de consulter, avec un navigateur, des pages accessibles publiquement sur des sites
et reliées entre elles par des hyperliens.
Le Web repose sur deux langages principaux.
D'une part, le HTML, HyperTexte Markup Language,
est un langage de balisage hypertexte constitué de balises
qui indiquent les attributs sémantiques du texte et des éléments.
D'autre part, le CSS, Cascading Style Sheets,
est un langage qui permet la mise en forme graphique de ces éléments.
C'est en CSS que l'on décrit les couleurs, la taille et les polices de caractères du texte
ou encore la disposition des éléments à l'écran.
Ce principe permet d'adapter la composition graphique des pages web
en fonction du périphérique de consultation.
En particulier, en fonction de la largeur de la fenêtre de navigation de l'utilisateur.
Pour cela,
on utilise des requêtes multimédias, des medias queries,
qui spécifient des règles CSS en fonction des conditions d'affichage.
Parmi celles ci, « @media print » est principalement dédié au rendu paginé
en vue d'une impression.
Les règles CSS qui y sont rapportées
s'appliquent lorsque les options d'impression du navigateur sont utilisées.
L'ensemble de ces langages, règles et conventions
sont définis par le W3C, l'organisme de standardisation
chargé du maintien des technologies du web.
Parmi l'ensemble des propriétés CSS,
le W3C a aussi imaginé quelques propriétés dédiées à la mise en page imprimée,
telle que la numérotation de pages, les sauts de pages
ou encore la disposition des éléments en fonction de la page.
Seulement, à ce jour, les navigateurs web n'interprètent pas ces lignes de code.
C'est pour pallier ce manque que Paged.js a été créé.
Paged.js est une bibliothèque JavaScript libre et open source
qui permet d'utiliser les fonctionnalités CSS pour l'impression.
Lorsque le script Paged.js est ajouté au code HTML et CSS,
les règles CSS programmées par les designers graphiques pour l'impression
sont transformées en un code lisible pour le navigateur web.
Le flux de contenu va alors être composé dans des pages au format souhaité.
Paged.js rend possible de concevoir des livres imprimés
avec les technologies du web.