Skip to content

documents-org/imprimante-pdf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Serveur d'impression

Un simple serveur de génération de .PDF entourant Puppeteer https://pptr.dev
Suite à des erreurs avec certaines polices de caractères, nous avons bloqué la version de puppeteer à ^1.12.2 en attente de résolutions upstream.

Par défaut, il tourne sur le port 3468.
Il propose deux options configurables via des variables d'environnement ou un fichier .env.
PRINTSERVER_TOKEN, un token autorisant ou non l'utilisation du service. Optionnel.
PRINTSERVER_PORT, le port sur lequel le service devrait tourner.

Les requêtes acceptent ces options :

Accepts a GET request with the form
http(s?)://service-url?
url={url:base64 string} the URL to render, as a base64 string.
&output={'pdf'|'html'}
&format={format:string} a paper format. Defaults to "A4".
&range={range:range} the page range to print. Defaults to printing only the first page.
&orientation={orientation:string} either "portrait" or "landscape", defaults to being portrait.
&width={width::dimension+unit} dimensions with units. Is overriden by the "format" parameter.
&height={height:dimension+unit} dimensions with units. Is overriden by the "format" parameter.
&background={background:bool-like} bool-like : pass 0 or 1 as a string, defaults to true
&token={token:string?} optional : if you'd like to compare against a PRINTSERVER_TOKEN env var.

Dans le cas où la requête ne suffit pas à assurer la génération d'un PDF, le serveur renvoie 400 Bad Request en text/plain.
En cas de token configuré, et d'absence de token dans la requête, 401 unauthorized en text/plain.
En cas de succès, simplement 201 {pdf} en application/pdf.