Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!ub!csn!pikes!mercury.cair.du.edu!mnemosyne.cs.du.edu!isis.cs.du.edu!ebergman From: ebergman@isis.cs.du.edu (Eric Bergman-Terrell) Newsgroups: comp.windows.ms.programmer Subject: Re: Windows printing Keywords: windows, printing Message-ID: <1991May21.032437.16063@mnemosyne.cs.du.edu> Date: 21 May 91 03:24:37 GMT References: <49282@ut-emx.uucp> Sender: usenet@mnemosyne.cs.du.edu (netnews admin account) Reply-To: ebergman@isis.UUCP (Eric Bergman-Terrell) Distribution: na Organization: Nyx, Public Access Unix (sponsored by U. of Denver Math/CS dept.) Lines: 30 Disclaimer1: Nyx is a public access Unix system run by the University of Disclaimer2: Denver for the Denver community. The University has neither Disclaimer3: control over nor responsibility for the opinions of users. I recently worked quite a bit printing text and graphics in Windows 3.0. I assume that you've read all about the BANDINFO escape (Prog. Ref., 12-3). So, on a FWIW basis: If you use banding, pay attention to the structure returned from the BANDINFO escape. The BANDINFO will sometimes tell you that one band, equal in size to the entire printing surface, should only be used for text output. If you're bitblting a bitmap to the printer, make sure that it does not need to be scaled. If you're bitblting a color bitmap to the printer, make sure that the color bitmap is bound to a real device, otherwise the colors will not all be printed correctly. It sounds like your main problem is that pages are not completely printed. Does your printer have enough memory to hold all the graphics that you're sending it? Even if you write your printing program perfectly, if you send it to a printer without sufficient memory, it may print only part of the page (this is exactly what the HP LaserJet series printers do)... Another suggestion - most if not all of the GDI & banding functions return error codes. Save them and find out which function is the first to fail... Another suggestion - call get GetDeviceCaps function with the RASTERCAPS argument to make sure that your printer can support all the graphics that you're sending it... Terrell