Est-ce que quelqu'un a un moyen facile de calculer combien de points sur une page un texte va consommer dans une police et une taille particulière? (facile = lignes minimales de code + informatiquement bon marché). Zend_Pdf ne semble pas avoir une fonction qui fait cela, à part quelques appels très coûteux pour que chaque caractère obtienneGlyphForCharacter(), getUnitsPerEm() et getWidthsForGlyph().Zend_Pdf calculer la longueur de la chaîne de caractères dans la police courante pour l'enroulement de ligne
Je génère un PDF multi-pages avec plusieurs tableaux sur chaque page, et j'ai besoin d'envelopper le texte dans les colonnes. Cela prend déjà quelques secondes pour le créer, et je ne veux pas qu'il prenne trop de temps ou je vais devoir commencer à jouer avec des tâches de fond ou des barres de progression, etc.
La seule solution que j'ai trouvée pré-calcule la largeur (en points) de chaque caractère dans chaque taille de police utilisée, puis les additionne sur chaque chaîne. Encore assez cher.
Ai-je raté quelque chose? Ou avez-vous quelque chose de plus simple?
merci!
Je l'ai aussi utilisé. Fonctionne comme annoncé. – jason
qui a l'air bien. J'ai un vocabulaire fixe d'environ 200 phrases, donc pourrait utiliser le code ci-dessus (légèrement adapté) pour précalculer et mettre en cache les chaînes de mots enveloppés. Le pdf est généré une seule fois (à la première visualisation) et ensuite mis en cache. Cela devrait se traduire par presque aucune pénalité de performance et un formatage beaucoup plus agréable. Merci de votre aide! – Steve