J'écris un logiciel qui prend un document Microsoft Word, remplace des variables à l'intérieur, puis imprime le document final sur une carte d'identité. Le document a un espace limité et doit tenir sur une seule page, mais doit inclure la photo de la personne, ainsi que les noms et prénoms, qui peuvent être assez longs.
Le document est placé à l'intérieur d'un tableau, de sorte que les éléments communs restent au même endroit (par exemple, le code à barres est toujours au bas, mais lorsque je mets un nom ou un nom très long, le texte enveloppe le tout et le place sur deux pages, ce qui Je ne veux pas
Il existe une option pour adapter le texte à la table, mais cela modifie la largeur de la police (pas la taille de la police ), de sorte que les noms longs ont l'air écrasés horizontalement, et si l'utilisateur a un nom court (comme Leo), le nom complet est espacé. à travers la page (donc L est à gauche, E au milieu et O à droite)
(La boîte bleue indique l'emplacement du logo, la boîte verte, la photo)
Existe-t-il un moyen d’intégrer le texte dans le tableau sans le "justifier", ni en le faisant rétrécir horizontalement?
EDIT: Je serais heureux d’arrêter la justification et de laisser la police écrasée.
EDIT 2: J’ai essayé à peu près tout, sauf d’utiliser une sorte de macro qui mesure le texte et le réduit (trop complexe, ne vaut pas la peine pour seulement six des 1000 cartes que je dois produire). Mon compromis éventuel (pas de réponse, je suis toujours à la recherche d'un!) Consistait à régler la hauteur de la ligne pour qu'elle soit exacte (pas "au moins"). Ainsi, lorsqu'un nouveau texte est entré, il est tronqué. Étant donné que nous avons la photo et l'identifiant de l'utilisateur (par exemple, Leo Superlongfirstnametnam ne pense pas que l'identifiant de l'utilisateur serait quelque chose comme SUPELEO1), cela suffit pour un identifiant positif.
Pour être complet, j'ai essayé d'aligner le texte en utilisant à la fois les paragraphes et les cellules, en créant un autre tableau dans la cellule (je pouvais donc en définir une comme "largeur automatique" avec "ajustement du texte" activé, l'autre en largeur fixe, sans ajustement). La largeur automatique ne fonctionne pas avec un tableau à l'intérieur d'une cellule. Je suis donc à court d'idées!
la source