Jusqu'où un PDF fourni a le droit de se déplier
Posez le plafond de dépliage d'un PDF que vous envoyez : un fichier fabriqué pour engloutir la machine est refusé avant de prendre la place.
En mots de tous les jours
Écrit pour tout le monde. Il dit ce que cela pose sur une feuille de papier, et ne vous demande rien de plus.
Quand vous envoyez un PDF avec — un en-tête sur lequel imprimer, ou une page à poser — ce fichier est compressé, comme l'est un dossier zippé. Un fichier compressé peut être fabriqué pour qu'un tout petit paquet se déplie en quelque chose d'énorme, et un programme qui le déplie sans regarder remplit la machine et s'arrête. Il y a donc un plafond : aucun morceau d'un fichier que vous envoyez n'a le droit de se déplier au-delà. Un fichier qui en demande plus est refusé tout de suite, avant qu'un seul octet de place soit pris. Vous pouvez relever le plafond si vous envoyez sciemment de très grandes pages, ou l'abaisser si vous acceptez des fichiers de gens que vous ne connaissez pas.
Pour un développeur
Écrit pour celui qui écrit le programme appelant : le modèle, les unités, et les réglages qui portent le poids.
Écrit au premier niveau d'une requête, sous
"supplied_pdfs"
supplied_pdfs règle la façon dont les PDF fournis avec la demande sont lus : les gabarits sur lesquels les pages sont posées, et les pages que les articles placent. Sa seule clé est le plafond auquel un flux d'un tel fichier a le droit de se décompresser. Le contrôle a lieu avant que la place soit prise, pas après : un fichier portant un flux qui en demande plus est refusé d'emblée, si bien qu'un petit paquet fabriqué pour se déplier en gigaoctets n'en a jamais l'occasion. Absent, le plafond est celui auquel la bibliothèque lit un fichier.
Chaque clé, avec son défaut
La référence : quelles clés sont obligatoires, lesquelles sont facultatives, ce que vaut chacune par défaut et quelles combinaisons le serveur décline.
-
supplied_pdfs— objet, facultatif. -
supplied_pdfs.expansion_limit— entier, facultatif, un nombre d'octets. Le maximum auquel un flux d'un PDF fourni a le droit de se décompresser. Absent, le plafond de la bibliothèque s'applique.
Portée : chaque PDF que la demande fournit, qu'on le pose dessous ou qu'on le place. Il ne règle rien du document en train d'être écrit, seulement des fichiers en train d'être lus.
Une requête entière qui le dessine
Envoyez ceci tel quel et un PDF revient. Rien n'en a été retiré.
{
"supplied_pdfs": { "expansion_limit": 33554432 },
"standard_fonts": [{ "name": "sans", "face": "helvetica" }],
"items": [
{
"type": "pdf_page",
"pdf": "letterhead",
"page": 1,
"rect": { "llx": 0, "lly": 0, "urx": 595.276, "ury": 841.89 }
},
{
"type": "text",
"rect": { "llx": 72, "lly": 700, "urx": 523, "ury": 740 },
"content": ["Written over the sheet that was supplied"],
"font": "sans",
"font_size": 12
}
]
}
La feuille, et ce qu'on pose dessous
La taille des pages Une taille propre à certaines pages Les zones que la page déclare L'orientation à l'écran et à l'impression Comment une page arrive, et combien de temps elle reste Le papier à en-tête sous les pages
Où aller ensuite
Chaque clé d'une requête, en une page Les trente-deux autres réglages d'une requête
Glossaire
- bibliothèque PDF
- Un logiciel que vos propres programmes utilisent pour écrire des documents PDF. Il n'a ni fenêtre ni bouton : votre programme lui dit quoi dessiner, et il rend le fichier fini. Ce site l'appelle aussi le moteur, c'est la même chose sous un autre nom. Le serveur est un second programme, qui contient le moteur et répond à qui lui demande un document par le réseau ; et le service de rendu, c'est ce serveur quand il tourne sur nos machines plutôt que sur les vôtres.
- octet
- L'unité dans laquelle se compte le poids d'un fichier, comme un colis se compte en grammes. Mille octets font un kilo-octet, un million font un méga-octet — la taille d'une photo prise avec un téléphone. Un PDF d'une page pèse ici entre six mille et cent vingt mille, donc cent PDF tiennent dans la place de cinq photos.