As one who used to write and support printer drivers I can tell you that it's a VERY complicated process to go from what you see on the screen to what you see on paper and have the two of them end up looking even nearly the same.
Think for a minute about what the driver has to do. On the screen white is displayed by turning on all three (red,green,blue) to their fullest. If you want BRIGHT red you turn on the red to it's fullest and turn off the other two. Same for blue and green. When you want black on the screen you turn off all the phosphors. I am using 'phospher' here in a generic sense, lcd displays don't have them but the term is useful if you think about it as a generic term. So every color you need is producted by turning on or off three spots of light, one red, one green and one blue AND by varying the intensity of each spot. If all you could do was turn them on or off you would have no way of presenting a real world scene because all you would have is color (chroma in the tv world) and no brightness control (luminence in the tv world). Each phosphor has 256 levels of brightness, in theory. None of them are perfect and so none of them can really deliver 256 distincly different shades of their respective color. It's also possible to have even more shades, but that requires a lot more work and for the most part the human eye is pretty much out of oomph at 256 anyway. A barn owl might know the difference, but Granma and Granpa aren't going to notice! This is an active process, the light that is stimulating your eye and being converted by your brain into a recognizable photographic scene is real energy. The excited phosphors are sending out waves of energy at specific rate and strength, so this process is best viewed in a dark room space. The more room light (ambient light) the more energy the screen has to be able to put out. Now let's think about how the printer displays our image. Prepare yourself, it can be tough getting your brain around the two methods, but it will come to you with time. The printer produces a purely passive image. That is, the paper does not itself emit any energy but rather reflects back to your eyes the light that is falling on the paper. Think about that for a minute! That is a HUGE difference between how you see a monitor image and how you see a printed page. With printing your whitest white is an area of the media where no ink has been laid down. On the monitor it's just opposite, you turn on on all the energy. When you print on a page you are depending on the inks to allow only specific colors, ranges of frequencies, to be reflected back to your eyes. If you bright red then you put an ink on the paper that prevents it from reflecting any light back to your eyes except red. Same for blue and green. BUT, the primary colors are no longer red, green and blue but rather cyan, magenta and yellow. To get black on the paper you have to mix all three inks in equal amounts. But there's a problem. Mixing cyan, magenta and yellow really doesn't give you a black, it's more like a dark, dark olive drab. And to compound the problem the ambient light has a LOT to do with what the colors will look like on the page, after all your starting point is the available light in the room or that light which is being directed at the print. The first ink jet color printers, circa 1986, used only the threee colors, c,m,y and they did very poorly at displaying any image with lots of black and/or contrast. To solve this problem they added a fourth color to the mix, black! Thus today's ink jet printers are four color printers, c,m,y & k. k was chosen for black so as not to confuse it with b for blue on a monitor. If you have a perfectly produced color print and you view it under a red light you are not going to have any whites, only pale pinks, how pale depending on the light source. So with printing not only are you concerned with how white the paper is you also have to worry about the color of the light being used to view the print. Inks are very tempermental! No ink will look the same under two different lights. This problem is called 'metamerism' and it has bugged artists since day one. If you print an image that is balanced to look good under tungsten lighting it will not look the outside in the sunlight. If you balance it for sulight it will not look right in the shade or in tungsten lighting. There are two types of ink, one is water-based, the other is oil-based. The oil-based inks are said to be pigmented. Early pigmented printing systems had a devil of a time with metamerism. The Epson 2000P comes to mind. You could not get a decent output under more than one kind of light. You had to know going into the printing process what the light source for viewing would be. Bummer. Water-based inks are much more forgiving. But for every Ying there's a Yang. Water-based systems looked really good, bright and vibrant, but they faded very quickly. Early prints from HP three-color inkjets, circa 1990, were doing good to last a week indoors, two days in direct sunlight. It was not only the sunlight that destroyed them, but also the humidity in the air. The common test in those days was to cover half a print with a lightproof material, like cardboard, and place it in a window where it would get direct sunlight. Leave it there for a few days and then compare the covered area with the exposed area. It was not a pretty sight! Sorry to be wordy, but it's a complicated subject. Most people have no idea what a miracle it is when they can produce a decent color print from a desktop printer. So now we come to the driver. That's a piece of software that has the job of taking the r,g,b that looks so fantastic on your monitor and sending the printer a file that it can use it's c,m,y,k system to make a decent print. It's a huge job! And it changes all the time. The media and the ink are very important, but so is the driver and the method used to convert the file to a printer ready stream of info. Before Windows you had to write a driver for every printer and every operating system. What a nightmare! Now, there is a Windows or Mac driver for a printer and you aren't concerned about the differences. It's nowhere nearly that simple, but that's how it is. So, what you are seeing is almost certainly a problem with the driver. If it runs out of memory while processing the file you're going to have problems. A well-written driver will know it's out of memory and warn you. Most drivers just spit out the print and let you decide if everything worked as planned. Memory is precious on a computer, not as much as it was 20 years ago, but it's still a finite resource. Every device on your system has to have a driver. The keyboard, the mouse, the hard drives, the network card, so on and so forth. Poorly written drivers are bad about grabbing whatever memory they think they need without regard to the problem that the memory might be in use by another device! The biggest offender in this category is the video driver. They are huge and complicated and consider themselvs to be king of the mountain. Once they start their task they will grab whatever they need, write out anywhere they please and overall just take over a system. The order in which drivers are loaded during the boot process can be critical. You can load a driver just fine, then have another one later in the process write over it, or write to memory locations it was depending on to work properly. Once the driver is loaded the system considers it OK, and when someone else tries to assign code to a location already in use it might go ahead and do it. Troubleshooting printing problems can be very tough since the video and printer driver frequently share a lot of resource and have to move them in and out and all about as needed. First step is to print directly from the computer to the printer with a cable, and if need be using a Plain Jane video driver. Sending a color image to a printer server is asking for trouble. Everytime you add a step to the process you double the chances something will go wrong! I hope this helps! Digest this and come back with specific questions, but be prepared to answer a lot of questions in return. I think your first step is to run the printer directly from the computer and use Photoshop for doing the printing. Let's get rid of as many variables as possible, like QImage and the server and the network software, etc.
