none
Programmatically set a printer paper source RRS feed

  • Question

  • We have a Dymo Twin Turbo label printer that we need to set the paper source programmatically.  The Paper Source option shows up in a Printing Preferences window just like any printer, so I'm assuming this shouldn't be a printer driver-specific problem.

    Someone's post allowed me to find the location in the Registry for the printer's settings.  I tried editing it and then opening the Printing Preferences again.  It had not changed.

    One post that I found suggested using 2 different printer entries in the Devices and Printers: one with a default of Left Roll and the other with a default of Right.  It sounds like it would work, but this is a much-less-than-desirable solution for several reasons.  Manual initial setup of each machine's multiple printer entries is one of them.

    On MSDN I've found .NET classes related to printing that can get or set the PaperSource, but only works with an associated document object.  I need a way to set the Paper Source completely separate from any other app(s) that I want to print from.  

    I also found this which might be a solution, but am hoping there is a much cleaner and straightforward way of doing this:

    http://www.codeproject.com/Articles/6899/Changing-printer-settings-using-C

    Tuesday, July 26, 2016 10:14 PM

Answers

All replies

  • Seems you should take a look at the driver disc. From the printer's manual:

    [quote]

    In cases where you want to automate printing and take advantage of the label printing power
    built into DYMO Label software, a Software Developer’s Kit (SDK) is included in your
    LabelWriter CD. The SDK provides COM and .NET interfaces. For more information, visit
    the Developer Program page on the DYMO web site. www.dymo.com.

    [/quote]

    Wednesday, July 27, 2016 8:05 AM
    Answerer
  • We can't have a printer-specific solution.  They may decide to change printers at any time, so we need a way to change the settings generically at the Windows global level.  Also, we need to set the source programmatically so that a completely separate app can then print to the correct side.
    • Edited by Brad Mosch Thursday, July 28, 2016 2:05 PM
    Thursday, July 28, 2016 1:57 PM
  • Well, for full-size laser printer that supports PCL5, there is a standard command to select paper source. However I think for label printers this is not always implemented. So the CodeProject article you quoted would be your best bet if the printer model (or at least brand) cannot be fixed.

    On Win8/Win2012+ the printer driver is unified. So you can try to use PowerShell cmdlet "PrintManagement" to set it. I doubt if you want your code to run on this limited environment.

    Thursday, July 28, 2016 2:21 PM
    Answerer