web-dev-qa-db-fra.com

Comment créer un fichier PDF, y compris les images et le texte, à partir de Python?

Je cherche un moyen de créer une feuille d'étiquettes, sous forme de fichier PDF, à partir d'un programme Python. Chaque étiquette a une ou deux images, et quelques lignes de texte (même police, par exemple Helvetica ou Arial, mais éventuellement de tailles différentes, en utilisant le gras et l'italique). Il s'agit d'étiquettes, il est important que les éléments soient correctement positionnés sur la page. Certaines étiquettes sont des adresses, de sorte que le texte peut varier et avoir des longueurs de ligne et un nombre de lignes différents.

Je voudrais pouvoir dire quand le texte ne tient pas dans l'espace disponible pour lui, afin que le programme puisse essayer quelques stratégies automatiquement (par exemple, changer la police en Arial Narrow, réduire la taille de la police) avant de quitter. Je ne veux certainement pas que le texte déborde ou se termine sans préavis.

J'ai regardé pypdf, mais il ne semble pas pouvoir faire ce dont j'ai besoin (ou peut-être qu'il me manque quelque chose). Cela ne me dérange pas de créer un document dans un format différent à l'aide d'une bibliothèque qui prend en charge les fonctionnalités dont j'ai besoin, tant qu'il peut être converti en PDF par programme. En dernier recours, je peux également utiliser une bibliothèque qui peut créer une image raster, car elle peut être convertie trivialement en PDF, mais je préfère un PDF qui contient du texte natif, pas seulement un bitmap de celui-ci.

17
20
T. Christiansen