PDumperPCL - Duplex Printing
Herbert zur Nedden (92) 37 posts |
Hi, I recently aquired a printer talking PCL and it works fine … but duplex printing fails (I tried by adding the duplex commands to the paper definitions). I thus inspected the output ant then the module PDumperLJ and wow, strange code! Instead of initializing the printer in the StartJob part, the printer is reset and re-initialised at the beginning of every page (StartPage). OK, that explains why duplex will not work. So I did a quick hack with a copy of PDumperLJ (currently named PDumperHzN) which fixes this strange behaviour by ensuring that the printer initialisation is done once at the beginning of a Job. Guess what, Duplex now works … partially! The PCL docs state that “Esc & l 0 S” turns off duplex, “Esc & l 1 S” does long edge duplex and “Esc & l 2 S” is for short edge duplex. Unfortunatlely what ever duplex I ask the printer to do, it does short edge binding (just the one you usually do not need). Turning off duplex works fine. I printed in windows into a file but what that one supplied is no help at all, that is a diff with duplex long and duplex short does not reveal anything… the PCL part I was able to detect looks alike and no duplex-command was to be found… I tried with Gutenprint PCL printer definitions and that proved that I was able to understand PCL docs since the output it creates is very similar to mine and no matter what duplex I set in Gutenprint the printer does short edge binding duplex. Any suggestion is very welcome. Yes, I certainly want to supply the PDumper I have started to ROOL - rather after fixing the duplex issue and after some testing that it works… and after having asked for and gotten a PDumper number (I currently use 98) and name (e.g. PDumperPCL). Oh. I nearly forgot: The printer is a Canon i-Sensys MF4690PL (i.e. a multifunction affair). Thanks Herbert |
Herbert zur Nedden (92) 37 posts |
After some playing around I had a second success with correct duplex printing with long edge binding: The trick is that I ask the printer to print the odd pages as portrait and the even ones as reverse portrait. Now the next steps on my list are to make this configurable (currently it’s hard coded) and to do some more testing to ensure that the printout is what I want it to be. |
nemo (145) 2529 posts |
Please don’t mistake PCL for any kind of standard! If the Windows driver is able to get the device to duplex correctly without the 180 degree rotation then the trick will be revealed in the PCL files generated – send them to me and I can tell you what they’re doing (my user name at 20000 dot org). You can’t rely on the 180 degree trick in general – some printers have a nasty feature regarding margins – they don’t change when you rotate! Some do, some don’t. In the trade you don’t refer to PCL in general, but the PCL implementation of a particular HP device – that’s the only ‘standard’ that exists. Just remember, ‘spec’ in the phrase ‘PCL spec’ stands for ‘speculation’. |
Herbert zur Nedden (92) 37 posts |
Works – when rotating the backside. Strange enough my HP LaserJet 8100DN wants this trick with rotating too :-) As a matter of fact I needed to do some shifting of the print position too but now it works like a treat on my Canon i-Sensys MF4690PL and on my HP LaserJet 1800DN (though I usually use the latter through PostScript but was a good test system). Since I do not know how to upload files here I put PDumperPCL here http://www.gag.de/software/PDumperPCL and will tell ROOL that it is there now. |
Ben Avison (25) 445 posts |
You may like to know that we’ve now merged this into CVS. |