From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
07-07-2009 06:49 PM
I am interesting in learning how to disable paper auto feed feature in a printer via labview programming instructions. For example, if I send a image (either a front panel image or from a file jpg, bmp etc...) and it only consumes half of a A4 page, the typical printer will print the image on the top half of the page and will auto feed the whole page. So how do I stop this auto feed? Where I can send data to the printer and the printer will print this data to a page and will hold the page inside the printer until more data is sent or a command sent manually by the user to feed the current page to end the printing process. Any help would be appreciated. Thanks.
Printer type - ink jet and bubble jet printer only, obviously this is not compatible with laser printers, not to my knowledge anyway.
07-08-2009 04:21 PM
Hello,
Have you verified that your printer supports this option? This will have to be an option that is exposed in the driver and most likely invlove using ActiveX or .NET from LabVIEW. There is some information as a starting point here:
http://digital.ni.com/public.nsf/allkb/80DD23A28BD8ADF9862575AC0077B1BB
-Zach
07-09-2009 02:24 PM
Hi Zach,
Yes you are correct, I am currently using a .NET constructor to import class system.drawing.printing and I have also seen another class called system.printing (which i believe might hold the key to achieving my task). I successfully use system.drawing.printing on .NET but struggle to implement the same routines in Labview because some classes required for PrintPageEventArg are not public classes, hence, cannot be adapted for Labview (i.e. the Graphics Class is not a comman class for LV). But again, I still can't implement this task of disabling paper auto feed even through .NET. Thanks for your help anyway.
Raj.
07-09-2009 03:27 PM
Hello,
Is the option for disabling autofeed exposed in your printing preferences dialog? If so, you could create another instance of your printer to be used when you want the auto feed option disabled. You could then programmatically select which printer to use and thus select the instance with your options disabled. Just a thought and worth throwing it out there for consideration.
-Zach
07-09-2009 03:28 PM
Hi Atco,
usually (non-laser) printers get a command to feed the sheet of paper. So you have to disable this command in the printer driver - or write your own printer driver...
(Laser printers are different as they only work on full sheets of "paper", so they always print a "full page" [to my best knowledge].)
07-09-2009 03:55 PM
Hi Zach,
Nop, this is not the paper auto feed functions available through printing preferences, but I wish that was the case.
I have to agree with Gerd... it might be a case of the printer driver... and I have no idea of how to write a printer driver, PCL's or anything to do with printers. Fact is.... this is just something I never paid too much attention to in the past.
There is soo much info on the net with regards to printer communications and methods, but no real help on what I want to do. Another option I have come across is winspool.drv which can be implemented via 'Call library function node', but again I am trying to figure out the API protocols that can access its functionality.
Thanks for your inputs.
Raj.