Delphi - "DOS"-os nyomtatás Windows alól

forráskód letöltése
Ha egy nyomtatóra szöveget írunk, akkor az valójában nem betűnként kerül kiírásra, hanem a teljes szöveg lesz képként kinyomtatva. Ettől kezdve lehet a betűtípus tetszőleges és így nagyon szép dokumentumok hozhatók létre. Hátránya viszont a módszernek, hogy egy kép kinyomtatása mindig lassabb. Mátrix nyomtatón pedig legjobb, ha meg sem próbálunk így szöveget nyomtatni.

Ha viszont arra lenne szükségünk, hogy igen gyorsan és csak szöveget írjunk a nyomtatóra, akkor jöhet jól az a módszer, hogy a nyomtatóra csak az adott betűnek a kódja kerül átküldésre és a nyomtató a saját betűtípusát felhasználva nyomtatja ki azt. Réges-régen, még a DOS idejében ez volt az általános nyomtatási mód. Ennek a módszernek igen nagy előnye a sebesség, valamint a mátrix nyomtatók használhatósága, persze azért hátránya is van, nem is kevés. Például mivel itt fix méretű font kerül alkalmazásra, sokkal kevesebb információ fér el egy lapon. Döntenünk nekünk kell, hogy gyors nyomtatás legyen kevésbé szép formában, vagy ezek ellenkezője.

Ha a gyors nyomatás mellett döntünk, akkor erre rá vehetjük akár a QuickReport-ot is, de akár felhasználhatjuk a TPrinter osztályt is saját nyomtatási munkánk elvégzésére.

Mellékelt példából azt is megtudhatjuk, hogy miként válthatunk nyomtatót programból. Ennek eléréséhez nem is annyira Delphi programozási fortélyokra lesz szükségünk, mint inkább arra, hogy telepítsünk a Windows alá egy új nyomtató drivert a már meglévő mellé.

Ez a driver a Windows része, így elegendő a Windows telepítő CD-je. Elindítva a nyomtató telepítését válasszuk ki a gyártóknál a Generic-et, majd a nyomtatóknál Generic / Text Only-t.

Telepítés után, ha nyomtatáskor ezt a drivert használjuk, akkor csak szöveget tudunk nyomtatni és azt is úgy, hogy nyomtatáskor csak a betűk kódjai kerülnek a nyomtatóhoz és így igen gyors lesz a nyomtatás.

A mellékelt példa bemutatja, hogy miként lehet nyomtatáskor kiválasztani programból, hogy melyik nyomtatóra is történjen a nyomtatás.

Ebben a példában a TPrinter osztály segítségével történik a nyomtatás.

Nyomtatáskor próbálja ki a nyomtatója saját meghajtó programját, majd a Generic / Text Only-t. A különbség elég szembetűnő lesz.