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.
Des documents entiers — factures, bons de livraison, bulletins de paie, contrats — et un petit exemple pour chaque capacité dont ils sont faits, chacun créant un vrai PDF.
Chaque exemple vient avec son code, écrit deux fois : le même document une fois en Rust et une fois en Python. La plupart ont aussi un troisième bouton : le même document en JSON, la forme envoyée au service.
À quoi sert chaque famille Voir les PDF créés par hqf-pdf Voir pourquoi les fichiers sont deux fois plus légers la plupart du temps, souvent bien davantage, et jusqu'à douze fois plus légers
Les documents qu'une entreprise envoie tous les jours, produits par le logiciel qui détient déjà les chiffres. À quoi sert cette famille
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.
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.
Un bulletin de paie : dix-huit lignes de cotisations avec les parts salariale et patronale, le mois face au cumul annuel.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Chacune des familles ci-dessous prend une chose qu'une page peut contenir et la montre à part. Elles sont là pour que le développeur qui utilise cette bibliothèque voie exactement comment chacune se fait.
La page elle-même, les mots dessus, et la police — contenue dans le fichier pour que la page ait la même allure partout. À quoi sert cette famille
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.
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.
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.
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.
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é.
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.
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.
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.
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.
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.
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.
Vous fournissez le texte ; la bibliothèque trouve où finit chaque ligne, où s'arrête chaque colonne et où se coupe chaque page. À quoi sert cette famille
Un paragraphe découpé en lignes, puis composé de quatre façons : à gauche, à droite, centré, justifié.
Un mot plus long que la colonne qui le contient : la bibliothèque le laisse entier, ou le coupe au bord de la colonne.
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.
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.
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.
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.
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.
Un long passage coulé dans trois colonnes, chacune accueillant les lignes que sa hauteur permet et passant le reste à la suivante.
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.
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.
Un paragraphe dont le style change en cours de route : la taille, le soulignement, la couleur.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Des tableaux qui ajustent leurs colonnes au contenu, se coupent d'une page à l'autre et retracent leur ligne de titres sur chaque nouvelle page. À quoi sert cette famille
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.
Ce qu'une cellule peut faire de son propre rectangle : la marge, la bordure, la place à l'intérieur, le fond.
Les quatre côtés d'une cellule en quatre couleurs différentes, et des fonds colorés distingués des bordures colorées.
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.
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.
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.
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.
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.
Du texte trop long dans une cellule de tableau étroite : laissé déborder de la colonne, ou coupé à sa largeur.
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.
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.
La couleur que vous demandez est celle qui part à la presse, et l'imprimerie prend le fichier tel quel. À quoi sert cette famille
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Le profil ICC que la bibliothèque embarque dans un fichier PDF/A.
Traits, formes, dégradés et transparence tracés comme des instructions dans le fichier, et non comme des pixels — nets à toute taille, et d'un poids presque nul. À quoi sert cette famille
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.
La même zone de rayures vue par deux fenêtres : un disque plein, et un anneau dont le milieu reste nu.
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.
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.
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.
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.
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.
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é.
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.
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.
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.
Des photographies placées à la taille et à l'endroit que vous choisissez, à partir des fichiers d'image que produisent déjà un appareil photo ou un scanner. À quoi sert cette famille
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.
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.
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.
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.
Les codes que lisent une caisse, une douchette d'entrepôt, une porte d'embarquement ou un téléphone, imprimés directement sur le document. À quoi sert cette famille
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é.
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.
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.
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.
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.
Des cases que la personne qui reçoit le formulaire remplit à l'écran, et votre texte écrit par-dessus un modèle de page : un fichier PDF que quelqu'un d'autre a déjà créé. À quoi sert cette famille
Une facture posée sur un papier à en-tête fourni sous forme de fichier PDF.
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.
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.
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é.
Un formulaire que le lecteur remplit : champs texte, case à cocher, liste déroulante, boutons radio.
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 qui est aussi un fichier PDF/A-3 : chaque champ déjà tracé, avec un cadre visible, n'attendant rien du logiciel de lecture.
Des documents qui s'ouvriront encore dans des dizaines d'années, qu'un lecteur d'écran lit à voix haute, et qu'un système comptable enregistre sans ressaisie. À quoi sert cette famille
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.
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.
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é.
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.
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.
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.
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.
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.