Comment imprimer ce qui est dans mon NSTableView? La vue utilise des données de base pour que tout soit stocké et puisse être saisi comme un NSArray. Mais comment pourrais-je l'imprimer? Au moment où vous cliquez sur le bouton d'impression, il semble juste prendre une photo de la vue et l'imprimer.Impression des données dans un NSTableView
Répondre
Oui, cela fonctionne exactement comme documenté. La vue est demandée pour sa représentation PDF (qui, pour une vue de table non modifiée, est exactement ce que vous voyez à l'écran), alors cela s'imprime.
Une vue drawing can be customized pour l'impression par rapport au dessin à l'écran, mais pour une vue de table, cela représente plus de problèmes que de valeur.
Il peut être plus simple de générer une représentation HTML de la table, puis de l'imprimer. Vous pouvez utiliser WebKit ou simplement NSAttributedString et NSTextView hors écran. L'astuce est de générer le code HTML, de créer une chaîne avec les données HTML (il y a une méthode juste pour cela), puis de la donner à la vue texte hors écran. La vue du texte serait de la taille désirée, alors vous lui dites simplement d'imprimer. Cela vous permet de contrôler la pagination, car WebKit ne prend actuellement pas en charge les parties CSS spécifiques à l'impression (en d'autres termes, il s'agit uniquement de «l'écran uniquement»).
Ce que j'ai fait est pris les données et l'a dessiné à un objet basé sur NSView d'une manière que l'utilisateur final voudrait imprimer. L'utilisateur imprime ensuite cela. c'est dans les docs.
J'aime l'idée de Joshua Nozzi, probablement beaucoup plus simple que le dessin personnalisé ...
- 1. Filtrage des données dans un NSPopUpButtonCell dans un NSTableView
- 2. NSTableView pas afficher des données
- 3. Impression des données
- 4. NSTableView demandant des données trop tôt
- 5. Réorganisation des cellules animées dans un NSTableView
- 6. Animer des lignes dans un NSTableView
- 7. Comment lier un NSTableView avec des données 2D au backend?
- 8. Obtention des données d'un NSTableView vers un NSViewController
- 9. Comment utiliser NSArrayController pour remplir des données dans NSTableView
- 10. Impression de données dans erb
- 11. Cocoa: Données de base + NSTableView
- 12. Sources de données et NSTableView
- 13. NSTableView
- 14. index des lignes NSTableView
- 15. Comment afficher une image dans un NSTableView?
- 16. Comment obtenir des données à partir d'un NSTableView?
- 17. Liens dans NSTableView NSCell
- 18. NSTableView impossible de recharger automatiquement les données
- 19. Défilement dans NSTableView
- 20. Copie d'un NSTableView dans un autre (avec des liaisons de données de base)
- 21. NSTableView - Type de source de données NSButtonCell?
- 22. Suppression d'une ligne NSTableView sélectionnée des données de base?
- 23. Extraction de données et impression dans un tableau HTML
- 24. Impossible d'obtenir NSTableView pour afficher les données
- 25. Récupérer des données de la ligne sélectionnée dans NSTableView liée aux données de base
- 26. Supprimer un objet du tableau dans NSTableView
- 27. impression transmet des valeurs
- 28. Impression d'opcodes dans un fichier
- 29. Impression de données de base
- 30. Filtrage du texte dans NSTableView
Approche intéressante, comment pourrais-je générer le code HTML et quelle méthode devrais-je utiliser pour créer une chaîne attribuée avec les données HTML? À votre santé. – Joshua
Comment créer le code HTML? Vous parcourez votre ensemble de données et générez le tableau HTML approprié. En ce qui concerne la façon de créer la chaîne attribuée, les méthodes HTML appropriées se trouvent dans les additions d'AppKit String NSAttributed: http://bit.ly/aHZdZ6 –
Comment cette technique vous permet-elle de contrôler la pagination? Mon page HTML est très bien imprimée, mais je veux imprimer plusieurs pages HTML à la suite, mais chaque page HTML devrait commencer sur une nouvelle page. Lorsque je les ai tous ajoutés au même NSMutableString, puis chargé dans une vue Web, tout ce que j'ai obtenu était une page juste après l'autre. Je voulais que chaque page soit séparée. Il suffit de charger le code HTML dans un NSTextView et l'impression qui fera cela en quelque sorte? –