Les PDF produits

Chaque fichier ci-dessous a été produit par un exemple. Cliquez sur son aperçu pour ouvrir le PDF, ou téléchargez-le ; rien n'est fabriqué à la demande — ce sont les octets exacts que le moteur a écrits.

Retour au catalogue

Une facture commerciale

Une facture commerciale : en-tête, logo, un tableau des lignes facturées, les totaux, et un QR code qui la règle par virement SEPA.

Voir le code en : Rust Python

Première page de Une facture commerciale

Un bon de livraison

Le bon qui voyage avec la marchandise : un code-barres en regard de chaque article, une case que le destinataire coche, et le code propre à l'expédition.

Voir le code en : Rust Python

Première page de Un bon de livraison

Un bulletin de paie

Un bulletin de paie : dix-huit lignes de cotisations avec les parts salariale et patronale, le mois face au cumul annuel.

Voir le code en : Rust Python

Première page de Un bulletin de paie

Un contrat de prestation de deux pages

Un contrat de prestation sur deux pages, terminé par des champs de signature, de nom et de date que le lecteur remplit.

Voir le code en : Rust Python

Première page de Un contrat de prestation de deux pages

Un certificat au format paysage

Un certificat au format paysage dont l'encadrement et le sceau sont dessinés au trait, et non posés en images.

Voir le code en : Rust Python

Première page de Un certificat au format paysage

Une carte d'embarquement

Une carte d'embarquement portant la chaîne IATA BCBP que lit le scanner de la porte.

Voir le code en : Rust Python

Première page de Une carte d'embarquement

Une planche d'étiquettes de rayon

Une planche d'étiquettes de rayon prédécoupées, avec prix et code-barres, et des repères de coupe dans les marges.

Voir le code en : Rust Python

Première page de Une planche d'étiquettes de rayon

Un PDF minimal

Le plus petit fichier complet : une page, et des formes dessinées dessus.

Voir le code en : Rust Python

Première page de Un PDF minimal

Des polices rangées dans le fichier

Du texte écrit avec une police d'écriture rangée à l'intérieur du fichier, réduite aux seules lettres employées.

Voir le code en : Rust Python

Première page de Des polices rangées dans le fichier

Découper un paragraphe et l'aligner

Un paragraphe découpé en lignes, composé de quatre façons : aligné à gauche, à droite, centré, justifié.

Voir le code en : Rust Python

Première page de Découper un paragraphe et l'aligner

Couper un mot trop long

Un mot trop large pour sa colonne : laissé entier, ou coupé au bord.

Voir le code en : Rust Python

Première page de Couper un mot trop long

Traits d'union conditionnels et espaces insécables

Une colonne justifiée composée deux fois : les mots longs coupés à leurs traits d'union conditionnels, trait d'union affiché, ou laissés entiers, et un nombre qu'une espace insécable garde d'un seul tenant.

Voir le code en : Rust Python

Première page de Traits d'union conditionnels et espaces insécables

Points de coupure après une barre oblique ou un trait d'union

Une colonne justifiée composée deux fois : des chemins de fichiers et des mots composés qui débordent du bord faute de points de coupure, puis qui passent à la ligne là où une coupure après une barre oblique ou un trait d'union est autorisée.

Voir le code en : Rust Python

Première page de Points de coupure après une barre oblique ou un trait d'union

Découper ce qu'on dessine

Un champ de rayures vu à travers deux découpes : un disque obtenu par la règle dite non nulle, et un cadre obtenu par la règle pair-impair sur deux rectangles emboîtés.

Voir le code en : Rust Python

Première page de Découper ce qu'on dessine

Gris, couleurs écran et couleurs d'impression

Des pastilles dans chacune des trois façons de dire une couleur — un gris en un seul nombre, une couleur d'écran en trois, une couleur d'impression en quatre encres — chacune légendée par l'instruction réellement écrite dans le fichier, et un même gris moyen dit de trois façons.

Voir le code en : Rust Python

Première page de Gris, couleurs écran et couleurs d'impression

La couleur définie par le document

Les six mêmes couleurs dites en nombres bruts, puis relues à travers le profil sRVB rangé dans le fichier, plus un dégradé du clair au foncé et un balayage de teintes en CIE L*a*b* : de la couleur qui veut encore dire la même chose sur un autre écran et sur une presse.

Voir le code en : Rust Python

Première page de La couleur définie par le document

Des encres sur leur propre plaque

Deux encres que la presse porte sur une plaque à elles, chacune à dix intensités, un travail composé avec les deux, et les croix qui servent à aligner les plaques — tracées dans une encre à laquelle toutes les plaques répondent.

Voir le code en : Rust Python

Première page de Des encres sur leur propre plaque

Plusieurs plaques à la fois, chacune à sa propre intensité

Huit choix de plaques parmi les quatre encres habituelles, chacun avec sous lui le petit programme qui l'affiche, et deux encres propres à la presse employées ensemble, chaque intensité de l'une face à chaque intensité de l'autre.

Voir le code en : Rust Python

Première page de Plusieurs plaques à la fois, chacune à sa propre intensité

Un nuancier, et un dessin qui y désigne des places

Un nuancier de couleurs maison rangé dans le fichier, et un dessin dont les seize nombres désignent des cases de ce nuancier au lieu d'être des couleurs. Le même dessin est montré deux fois à travers deux nuanciers : repeindre toute une charte, c'est changer un tableau, pas chaque dessin.

Voir le code en : Rust Python

Première page de Un nuancier, et un dessin qui y désigne des places

Une seule hachure, posée dans autant de couleurs que la page demande

Un motif qui n'annonce aucune couleur, posé dans cinq couleurs puis à cinq intensités d'une même encre d'imprimerie : c'est le remplissage qui dit dans quelle couleur le poser. À côté, la même hachure faite de motifs qui portent chacun leur couleur, soit un motif par couleur.

Voir le code en : Rust Python

Première page de Une seule hachure, posée dans autant de couleurs que la page demande

Une feuille telle qu'elle part à l'impression

Un même dessin sur trois pages : une feuille d'impression qui dit jusqu'où court l'encre, où passera la lame et ce qui mérite d'être gardé, avec ses repères de coupe ; la même feuille une fois rognée à la page finie ; et une page en largeur, obtenue en déclarant un quart de tour sur une feuille debout.

Voir le code en : Rust Python

Première page de Une feuille telle qu'elle part à l'impression

Une feuille que l'imprimeur lance sans avoir une question à poser

Une feuille plus grande que la page finie : la couleur dépasse de neuf points l'endroit où tombe la lame, les repères de coupe se tiennent en dehors, dans une encre que porte chacune des plaques, toutes les couleurs sont données dans les quatre encres d'imprimerie, et la page nomme le papier, la limite de la couleur et la coupe. Donnez-lui le profil de couleur d'une presse et elle se déclare conforme au PDF/X-4 ; sans lui, elle ne déclare rien du tout, et écrit sur la page pourquoi.

Voir le code en : Rust Python

Première page de Une feuille que l'imprimeur lance sans avoir une question à poser

Un diaporama qui se déroule tout seul

Treize diapositives, chacune annonçant l'effet par lequel elle arrive — les douze que définit la norme —, la durée de cet effet, et le temps que la diapositive reste affichée avant la suivante. Le fichier s'ouvre en plein écran, seul mode où tout cela se voit.

Voir le code en : Rust Python

Première page de Un diaporama qui se déroule tout seul

Une feuille qui mesure ce qu'elle annonce

Trois réglettes — centimètres, pouces et points — sur une page qui annonce qu'elle doit s'imprimer exactement à la taille où elle a été dessinée, et que le logiciel de lecture ne doit rien proposer d'autre. Cette seconde demande n'existe que depuis le PDF 2.0 : le fichier déclare donc 2.0, au lieu de changer de version à votre insu.

Voir le code en : Rust Python

Première page de Une feuille qui mesure ce qu'elle annonce

Un registre dont chaque partie dit d'où elle vient

Deux séances reliées dans un même fichier. Chaque page porte sa propre fiche — ce qu'elle est, de quelle main elle est, de quand elle date — le cliché de la seconde page en porte une aussi, et chaque transcription est rattachée à la page qu'elle transcrit et non au fichier entier. Rattacher un fichier joint à autre chose que le document entier n'existe que depuis le PDF 2.0 : le fichier déclare donc 2.0.

Voir le code en : Rust Python

Première page de Un registre dont chaque partie dit d'où elle vient

Une feuille d'archive qui porte des champs à elle

La référence d'un service d'archives, le service d'origine, la date jusqu'à laquelle le document doit être conservé et sa classification, dans un fichier PDF/A-3. Aucune norme ne sait ce qu'est une date de conservation : chaque champ arrive donc avec sa propre description — son type, à qui il s'adresse, ce qu'il veut dire — et c'est cela qui fait accepter par un logiciel de contrôle des informations que vous avez inventées. La page imprime la même liste, si bien que ce que lit une personne et ce que lit une machine ne peuvent pas diverger.

Voir le code en : Rust Python

Première page de Une feuille d'archive qui porte des champs à elle

Un manuel qui dit comment il veut être lu

Quatre pages qui disent ce qui se passe au moment où l'on ouvre le fichier : sur quelle page il s'ouvre et quelle part de la fenêtre elle occupe, les signets affichés à côté, les pages présentées deux par deux, une fenêtre d'impression déjà remplie, et l'adresse de référence à partir de laquelle ses liens sont compris.

Voir le code en : Rust Python

Première page de Un manuel qui dit comment il veut être lu

Les mêmes nombres, à travers des espaces qui disent ce qu'ils veulent dire

Six couleurs et un dégradé de gris peints trois fois avec exactement les mêmes nombres : d'abord laissés à l'appareil, puis dits de deux façons qui précisent contre quel blanc ils sont mesurés, quelle courbe leur est appliquée et jusqu'où vont les couleurs de base. Tout cela tient en une poignée de nombres, sans aucun profil à ranger dans le fichier.

Voir le code en : Rust Python

Première page de Les mêmes nombres, à travers des espaces qui disent ce qu'ils veulent dire

L'appareil auquel les couleurs d'un fichier sont destinées

L'intention de sortie que porte un fichier, imprimée sur la page qu'elle décrit : le nom des conditions d'impression, leur description et le profil qui les accompagne, avec un dégradé et une pastille par encre, peints à travers ce même profil. Donnez un profil de presse en ligne de commande et la page est dessinée dans les encres de cette presse.

Voir le code en : Rust Python

Première page de L'appareil auquel les couleurs d'un fichier sont destinées

Transparence et modes de fusion

Des aplats à moitié transparents qui se chevauchent et se mélangent, et un carré orange posé sur une barre bleue de quatre façons différentes de mélanger les couleurs.

Voir le code en : Rust Python

Première page de Transparence et modes de fusion

Des dégradés en ligne droite et en cercle

Des dégradés en ligne droite et en cercle, peints dans des boîtes découpées : un dégradé à deux couleurs horizontal et un en diagonale, un dégradé en cercle dont la couleur extérieure est prolongée jusqu'aux coins, et un dégradé à trois couleurs.

Voir le code en : Rust Python

Première page de Des dégradés en ligne droite et en cercle

Textes et formes remplis d'un dégradé

Un dégradé employé comme couleur de remplissage : un titre dont les lettres sont autant de fenêtres sur un dégradé à trois couleurs, et un panneau rempli d'un dégradé en cercle.

Voir le code en : Rust Python

Première page de Textes et formes remplis d'un dégradé

Les fonctions, la forme que suit une couleur

Ce qu'une fonction fait faire à une couleur, dans chacune de ses quatre formes : un spectre lu dans une table de valeurs, un dégradé découpé en bandes par un petit programme de calcul, une encre dont la recette de conversion est un programme imprimé sous ses pastilles, et une table recollée bout à bout entre deux extrémités.

Voir le code en : Rust Python

Première page de Les fonctions, la forme que suit une couleur

Contenu affiché et masqué par calque

Un plan sur quatre calques que le lecteur affiche et masque : le mobilier et les cotes affichés, les notes masquées jusqu'à ce qu'on les demande, et une mention brouillon qui se voit à l'écran mais ne s'imprime jamais.

Voir le code en : Rust Python

Première page de Contenu affiché et masqué par calque

Un dessin, placé autant de fois qu'on veut

Un badge construit une seule fois comme dessin, puis posé huit fois, plus une fois à moitié taille : le fichier ne garde le dessin qu'une seule fois, quel que soit le nombre de poses.

Voir le code en : Rust Python

Première page de Un dessin, placé autant de fois qu'on veut

Un seul motif, répété sur tout ce qu'il remplit

Six panneaux remplis de motifs répétés — barres, points, une inclinaison obtenue sans redessiner le motif, un mur de briques, deux motifs qui se croisent, un écart plus large — et un logo dont les lettres sont autant de fenêtres sur les briques.

Voir le code en : Rust Python

Première page de Un seul motif, répété sur tout ce qu'il remplit

Un rectangle, quatre masques

Le même rectangle uni quatre fois de suite, chacun sous un masque différent — un fondu en dégradé, un assombrissement des bords, des lettres découpées dedans, et une découpe lue sur la transparence — plus un bandeau qui s'efface, avec à l'intérieur une étiquette qui, elle, reste entière.

Voir le code en : Rust Python

Première page de Un rectangle, quatre masques

Du texte coulé en colonnes

Un long passage coulé dans trois colonnes, chacune accueillant les lignes que sa hauteur permet et passant le reste à la suivante.

Voir le code en : Rust Python

Première page de Du texte coulé en colonnes

Retraits et espacement des paragraphes

Les deux mêmes paragraphes de six façons : les retraits, la place autour du paragraphe, sa dernière ligne, sa première ligne.

Voir le code en : Rust Python

Première page de Retraits et espacement des paragraphes

Une table des matières à points de conduite

Une table des matières dont les entrées sont menées à leurs numéros de page par des points que la mise en page trace.

Voir le code en : Rust Python

Première page de Une table des matières à points de conduite

Changer de style au milieu d'un paragraphe

Un paragraphe dont le style change en cours de route : la taille, le soulignement, la couleur.

Voir le code en : Rust Python

Première page de Changer de style au milieu d'un paragraphe

Les tabulations et leurs taquets

Les mêmes lignes tabulées sous chacune des trois méthodes, puis un sommaire dont les points courent jusqu'à un taquet placé à droite. Une tabulation peut avancer d'un pas depuis l'endroit où l'on se trouve, tomber sur la grille régulière d'une machine à écrire, ou viser un taquet précis, sur lequel le texte qui suit commence, se centre, ou s'aligne par sa virgule.

Voir le code en : Rust Python

Première page de Les tabulations et leurs taquets

Des listes faites d'un retrait et d'un taquet

Des listes à puces, numérotées et imbriquées, construites chacune avec un retrait de première ligne vers la gauche et un seul taquet, plutôt qu'avec une machinerie de listes : la puce se loge dans la place que le retrait dégage, et chaque ligne après la première commence là où la tabulation a posé le texte.

Voir le code en : Rust Python

Première page de Des listes faites d'un retrait et d'un taquet

Des tampons ajustés à une boîte

Ce qu'un document dit de lui-même — DRAFT, COPY, PAID — posé en travers de boîtes de quatre formes différentes et mis à la taille de chacune.

Voir le code en : Rust Python

Première page de Des tampons ajustés à une boîte

Des titres réduits et une étiquette pivotée

Des titres de longueurs différentes réduits pour partager une même colonne, et une étiquette pivotée d'un quart de tour le long du dos de la page.

Voir le code en : Rust Python

Première page de Des titres réduits et une étiquette pivotée

Un roman entier, mis en pages

Un roman anglais du domaine public, remis d'un seul tenant, et mis en pages sur cinquante-deux pages numérotées : le moteur choisit lui-même chaque coupure de ligne et chaque changement de page.

Voir le code en : Rust Python

Première page de Un roman entier, mis en pages

Un roman entier en français

La même mise en pages sur un texte français : cent quarante-cinq pages qui emploient l'alphabet accentué, si bien que la police rangée dans le fichier porte tous les dessins qu'un alphabet plus large réclame.

Voir le code en : Rust Python

Première page de Un roman entier en français

Un tableau de facture multi-pages

Un tableau de facture, réparti sur autant de pages que ses lignes l'exigent.

Voir le code en : Rust Python

Première page de Un tableau de facture multi-pages

Marge, bordure, marge intérieure et fond d'une cellule

Ce qu'une cellule fait de sa propre boîte : la marge, la bordure, la marge intérieure, le fond.

Voir le code en : Rust Python

Première page de Marge, bordure, marge intérieure et fond d'une cellule

Bordures et fonds de cellule en couleur

Les quatre côtés d'une cellule en quatre couleurs différentes, et des fonds colorés distingués des bordures colorées.

Voir le code en : Rust Python

Première page de Bordures et fonds de cellule en couleur

Un tableau qui se pagine tout seul

Un long tableau confié d'un bloc, qui décide lui-même de son découpage en pages : son en-tête en haut de chaque page, sa note en bas de chaque page, ses fonds gris définis une seule fois pour tout le tableau, et une mention que l'on trace soi-même sous chaque page, à l'endroit exact que le tableau indique.

Voir le code en : Rust Python

Première page de Un tableau qui se pagine tout seul

Des cellules fusionnées sur la hauteur

Une fiche technique dont les cellules sont fusionnées sur la hauteur : chaque groupe est nommé une seule fois en face de toutes ses lignes, avec une remarque à côté ; les traits de séparation s'arrêtent au bord de ces cellules, et une remarque trop longue pour les lignes qu'elle couvre les fait grandir.

Voir le code en : Rust Python

Première page de Des cellules fusionnées sur la hauteur

Des colonnes mesurées sur leur contenu

La même liste de pièces deux fois : quatre colonnes qui se partagent la largeur à parts égales, puis la référence, la quantité et le prix chacun aussi large que sa propre cellule la plus large, la désignation prenant tout ce qu'ils laissent.

Voir le code en : Rust Python

Première page de Des colonnes mesurées sur leur contenu

Des images dans les cellules d'un tableau

Un catalogue dont la première colonne est une image et non du texte : quatre images de tailles et de proportions très différentes, chacune posée entière et sans déformation dans la cellule que le tableau lui donne, contre un coin différent — sans réclamer ni largeur à sa colonne ni hauteur à sa ligne.

Voir le code en : Rust Python

Première page de Des images dans les cellules d'un tableau

Du texte trop long dans une cellule étroite

Du texte trop long dans une cellule de tableau étroite : laissé déborder de la colonne, ou coupé à sa largeur.

Voir le code en : Rust Python

Première page de Du texte trop long dans une cellule étroite

Des images sur une page

Des images placées sur une page.

Voir le code en : Rust Python

Première page de Des images sur une page

Une image ajustée dans une boîte

Une même image logée de huit façons dans une boîte d'une seule taille : mise à quatre tailles différentes, calée contre un bord, tournée d'un quart de tour puis d'un angle quelconque, et retournée en miroir — chaque panneau dessiné à partir du placement que la règle a calculé.

Voir le code en : Rust Python

Première page de Une image ajustée dans une boîte

Code 128 et codes-barres du commerce

Une page de codes-barres, tracés en barres : Code 128 et la famille du commerce, EAN-13, UPC-A, EAN-8.

Voir le code en : Rust Python

Première page de Code 128 et codes-barres du commerce

QR codes

Une page de QR codes, tracés en carrés.

Voir le code en : Rust Python

Première page de QR codes

Codes Data Matrix

Une page de codes Data Matrix, tracés en carrés.

Voir le code en : Rust Python

Première page de Codes Data Matrix

Codes PDF417

Une page de codes PDF417, tracés en barres empilées.

Voir le code en : Rust Python

Première page de Codes PDF417

Codes Aztec

Une page de codes Aztec, tracés en carrés.

Voir le code en : Rust Python

Première page de Codes Aztec

Liens et marques sur un texte déjà composé

Des liens et des repères accrochés à un texte que le moteur a déjà mis en place : un bandeau derrière une ligne, un soulignement, une cellule encadrée — chaque rectangle repris de ce que la mise en page et le tableau indiquent après coup, aucun mesuré à la main.

Voir le code en : Rust Python

Première page de Liens et marques sur un texte déjà composé

Étiquettes de page personnalisées

Des pages numérotées par leurs étiquettes plutôt que par leur position.

Voir le code en : Rust Python

Première page de Étiquettes de page personnalisées

Un document balisé et accessible

Un document qui dit ce que représente chaque trait d'encre, et lesquels ne sont que de l'habillage. Son texte et son tableau se décrivent eux-mêmes, un paragraphe et une cellule à la fois. Validé PDF/A-3a et PDF/UA-1.

Voir le code en : Rust Python

Première page de Un document balisé et accessible

Une liste balisée dont une colonne est une image

Une liste de pièces dont la première colonne est une image et non un mot. Chaque image est signalée comme telle et porte les mots qu'un lecteur entend à sa place, si bien que rien de la liste n'échappe à qui ne la voit pas. Validé PDF/A-3a et PDF/UA-1.

Voir le code en : Rust Python

Première page de Une liste balisée dont une colonne est une image

Une facture posée sur un papier à en-tête

Une facture posée sur un en-tête fait par quelqu'un d'autre.

Voir le code en : Rust Python

Première page de Une facture posée sur un papier à en-tête

Un dossier monté sur trois feuilles fournies

Un contrat de fourniture posé sur trois fichiers PDF envoyés par le client : une feuille à en-tête sous la première page, une feuille nue sous chaque page du calendrier, et une page de conditions qui entre entière.

Voir le code en : Rust Python

Première page de Un dossier monté sur trois feuilles fournies

Le filigrane d'évaluation

À quoi ressemble une copie sans licence : le filigrane d'évaluation que la bibliothèque appose sur chaque page.

Voir le code en : Rust Python

Première page de Le filigrane d'évaluation

Un formulaire interactif

Un formulaire que le lecteur remplit : champs texte, case à cocher, liste déroulante, boutons radio.

Voir le code en : Rust Python

Première page de Un formulaire interactif

Une facture électronique Factur-X

Une facture électronique : un fichier PDF/A-3 qui porte son propre XML.

Voir le code en : Rust Python

Première page de Une facture électronique Factur-X

Un formulaire PDF/A-3 archivable

Un formulaire qui est aussi un fichier PDF/A-3 : chaque champ est déjà dessiné, avec un cadre visible, sans rien attendre du logiciel de lecture.

Voir le code en : Rust Python

Première page de Un formulaire PDF/A-3 archivable

Le profil ICC embarqué

Le profil ICC que la bibliothèque embarque dans un fichier PDF/A.

Voir le code en : Rust Python

Cet exemple est un profil de couleur, pas une page. Téléchargez-le pour l'examiner.

Rendus du serveur PDF

Les exemples du serveur hébergé seront ajoutés ici une fois qu'ils auront été produits.