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.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

disable paper auto feed

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.

0 Kudos
Message 1 of 6
(2,889 Views)

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

0 Kudos
Message 2 of 6
(2,861 Views)

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.

0 Kudos
Message 3 of 6
(2,847 Views)

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

0 Kudos
Message 4 of 6
(2,839 Views)

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].)

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 5 of 6
(2,837 Views)

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.

0 Kudos
Message 6 of 6
(2,826 Views)