Réduire la taille du fichier

Ce que pèse un PDF se voit lorsqu'il part vers deux mille personnes, qu'il est encore conservé dans des dizaines d'années, ou qu'il s'ouvre sur une liaison téléphonique au fond d'un champ. Un document dépense une large part de lui-même en écritures — où commence chaque page, quelle police va où, quelle zone est cliquable — et chacun de leurs caractères est écrit en clair.

Une fois tassée, cette comptabilité interne tient dans une fraction de la place, et l'économie grandit avec le nombre de pages puisque chaque page y ajoute sa part. Le document ci-dessous rend compte d'un second document de vingt-quatre pages, écrit des deux façons, si bien que les deux poids sont côte à côte et qu'aucun n'est une promesse. Rien ne change sur aucune page : le même document ressort dans les deux cas, seule sa taille diffère.

L'empaquetage et l'affichage de la première page d'abord se demandent l'un après l'autre. Un document empaqueté ne peut pas être écrit en même temps pour montrer sa première page avant l'arrivée du reste, et une demande qui réclame les deux est refusée avant d'écrire le moindre octet.

Ce que montre cet exemple

  • Les mêmes vingt-quatre pages pesées à plat, puis pesées une fois tassées.
  • Pas une marque de différence entre les deux, sur aucune page.
  • Le tassement reste désactivé tant que vous ne le demandez pas, et ne s'active jamais en douce.

Le code source complet

Rien n'est omis et rien n'est simplifié : c'est le programme exactement tel qu'il tourne, pour le développeur qui utilise cette bibliothèque. La troisième est la description elle-même : une simple liste de ce que la page doit dire, et c'est elle qu'on envoie au service.

Voir le code Rust Voir le code Python Voir le code JSON

Le document lui-même

Ouvrir le document en anglais Ouvrir le document en français

Des exemples voisins de celui-ci

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.

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.

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é.

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.

Tous les exemples, par sujet