comment créer un fichier pdf de test
Comment générer des PDF d'exemple pour vos tests
Le PDF avec lequel vous devez tester n'est presque jamais celui qui traîne sur votre bureau. Celui-là est confidentiel, il n'a pas la bonne longueur, et il n'a aucune des propriétés que vous cherchez à casser.
01
Pourquoi un PDF inventé vaut mieux qu'un vrai
Quiconque construit un logiciel qui touche aux PDF se cogne tôt au même mur : il faut un fichier, et les fichiers sous la main sont des bulletins de paie, des contrats et des rapports clients. En joindre un à un ticket de bug, c'est ainsi que des documents confidentiels finissent pour toujours dans un outil de suivi. En utiliser un comme fixture de test, c'est ainsi qu'ils finissent versionnés dans un dépôt.
L'autre problème, c'est la forme. Les vrais documents ont la longueur qu'ils ont. Vérifier qu'une fusion a préservé l'ordre des pages demande un document dont les pages annoncent leur propre numéro. Vérifier une limite d'envoi demande un fichier juste au-dessus. Vérifier une visionneuse paginée demande 300 pages, et personne n'a un document de 300 pages qui traîne et qu'il accepte de partager.
En générer un règle les deux. Le générateur ici construit le document dans votre navigateur et le remet directement à un téléchargement — rien n'est envoyé, et rien dans le fichier n'aura besoin d'être caviardé plus tard, puisqu'il n'y a jamais rien eu de réel dedans.
02
Les réglages, et à quoi sert chacun
Il y en a huit, et ils correspondent à des tâches de test précises plutôt qu'à de la décoration.
- Titre du document
- Devient trois choses à la fois : les métadonnées de titre du PDF, le titre de la première page et le nom du fichier téléchargé. Utile quand vous générez plusieurs fixtures et devez les distinguer dans un dossier.
- Pages
- De une à 500. Le nombre à sortir quand vous testez la pagination, l'analyse des plages de pages, ou le comportement d'une visionneuse quand un document cesse de tenir confortablement en mémoire.
- Nombre de fichiers
- De un à 20, chacun numéroté et nommé indépendamment. C'est le réglage pour tester tout ce qui consomme plusieurs documents à la fois.
- Contenu des pages
- Neuf mises en page, détaillées plus bas. C'est ce qui décide à quoi la fixture sert réellement.
- Police
- Helvetica, Times ou Courier — les trois polices intégrées à tout lecteur PDF, donc aucune police n'est embarquée et le fichier reste petit et portable. Courier est celle à choisir quand vous testez l'extraction à chasse fixe.
- Format et orientation de page
- A4, US Letter ou Legal, portrait ou paysage. Il vaut la peine de varier : une quantité surprenante de code PDF est écrite pour l'A4 et traite mal le Letter en silence, et le paysage casse des hypothèses de mise en page que le portrait n'expose jamais.
- Taille de fichier approximative
- Zéro pour un petit fichier, ou un chiffre en mégaoctets pour remplir le document jusqu'à en approcher.
- Numéros de page
- Un numéro imprimé sur chaque page, activé par défaut. Laissez-le activé sauf si vous testez précisément un document qui n'en a pas — cela ne coûte rien et c'est la façon la plus rapide de voir que quelque chose a mal tourné.
03
Neuf sortes de pages, et ce que chacune teste
Le réglage de contenu n'est pas cosmétique. Chaque mise en page existe parce qu'une partie différente d'une chaîne de traitement PDF a besoin d'autre chose sur la page.
- Gros numéros de page
- Le réglage par défaut, et c'est le bon. Un chiffre énorme par page fait qu'un coup d'œil au résultat suffit à dire si une fusion, un découpage, une rotation ou un réordonnancement ont fait ce que vous demandiez. Rien d'autre ne rend un bug d'ordre aussi évident.
- Paragraphes de lorem ipsum
- Du texte au kilomètre. Ce qu'il vous faut pour tester l'extraction de texte, l'indexation de recherche, ou la façon dont un convertisseur gère l'enchaînement des paragraphes.
- Titres, paragraphes et puces
- De la prose structurée. C'est la fixture pour PDF vers Word et PDF vers Markdown, parce qu'elle offre une hiérarchie de document que le convertisseur doit déduire.
- Tableaux de données
- Des lignes et des colonnes filetées. L'entrée pour tester PDF vers Excel et PDF vers CSV, où le difficile est de retrouver les limites de cellules à partir de ce qui n'est en réalité que des traits et du texte positionné.
- Factures
- Lignes d'articles, totaux, adresses et numéros de référence. La forme réaliste pour tester l'analyse de documents, l'extraction de champs, ou tout ce qui prétend lire des factures.
- Champs de formulaire
- Cases légendées et filets. À utiliser pour l'aplatissement, le placement de signature, et tout ce qui doit laisser intact le mobilier du formulaire.
- Diagrammes en barres
- Du dessin vectoriel plutôt que du texte. Bon pour tester la rastérisation, la sortie PDF vers image, et les compresseurs qui traitent les dessins autrement que les photographies.
- Un mélange de tout
- Fait tourner les mises en page au fil du document. Ce qui se rapproche le plus d'un vrai rapport, et le meilleur choix unique quand vous voulez une fixture qui emprunte la plupart des chemins.
- Pages blanches
- Délibérément vides. Pour tester la gestion du compte de pages, la détection de page blanche, et ce qui se passe quand l'extraction ne trouve, à juste titre, rien du tout.
04
Viser une taille de fichier exprès
Le réglage de taille approximative est celui pour lequel les gens arrivent ici, généralement parce que quelque chose a refusé un envoi et qu'ils veulent trouver la limite réelle plutôt que croire le message d'erreur. Fixez un chiffre en mégaoctets et le générateur remplit le document de données incompressibles jusqu'à ce que le fichier en approche.
Il est décrit comme approximatif pour une raison honnête. Le PDF est un format compressé, et le nombre d'octets final dépend de la façon dont le contenu et le remplissage se compriment ensemble — le résultat tombe normalement à quelques pour cent, pas sur le chiffre exact. Si vous devez tester une frontière stricte, générez un fichier juste en dessous et un juste au-dessus, et laissez la paire encadrer la limite.
L'autre usage, c'est la performance. Un document de 40 Mo est la façon de découvrir si une visionneuse charge les pages au fil de l'eau ou tente d'ouvrir le fichier entier, et si une barre de progression est réelle ou décorative.
05
Des lots, pour tout ce qui avale plus d'un fichier
Passez le nombre de fichiers au-dessus de un et vous obtenez autant de documents distincts, chacun avec sa propre numérotation et son propre nom, plus un ZIP du lot entier. C'est la façon la plus rapide de produire de la matière pour une fusion : cinq fichiers de cinq pages numérotées chacun, fusionnés, doivent donner 25 pages comptant de un à cinq, cinq fois — et le moindre écart saute aux yeux.
C'est tout aussi utile pour tout ce qui comporte une file : vérifier qu'un envoi multiple les traite tous, qu'un convertisseur par lots ne perd pas le dernier élément, ou qu'un indicateur de progression compte juste.
06
Les mêmes réglages produisent toujours le même document
Le texte de remplissage est assemblé à partir d'une liste de mots fixe plutôt que tiré au hasard : générer deux fois avec des réglages identiques donne un document identique. C'est ce qui rend la sortie utilisable comme fixture versionnée — elle peut être comparée, vérifiée par somme de contrôle et confrontée à une exécution précédente sans que chaque régénération produise des différences fantômes.
Cela veut aussi dire qu'un rapport de bug peut dire « générez cinq pages de contenu numéroté en A4 » et que la personne qui le lit obtient exactement le fichier que vous aviez, ce qui vaut nettement mieux que d'en joindre un.