Comment "Scaler" un texte ?
Mick
Membre
Bonjour,
J'ai une NSAttributedString complexe (basée sur une NSTextTable). J'affiche cette attributedString grâce à une NSTextView. Pas de problème jusque là . Mais j'aimerais pouvoir (pour cause d'impression) resizer l'ensemble pour que "ça tienne" sur une largeur de page d'impression. Et là , je ne sais pas comment faire du tout...
Je précise que mes textView sont ajoutées à une custom view dont la taille est évidemment trop grande pour la page. De ce fait j'ai tenté d'utiliser un NSAffineTransform sans succès : la textView déborde quand même : elle ignore le NSAffineTransform
Quelqu'un a-t-il une expérience en la matière ?...
J'ai une NSAttributedString complexe (basée sur une NSTextTable). J'affiche cette attributedString grâce à une NSTextView. Pas de problème jusque là . Mais j'aimerais pouvoir (pour cause d'impression) resizer l'ensemble pour que "ça tienne" sur une largeur de page d'impression. Et là , je ne sais pas comment faire du tout...
Je précise que mes textView sont ajoutées à une custom view dont la taille est évidemment trop grande pour la page. De ce fait j'ai tenté d'utiliser un NSAffineTransform sans succès : la textView déborde quand même : elle ignore le NSAffineTransform
Quelqu'un a-t-il une expérience en la matière ?...
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Comment mettre cela en oe“uvre techniquement ?
J'ai bidouillé un truc : à la création de l'attributedString, je dimensionne la textTable en fonction de la taille du papier courante dans le printInfo, et j'attribue une taille de font selon le rapport d'échelle (je suis en train de tâtonner en ce moment pour trouver le réglage "optimal").
Mais si un jour j'ai une vue relativement complexe (des dessins, des textView..), comment faire en sorte de "scaler" l'ensemble à la manière d'une NSAffineTransform (xBy:yBy) afin de gérer l'impression sans sortir une usine à gaz ? Pour l'instant, mis à part couper le drawRect en deux et tester si c'est à l'écran ou sur l'imprimante qu'oin veut écrire, et donc écrire deux codes de tracé, je ne vois pas de solution plus "simple".. Ca doit être possible puisque le système le fait lui-même quand on demande "2 pages par feuille" à l'impression !
J'ai toujours lu qu'il était difficile d'imprimer une NSTableView ou même les NSTextViews. Beaucoup de gens redessinent eux-mêmes la table pour cette raison. D'autant plus que ça te donne d'avantage de contrôle sur l'aspect final, et qu'on veut rarement avoir exactement la même représentation à l'écran et sur le papier.
Effectivement ça paraà®t compliqué. C'est quand même étonnatn vu que c'est quand même une tâche relativement courante !
Merci tout de même. Je vais me contenter de ma bidouille dans le drawRect..
Si elle est trop large tu peux la définir via setContainerSize en prenant par exemple la surface imprimable.