Windows Printer Properties and Page Setup

By selecting “Printer Properties” and “Printing Preferences” for my Zebra printer in the Windows OS Control Panel /Settings window, a massive amount of options is presented by the manufacturer’s driver:

It seems that all printer configuration must be done via these driver windows, as Page Setup is essentially useless:

Xojo Page Setup

Neither of the pop-up menus offers anything useful and the margin settings don’t do anything.

To make matters worse, if I use the SetUpString returned by the Page Setup dialog to open the printer and send graphics with Xojo, the printer malfunctions, presumably because many of the required properties are not set by the Page Setup dialog.

How can I properly print to this printer with Xojo? I don’t mind setting it all up manually once using the driver windows, but from that point on my app needs to just spit out labels on command. If the PrinterSetup initialized by calling ShowPageSetupDialog is corrupt/incomplete, how can I ever get a valid Setup for opening the printer?

The short answer: Printing in xojo sucks, it works only for really simply and basic printing.

The solution: To have a decent printing experience on windows, you have to use declares. One option is to use RAW PRINTING with declares.

In the case of your printer, if you go the RAW PRINTING way, you can even send ZPL commands directly to the printer.

1 Like

I posted this some years ago. Maybe it could point you in the right direction.

https://www.dropbox.com/s/2339n0uinee25tg/rawprint.rbp?dl=1

1 Like

Thanks guys, it looks like I’ll be sending ZPL using declares or MBS stuff.

This rises red flags on top of the long standing yellow ones. Is Xojo using deprecated APIs? All MSCallA() should be MSCallW() these days for example. Xojo need to restudy the printing support and give more freedom to users to read and set some properties, and many non-attended options as choosing default printers, select printers, set some properties, and just go bypassing optional dialogs.