Les PDF qu'il a créés
Cliquez sur un aperçu pour ouvrir le PDF, ou téléchargez-le : le fichier que vous obtenez est celui qu'a écrit le moteur, pas un aperçu fabriqué pour cette page.
Documents d'entreprise complets
Une facture commerciale
Une facture dont les lignes et les totaux tombent là où le texte les mène, et dont le QR code permet à un téléphone de payer la somme exacte sur le compte exact sans rien retaper.
Voir le code en : Rust Python JSON
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 JSON
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 JSON
Un contrat de prestation de deux pages
Un contrat de prestation sur deux pages où aucune clause n'est jamais coupée en deux par un changement de page, et qui finit par des cases de signature, de nom et de date remplies à l'écran.
Voir le code en : Rust Python JSON
Un certificat au format paysage
Un certificat dont l'encadrement, le ruban et le sceau sont dessinés au trait plutôt que photographiés : net à toutes les tailles, et pour une fraction du poids.
Voir le code en : Rust Python JSON
Une carte d'embarquement
Une carte d'embarquement qui donne, sous forme de QR code, la seule ligne que lisent les portes d'un aéroport — un caractère à la mauvaise place et elle est refusée.
Voir le code en : Rust Python JSON
Une planche d'étiquettes de rayon
Quinze étiquettes de rayon sur une planche prédécoupée, chacune avec son prix et son code à scanner, et des traits de coupe dans les marges. Six nombres décrivent le papier.
Voir le code en : Rust Python JSON
Un ticket de caisse sur un rouleau de papier
Le ticket qu'une caisse imprime sur un rouleau de 80 mm de large : six articles, la TVA rassemblée par taux, le rendu de monnaie calculé sur le billet donné, et le code-barres que le magasin lit quand le ticket revient.
Voir le code en : Rust Python JSON
Une liste de réserves, chaque défaut marqué sur le plan
La feuille que produit la réception de locaux : le plan du plateau au 1:300 avec neuf défauts marqués là où ils sont, la liste de ces défauts une par ligne, et ce qu'ils représentent. Les marques sont ajoutées au-dessus de la page : le logiciel de lecture les liste, les trie, et les imprime ou les laisse hors du papier.
Voir le code en : Rust Python JSON
Une déposition communiquée en partie
Trois marques mesurées sur les mots mêmes qu'elles couvrent : l'une montre le motif au milieu de son emplacement, l'autre le répète sur toute la longueur d'un emplacement plus large, la troisième couvre sans un mot. Une marque dit ce qui doit partir ; elle ne l'enlève pas.
Voir le code en : Rust Python JSON
Un dossier d'appel d'offres de trois lots
Trois lots, chacun voyageant comme un fichier à part, sous les colonnes que le document lui-même énonce — lot, jour d'envoi, montant —, triés sur le jour, du plus récent au plus ancien. La feuille de garde dispose les mêmes colonnes pour un logiciel de lecture qui ne montre pas de dossier.
Voir le code en : Rust Python JSON
Les notes qu'un programme se laisse
Une épreuve d'imprimerie qui porte le tirage sur le fichier, la plaque sur la page et l'encre sur la gamme de couleurs placée deux fois. Rien n'en est dessiné et aucun logiciel de lecture ne le montre : c'est là pour le programme qui l'a écrit.
Voir le code en : Rust Python JSON
Trois relevés dans un seul fichier
Quatre pages qui contiennent trois relevés de clients. Chacun revendique les pages sur lesquelles il court, indique à qui il s'adresse et combien d'exemplaires sont dus, et contient sa propre pièce jointe.
Voir le code en : Rust Python JSON
Une lettre chacun, dans un seul fichier
Quatre lettres personnelles derrière une page de sommaire. Aucune lettre ne nomme un numéro de page : chaque destinataire prend les pages qui suivent, autant qu'il en faut, et chaque ligne du sommaire mène au destinataire.
Voir le code en : Rust Python JSON
Pages, texte et polices
Un PDF minimal
Deux pages identiques qui portent l'ossature d'une facture en formes simples, et pas un mot de texte : un fichier d'une douzaine de kilooctets, sans aucune police incorporée.
Voir le code en : Rust Python JSON
Montrer la page un sans attendre le reste
Le même document écrit deux fois, de la façon ordinaire et avec sa première page remontée en tête du fichier, avec la part de chacun qui doit arriver avant que la page un apparaisse.
Voir le code en : Rust Python JSON
Réduire la taille du fichier
Le même document écrit deux fois, en clair puis rangé, avec ce que pèse chacun et ce que le rangement a fait gagner.
Voir le code en : Rust Python JSON
Un document qui se lit librement et demande à ne pas être copié
Une page qui s'ouvre sans qu'on tape quoi que ce soit et qui s'imprime comme n'importe quelle autre, et qui demande au logiciel de lecture de laisser son texte où il est. Chaque mot en est brouillé à l'intérieur du fichier.
Voir le code en : Rust Python JSON
Un document qui demande un mot de passe pour s'ouvrir
Une page que rien ne montre tant que son mot de passe n'est pas saisi : pas de première ligne, pas d'aperçu, aucune image d'elle nulle part. Le mot de passe est donné sur la page de l'exemple, pour être essayé.
Voir le code en : Rust Python JSON
Aucune image de ce document ne peut être montrée : aucune page ne s'en affiche tant que son mot de passe n'a pas été tapé. Sa propre page donne le mot de passe.
Les polices embarquées dans le fichier
Du texte composé dans une police écrite dans le fichier, réduite aux seules lettres employées, et que l'on peut toujours chercher, copier et lire à voix haute.
Voir le code en : Rust Python JSON
Des lettres que vous dessinez vous-même
Une coche, une croix et un tiret dessinés par le programme, ajoutés au document comme une police, et posés au milieu de mots ordinaires.
Voir le code en : Rust Python JSON
Une page qui ne transporte aucune police
Quatre polices que tout logiciel de lecture trace de lui-même, composées sur une même page, si bien que le fichier ne contient aucune police — et l'exemple pèse les mêmes lignes des deux façons pour dire ce que cela économise.
Voir le code en : Rust Python JSON
Une page composée dans une police de 1990
Une police du plus ancien format d'Adobe, celle qu'une imprimerie achetait il y a vingt ans et que presque plus rien ne lit, contenue entière dans le fichier. Chaque chiffre que la page énonce à son sujet a été lu dans la police elle-même.
Voir le code en : Rust Python JSON
Une page dont les lettres coûtent un octet chacune
Les trois mêmes lignes écrites deux fois — de la façon ordinaire, puis avec chaque lettre tenue sur un seul octet — et la page dit ce qu'a donné chacune des deux. La façon courte permet en plus de régler l'espace entre les mots d'une ligne, ce que la façon ordinaire ne permet pas.
Voir le code en : Rust Python JSON
Traits en tirets et en pointillé
Tirets et points, la forme des bouts d'un trait, la forme de ses angles : chacun dessiné en un seul trait sous ces réglages. Le relevé du bas est réglé en pointillé, et son total tenu à distance par un trait en tirets.
Voir le code en : Rust Python JSON
Paragraphes, colonnes et typographie
Découper un paragraphe et l'aligner
Un paragraphe découpé en lignes, puis composé de quatre façons : à gauche, à droite, centré, justifié.
Voir le code en : Rust Python JSON
Couper un mot trop long
Un mot plus long que la colonne qui le contient : la bibliothèque le laisse entier, ou le coupe au bord de la colonne.
Voir le code en : Rust Python JSON
Traits d'union conditionnels et 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 JSON
Couper aux barres obliques et aux traits 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 JSON
Un rapport qui se met en page tout seul
Un titre, un filet, deux paragraphes, un intertitre, un tableau de vingt-six lignes et une note, donnés dans l'ordre de lecture et répartis sur deux pages par le moteur.
Voir le code en : Rust Python JSON
Une police derrière la police
Une même ligne d'états composée deux fois : d'abord dans la police de l'entreprise seule, où les caractères dont elle n'a pas le glyphe sortent en cases vides ; puis avec une seconde police derrière elle, qui trace ces caractères.
Voir le code en : Rust Python JSON
Ce qu'une police sait de ses propres lettres
Quatre échantillons composés deux fois chacun, une fois tel quel et une fois avec un seul réglage activé : les lettres liées, les petites capitales, les chiffres qui descendent sous la ligne, et les paires rapprochées.
Voir le code en : Rust Python JSON
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 JSON
Retraits et espacement des paragraphes
Les mêmes deux paragraphes de six façons : tels quels, une première ligne rentrée, une première ligne sortie, l'air au-dessus et au-dessous, un bloc justifié dont la dernière ligne est centrée, et l'endroit où la première et la dernière ligne se posent dans leur rectangle.
Voir le code en : Rust Python JSON
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 JSON
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 JSON
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 JSON
Des listes faites d'un retrait et d'un taquet
Des listes à puces, numérotées et imbriquées, bâties chacune sur un retrait négatif et un taquet de tabulation plutôt que sur un objet de liste dédié : la marque se place dans l'espace que le retrait ouvre, et chaque ligne après la première commence là où la tabulation a posé le texte.
Voir le code en : Rust Python JSON
Cachets ajustés à un rectangle
Ce qu'un document dit de lui-même — DRAFT, COPY, PAID — posé en travers de rectangles de quatre formes différentes et mis à l'échelle de chacun.
Voir le code en : Rust Python JSON
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 JSON
Des badges d'une taille, des noms de toutes longueurs
Huit badges découpés à la même taille, qui portent des noms allant de deux mots courts à un nom à rallonge. La bibliothèque cherche, pour chaque nom, le plus grand corps qui tient dans son rectangle, et ce corps est imprimé en dessous.
Voir le code en : Rust Python JSON
Des mots qui suivent une courbe
Un sceau dont la légende épouse l'anneau et une seconde creusée à son pied pour que ces mots-là se tiennent droits, un titre courbé sur une arche, et la même phrase commencée à trois endroits d'un même chemin droit.
Voir le code en : Rust Python JSON
Un roman entier en anglais
Un roman anglais du domaine public lu en ses douze chapitres et mis en page sur soixante-deux pages numérotées, derrière une table des matières où l'on peut cliquer, chaque chapitre ouvrant sa propre page et le moteur choisissant chaque coupure de ligne.
Voir le code en : Rust Python JSON
Un roman entier en français
La même mise en page sur un texte français : trente-sept chapitres sur cent soixante-neuf pages, avec l'alphabet accentué, si bien que la police gardée dans le fichier contient toutes les formes qu'un alphabet plus large réclame.
Voir le code en : Rust Python JSON
Des prix barrés, une ombre derrière le titre
Une fiche d'étagère à moitié prix : chaque ligne montre l'ancien prix barré d'un trait, à côté du nouveau ; la somme des trois est surmontée d'un trait ; et le titre est écrit une seconde fois derrière lui, décalé et plus pâle, pour rester lisible sur n'importe quel fond.
Voir le code en : Rust Python JSON
Les tableaux
Un tableau de facture multi-pages
Douze lignes de facture tiennent sur une page, trente en occupent deux, la seconde reprenant l'en-tête et la mise en page de la première.
Voir le code en : Rust Python JSON
Marge, bordure, intérieur et fond d'une cellule
Ce qu'une cellule peut faire de son propre rectangle : la marge, la bordure, la place à l'intérieur, le fond.
Voir le code en : Rust Python JSON
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 JSON
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 JSON
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 JSON
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 JSON
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 JSON
Une page et un tampon dans un tableau
Une page de contrôle pour un dossier envoyé par quelqu'un d'autre : chaque ligne montre une de ses pages, prise entière dans le fichier où elle est arrivée, à côté d'un cachet tracé une fois et placé dans chaque ligne qui l'a reçu. Les deux sont ajustés à la cellule que le tableau leur laisse, sans réclamer de largeur à leur colonne ni de hauteur à leur ligne.
Voir le code en : Rust Python JSON
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 JSON
Deux commandes, un cadre, un même bas de page
Une commande de quatre lignes et une de sept, dans des cadres de même hauteur, se terminant toutes deux sur le même bord bas. En dessous, deux notes de longueur inégale dont les lignes sont écartées jusqu'à ce que chacune atteigne le pied de son cadre.
Voir le code en : Rust Python JSON
Un montant qui dit de quels titres il dépend
Les recettes de trente agences, trimestre par trimestre, sur deux pages. Chaque montant de la page contient les en-têtes sous lesquels il se tient : l'agence à côté de lui, le trimestre au-dessus, et l'année au-dessus des quatre trimestres réunis. Lu à voix haute, un montant est annoncé par sa ville, son trimestre et son année avant la somme elle-même.
Voir le code en : Rust Python JSON
Couleur, encres et impression
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 JSON
La couleur définie par le document
Les six mêmes couleurs dites en nombres nus puis lues à travers le profil d'écran que le fichier contient, plus un dégradé du clair au foncé et un balayage de teintes mesurées : de la couleur qui veut encore dire la même chose sur un autre écran et sous une presse.
Voir le code en : Rust Python JSON
Des encres sur leur propre plaque
Deux encres que la presse contient sur une plaque à elles, chacune à dix intensités, un travail composé dans les deux, et les croix de repérage qui servent à aligner les plaques — tracées dans une encre à laquelle chaque plaque répond.
Voir le code en : Rust Python JSON
Plusieurs plaques, chacune à son 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 JSON
Un nuancier que le dessin désigne
Un nuancier de couleurs maison que le fichier contient, et un dessin dont les seize nombres sont des places dans ce nuancier plutôt que des couleurs. Le même dessin est montré deux fois à travers deux nuanciers : repeindre toute une marque, c'est un nuancier, pas chaque dessin.
Voir le code en : Rust Python JSON
Une hachure, posée dans n'importe quelle couleur
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 ont chacun leur couleur, soit un motif par couleur.
Voir le code en : Rust Python JSON
Une feuille telle qu'elle part à l'impression
Un dessin sur trois pages : une feuille de presse qui indique où l'encre court, où la lame tombe et ce qui mérite d'être gardé, avec les traits de coupe ; la même feuille rognée à la page finie ; et une page à l'italienne qui indique un quart de tour horaire sur une feuille à la française.
Voir le code en : Rust Python JSON
Une feuille préparée pour l'imprimeur
Une feuille plus grande que la page finie : la couleur court trois millimètres au-delà de la lame, les traits de coupe se tiennent en dehors dans une encre que chaque plaque contient, chaque couleur est dite dans les quatre encres d'imprimerie, et la page nomme le papier, la limite de l'encre et la coupe. Donnez-lui le profil d'une presse et elle revendique PDF/X-4, et la feuille imprime sur elle-même le profil sur lequel elle repose.
Voir le code en : Rust Python JSON
Les mêmes nombres, dits pour dire quelque chose
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 JSON
L'appareil auquel les couleurs sont destinées
L'appareil pour lequel les couleurs d'un fichier ont été choisies, nommé en toutes lettres sur la page qu'il concerne, avec un dégradé et une pastille par couleur de base peints à travers le profil de cet appareil. La description de votre imprimerie convient tout aussi bien.
Voir le code en : Rust Python JSON
Une règle au lieu de cent couleurs
Quatre façons d'écrire la règle que suit une couleur plutôt que les couleurs elles-mêmes : des couleurs mesurées lues dans un tableau, une plage coupée en bandes unies, une encre d'imprimerie montrée à l'écran, et deux règles mises bout à bout.
Voir le code en : Rust Python JSON
Le profil ICC embarqué
Le profil ICC que la bibliothèque embarque dans un fichier PDF/A.
Cet exemple est un profil de couleur, pas une page. Téléchargez-le pour l'examiner.
Dessin, motifs et transparence
Le rapport du mois, ses graphiques tracés en courbes
Un camembert de l'emploi des heures, une jauge en anneau de l'avancement de l'année, une carte aux coins adoucis, et des arcs à qui l'on dit où aller plutôt que de combien tourner.
Voir le code en : Rust Python JSON
Découper ce qu'on dessine
La même zone de rayures vue par deux fenêtres : un disque plein, et un anneau dont le milieu reste nu.
Voir le code en : Rust Python JSON
Transparence et modes de fusion
Des zones de couleur à moitié transparentes qui se chevauchent, un carré orange mis sur une barre bleue de quatre façons de mélanger les couleurs, et une ligne de lettres qui se chevauchent, peinte de deux façons.
Voir le code en : Rust Python JSON
Dégradés en ligne droite, en cercle, et une couleur lue dans une fonction
Cinq panneaux : un bandeau dont la couleur s'éteint, le même fondu posé en diagonale, une lueur prolongée au-delà de son cercle pour que les coins se remplissent, un dégradé qui passe par une troisième couleur, et un damier dont la couleur se calcule à partir de l'endroit où se tient chaque point, plus rouge vers la droite et plus vert vers le haut.
Voir le code en : Rust Python JSON
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 JSON
Quatre sortes de maillages, une couleur à chaque sommet
Six triangles autour d'un centre qu'ils partagent, leurs arêtes tracées par-dessus la couleur ; un treillis de points dans les quatre encres d'imprimerie ; un carreau dont les quatre côtés sont des courbes ; et le même carreau, dont quatre points intérieurs tirent les couleurs.
Voir le code en : Rust Python JSON
Un seul dessin, et chacun y voit le sien
Le même plan d'étage sur six calques montrés et cachés un par un : les meubles et les cotes montrés, les notes internes cachées jusqu'à ce qu'on les demande, et un filigrane de brouillon destiné à l'écran et non au papier.
Voir le code en : Rust Python JSON
Un plan qui montre ce qui se lit
Un plan de terrain dont les calques décident tout seuls quand paraître. Un nom large se tient au-dessus de la parcelle tant que le plan est regardé en entier, les cotes fines des murs arrivent une fois qu'il est agrandi deux fois, et la phrase sous le plan est là en deux langues, dont le logiciel de lecture montre celle sur laquelle il est réglé.
Voir le code en : Rust Python JSON
Un dessin, placé autant de fois qu'on veut
Un badge construit comme un dessin et placé huit fois, plus une fois à mi-taille : le fichier contient le dessin une seule fois, quel que soit le nombre de placements.
Voir le code en : Rust Python JSON
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 nom en grandes lettres composé dans les briques.
Voir le code en : Rust Python JSON
Une couleur, vue à travers quatre pochoirs
Le même bloc de couleur quatre fois, vu chaque fois à travers son propre pochoir : un fondu pour une photo sous un titre, des bords assombris pour retenir l'œil, des lettres découpées dedans, et un pochoir pris sur une forme déjà dessinée.
Voir le code en : Rust Python JSON
Les images
Des images sur une page
Une photo qui entre exactement comme elle est sortie de l'appareil, et une image à parties transparentes qui les garde, chacune sur une page taillée à sa mesure.
Voir le code en : Rust Python JSON
Une galerie de formats d'image
Les quatre formats d'image lus — JPEG, PNG, BMP et TIFF — montrés sur toutes les images livrées avec la bibliothèque, chacune légendée par ce que déclare son propre fichier.
Voir le code en : Rust Python JSON
Toutes les images qu'un scanner met dans un seul fichier
Un fichier de trois feuilles et un fichier d'une seule photographie, chaque image sur une page taillée à sa mesure ; la photographie entre telle que l'appareil l'a écrite, puisqu'un logiciel de lecture sait déjà lire une photographie.
Voir le code en : Rust Python JSON
Une image ajustée à un rectangle
Une même image ajustée de huit façons dans un rectangle d'une seule taille : trois façons de la dimensionner, la même posée dans le coin en haut à gauche avec un retrait de 12 points, un quart de tour à gauche, un quart de tour à droite, une rotation de 20 degrés, et un miroir de gauche à droite — chaque panneau traçant l'image à l'endroit et à la taille que la bibliothèque a calculés.
Voir le code en : Rust Python JSON
Codes-barres et codes 2D
Code 128 et codes-barres du commerce
Des rayures pour les deux usages qui en veulent : le Code 128 pour n'importe quel texte, et les trois que lit une caisse — EAN-13, UPC-A, EAN-8 — chacun avec son dernier chiffre calculé plutôt que tapé.
Voir le code en : Rust Python JSON
QR codes
Le code qu'une facture, une carte d'embarquement ou une étiquette finit par réclamer, dessiné dans le document plutôt que récupéré en image sur un site et collé dedans.
Voir le code en : Rust Python JSON
Codes Data Matrix
Le code dont l'industrie marque les petites pièces : encore lisible à des tailles où un code QR a renoncé, sur une carte électronique ou un flacon dans un plateau de laboratoire.
Voir le code en : Rust Python JSON
Codes PDF417
Le code des pièces d'identité et des papiers d'expédition : il contient bien plus de texte qu'une rangée de barres, et il survit à un scanner laser qu'on traîne dessus.
Voir le code en : Rust Python JSON
Codes Aztec
Le code des billets de train et d'avion, et la raison, c'est la place : il n'a pas besoin de bande blanche autour de lui, et c'est la première chose qu'on rogne quand une mise en page devient serrée.
Voir le code en : Rust Python JSON
Formulaires, tampons et superpositions
Une facture posée sur un modèle à en-tête
Une facture posée sur un papier à en-tête fourni sous forme de fichier PDF.
Voir le code en : Rust Python JSON
Un contrat reçu, complété sans déplacer un octet
Un contrat de maintenance envoyé par quelqu'un d'autre, avec un emplacement de signature, une date et une ligne à soi posés sur sa dernière page et une annexe ajoutée après elle, chaque octet du contrat laissé à sa place.
Voir le code en : Rust Python JSON
Un contrat bâti sur trois modèles fournis
Un contrat d'approvisionnement posé sur trois modèles envoyés par le client : une page à en-tête sous la première page, une page nue sous chaque page de l'annexe, et une page de conditions qui entre entière.
Voir le code en : Rust Python JSON
Le filigrane d'une copie d'essai
Ce que vous obtenez avant de payer quoi que ce soit : un filigrane en travers de chaque page, et sous lui les mêmes pages, mises en page exactement comme une copie payante les met en page. C'est aussi le document qui dit ce qu'une clé de licence change, et pourquoi chaque chiffre de ce site est mesuré avec une clé.
Voir le code en : Rust Python JSON
Un formulaire interactif
Un formulaire que le lecteur remplit : champs texte, case à cocher, liste déroulante, boutons radio.
Voir le code en : Rust Python JSON
Un document signé avec un certificat de démonstration
Une page qui porte une signature numérique, rompue par le moindre changement du fichier, faite avec un certificat qui n'existe que pour la démonstration. Chaque commande qui a servi à faire la clé et la signature est imprimée sur la page, avec celle qui la vérifie sans cette bibliothèque.
Un formulaire PDF/A-3 archivable
Un formulaire qui est aussi un fichier PDF/A-3 : chaque champ déjà tracé, avec un cadre visible, n'attendant rien du logiciel de lecture.
Voir le code en : Rust Python JSON
Archivage, accessibilité et métadonnées
Une feuille qui mesure ce qu'elle annonce
Trois règles — centimètres, pouces et points — sur une page qui dit à ce qui l'imprime de la sortir exactement à la taille où elle a été dessinée, et de ne rien proposer d'autre. Posez un mètre ruban sur la feuille imprimée et vous pourrez vérifier vous-même.
Voir le code en : Rust Python JSON
Un registre dont chaque page dit d'où elle vient
Deux séances reliées en un seul fichier. Chaque page a son propre relevé — ce qu'elle est, de quelle main elle a été écrite, le jour où elle l'a été — la photographie de la deuxième page en a un aussi, et chaque transcription est rattachée à la page qu'elle transcrit plutôt qu'au fichier entier.
Voir le code en : Rust Python JSON
Un fichier qui explique ses entrées
La référence d'un service d'archives, le département dont le document vient, la date jusqu'à laquelle il doit être gardé et sa classification, portés dans un fichier qu'une archive accepte encore. Aucune règle d'archivage ne sait ce qu'est une date de conservation, donc chaque entrée porte une description d'elle-même, et c'est cette description qui fait accepter à un contrôleur un fait que vous seul avez inventé.
Voir le code en : Rust Python JSON
Un bon de livraison qui connaît sa commande
Chaque ligne du bon contient la commande pour laquelle elle a été prélevée, le code article et l'étagère d'où elle vient, et n'imprime rien de tout cela. L'endroit où le chauffeur signe contient la tournée et la camionnette, et un autre, à côté du repère de pliage, ne contient rien que son propre emplacement.
Voir le code en : Rust Python JSON
Un document qui se lit à voix haute
Deux pages qui contiennent une copie d'elles-mêmes que personne ne voit : voici un titre, voici un tableau, et voici dans quel ordre les lire. Le logiciel qui lit le document à voix haute suit cette copie plutôt que l'ordre où les traits ont été dessinés, et saute le titre courant. Sur la page, rien ne change à l'œil.
Voir le code en : Rust Python JSON
Une liste dont les images parlent aussi
Une liste de pièces dont la première colonne est une image plutôt qu'un mot. Chaque image donne la phrase qu'on entend à sa place, si bien que rien de cette liste n'échappe à qui ne la voit pas. Sur la page, les images restent de simples images.
Voir le code en : Rust Python JSON
Factur-X : la facture électronique
La facture électronique que la loi française impose depuis septembre 2026 : un seul fichier, une page qu'une personne lit et la même facture à l'intérieur en XML. Plus rien à rapprocher ensuite, puisqu'il n'y a jamais qu'une seule facture.
Voir le code en : Rust Python JSON
Une facture qui demande avant de revendiquer
La bibliothèque lit la facture telle qu'elle est et nomme, clause par clause, tout ce qui la sépare de Factur-X. Deux choses font obstacle, puis une, puis plus aucune — et c'est seulement alors qu'un fichier est écrit.
Voir le code en : Rust Python JSON