2009-11-11 2 views
2

Je dois ajouter des fonctionnalités d'impression à une application et j'ai cherché des informations sur l'impression. Tailles logiques/physiques, ppp, mise à l'échelle des polices, etc., beaucoup à digérer puisque je n'ai jamais programmé l'impression dans une application auparavant.Primer d'impression Delphi

Y a-t-il des sites qui offriraient un aperçu sur les sujets des tailles de page, des marges et de tous les autres éléments requis pour comprendre l'impression sous Windows? J'ai regardé autour pendant un moment mais ce que je trouve est énigmatique ou ans vieux ...

J'ai joué avec TPrinter, mais je voudrais construire des fonctionnalités d'impression solides et comprendre ce que je suis Faire mieux.

L'utilisation d'une solution de rapport n'est pas une option, même si je suis sûr que cela donnerait de meilleurs résultats beaucoup plus tôt.

+0

Alors qu'est-ce que c'est ans? Cela ne doit pas être mauvais. Je ne pense pas qu'il y ait eu des changements majeurs dans le monde des imprimantes et imprimantes depuis des années. Vous pouvez imprimer sur la toile comme si vous dessiniez sur la toile. Qu'est-ce que tu veux exactement accomplir? – Wodzu

+0

@Wodzu: L'impression sur une toile d'imprimante comme sur n'importe quelle autre est la manière paresseuse de le faire. Beaucoup mieux à mon humble avis pour définir un mode de cartographie (comme «MM_LOMETRIC» ou «MM_HIMETRIC») afin de ne pas avoir à faire face à différentes résolutions d'imprimante. Malheureusement, il n'y a pas de support pour cela dans la VCL, donc des appels directs à l'API Windows sont nécessaires. – mghie

+0

@mghie mais il dessine comme s'il dessinait sur n'importe quelle autre toile à la différence que metrcis a changé. J'ai voulu dire des méthodes qui tirent réellement du dessin. – Wodzu

Répondre

5

Deux liens pour vous aider à démarrer:

Printing with TPrinter
Printing via the TPrinter Canvas

+0

J'ai réussi à trouver toutes les informations dont j'avais besoin, merci de poster ces liens. J'ai pris le temps de noter le fait que je ne pouvais pas utiliser les solutions de reporting dans ma question initiale. Cela est dû aux contraintes logicielles, aux contraintes budgétaires, aux exigences et à l'évaluation de plusieurs solutions de reporting ... Réinventer la roue peut prendre du temps au cœur de votre projet. Mais si c'est bien fait, cette roue s'adaptera parfaitement là où elle est supposée s'adapter ... –

0

La version de Delphi est important en utilisant vous êtes. Un certain nombre de Delphis est venu avec des moteurs d'impression comme ReportSmith (pouah). Une autre option pensée latéralement est d'utiliser MS Word comme moteur d'impression. J'ai accroché dans les instances de Word & Excel avant & utilisé leur fonctionnalité. En ce qui concerne l'impression brute en utilisant TPrinter ou la méthode d'impression de TForm, vous devez être assez désespéré. Il me semble me souvenir que les livres de Pacheo/Texeira Delphi viennent avec un assez bon aperçu, donc vous voudrez peut-être voir si vous pouvez en trouver une copie quelque part.

+3

Vous ne pouvez pas vous attendre à ce que tout le monde ait MS Word installé, donc ce n'est pas vraiment une solution. – jpfollenius

+1

Si vous écrivez un logiciel de film rétractable, vous avez raison, mais si vous écrivez en interne pour un environnement contrôlé où Word fait partie du SOE, vous pouvez compter sur Word. A défaut de pouvoir compter sur le fait d'écrire et de faire tout en RTF - Été là, fait cela, a obtenu le T-shirt, ne veut pas le faire à nouveau BTW. Nous avons besoin de plus d'informations avant de pouvoir répondre définitivement. – mcottle

+0

@mcottle Je sais que c'est grossier mais je me demandais si je pouvais vous contacter à propos d'un article de Delphi que vous avez écrit sur l'échange de pile SE. –

1

Je pense que vous regardez trop bas. Essayez les outils de génération de rapports (Rave ou tout ce qui se trouve dans votre produit). Personnellement, j'utilise un produit appelé Report Builder de Digital Metaphors.

Mais si vous voulez faire le lot de trucs lowlevel bonne information peut être trouvé à efg's computer lab - printing

1

Eh bien, je l'ai fait des choses diverses façons dans le passé, y compris la « dure » avec TPrinter. En fait, j'ai récemment dû recommencer à faire fonctionner une imprimante d'étiquettes d'inventaire spéciale. D'autre part, il est parfois préférable de prendre le travail que d'autres ont fait et de l'utiliser pour votre bénéfice. Je suis d'accord que ReportSmith n'est pas génial, et c'est aussi spécifique à Delphi (et Windows). L'utilisation d'Excel ou de Word a ces limitations, en plus du fait que l'utilisateur doit les installer. Une chose que j'ai faite pour rendre l'impression facile pour certaines applications simples est juste de générer un fichier HTML et d'appeler le navigateur Web de l'utilisateur, puis ils peuvent l'imprimer. Les tableaux HTML peuvent être créés relativement facilement pour les données numériques, et vous pouvez également inclure des photos, etc. Cela fonctionne bien pour certaines applications et fonctionne sur toutes les plates-formes où un navigateur Web est installé. L'inconvénient, bien sûr, est que HTML n'est pas le langage de mise en page le plus précis.

+0

+1 pour la sortie en html. J'ai ensuite utilisé htmlview de pbear pour l'imprimer (plutôt que de l'envoyer au navigateur) mais la dernière fois que j'ai regardé htmlview n'avait pas été mis à jour pour fonctionner avec unicode et donc ne pas imprimer correctement. –