Change printer half-toning programmatically - c#

I'm trying to change printer default half-toning method using C#. I cannot find any information how can I achieve this and SO is the last option I think. Basically I'm writing application to change printer port settings and halftone is one of the last things I need to change.

Related

Zebra s600 print script

This is my first try to create a c# script to print a label from a Zebra s600 printen. I have a really hard time finding a good guide on the internet about how this would work. The Zebra s600 is also a very old model. Right now I am using the SDK from Zebra:
https://www.zebra.com/gb/en/support-downloads/printer-software/link-os-multiplatform-sdk.html#text_f34a
But I found out that the s600 is not included in the support list. My script does activated a little greenlight on the printer the moment I run the script. But nothing else happens. I also have no idea how to search further for my issue. Every search is a dead end.
I did followed this tutorial because I could't find any example on the web:
https://www.youtube.com/watch?v=RvWG9_rE9rg
Seems like it still supports ZPL. Have you tried sending ~WC? Try opening a command prompt and doing echo ~WC > LPT1 or echo ~WC > COM1.
If that prints a config label, then you can either use the ZDesigner drivers to print to it as a normal windows printer. If you do not find a driver for the exact model of printer, just select one with the same DPI and PDL.
Or you can write ZPL directly to the printer. To figure out what ZPL to send, you can use ZebraDesigner. The free versions are sufficient. Avoid the XML functionality unless you find the printer to support it - it was introduced after that series, I think.

Implementing Avery Monarch 9416XL printer into C# project

has anyone had any dealings with the above mentioned printer or one like it? I have been handed the task of introducing this printer into our c# project and am not sure where to start. I have created a sample .lbl file using Averys recommended software to get all of the dimensions correct. (Nicelabel SE)
the printer is connected to the PC via Network.
here is a Sample Image of the project that I am trying to create, I have spoken to one of the engineers at Monarch and he is helping me with creating a base file to send to the printer, and having some of the data as a variable.
ideally it would be good if I could launch a dos program which would handle this for me, but I seem to really be pulling at straws here.. I have seen the Zebra SDK, but im not sure if this printer is compatible.
Thanks.
I have spoken to the Guys from Avery and they built a template for me to use, and with a variable section in the code I was able to put in my own settings to get the required output.
To send the file to the printer I was able to use the LPR Service in windows using a batch file.

ESC \ POS Command - Setting User Settings

First I'd like to say that long time reader of this site! Has saved me a lot from some problems that I've run in to while learning how to develop applications (specifically in c#).
Now on to the problem I am facing. I am currently developing an application that will set the speed and the power supply unit values on the EPSON TM-T88V to the values of 13 and 3 (speed and PSU). I have been using the provided commands located here on EPSON's Site. I am able to communicate with the printer by sending simple commands such as cut paper and line feed using hex in c# (using RawPrinterHelper), So I know I am able to connect to it. When I attempt to enter the user setup by using the values provided in their website, the printer seems to just "lock up". I have to rest the printer after about 2 minutes for me to be able to use it again. Thankfully, it doesn't seem like its writing anything at all to the printer, which is probably why it hasn't failed yet.
Does anyone have any experience changing settings to POS printer (specifically EPSON) who could help me with this? Usually there's a tool that will allow you to just send a .txt file with HEX values (like TPGs), but I cannot seem to find anything like that for EPSON POS printers. Any help would be greatly appreciated! Thank You
Try to reset a printer (ESC #) before start a user settings commands. It helped for me in the same case.

Set Printer Feature programmatically

I'm working on a C# desktop application where I need to change some printer settings and print some pictures. In my program I already can set the Paper Size, Printer Name, etc... If I go into the Advanced Options of the printer preferences, there is a section called "Printer Features". I cannot figure out how to access the parameters in the printer settings. For example there is "Border", "Overcoat Finish", "2inch cut", etc.. Specifically what I'm interested in is "2inch cut".
How can I get at these properties in run time?
UPDATE
I changed the picture and question a little bit to be more specific.
Okay, so I came across a solution that works very well for me, hopefully this will help others.
After a bit of research, I found out that my printer just isn't set up to allow those features to be accessed through the driver. So what I did was create a second profile in the printers and devices in windows that connects to the same printer on the same port with the same drivers. Then with my program I just select the different printer profile based on what my needs are. Works like a charm.
Thanks to everyone who contributed.
You can set the printer quality using dmPrintQuality member of the DEVMODE structure. Other printer features may not be applicable for all printers. Some printer drivers may expose properties which are quite different to other print drivers. This is normally done using the dmDriverExtra extra member of the above structure. As MSDN says dmDriverExtra is private printer data:
Contains the number of bytes of private driver-data that follow this
structure. If a device driver does not use device-specific
information, set this member to zero.

get list of printer ports

I'm looking for a way to list all printer ports on the current PC. I want to list them and put them into a combo box. I was going to create a list and pull that in every time the cbo must load, however I then thought about if people add their own ports and some printers install themselves to new ports. Because of this just stating a generic list of ports might not be the correct way.
I am using DOS print process to the printer port directly and in the settings need the user to select which port to print to.
I'm sure someone has a quick way, or a way they can point me to. I saw a couple ways online however It completely boggled my mind and I don't like using code I can't understand, and don't have the time to understand it right now unfortunately. I am sure there must be a class of somesort in C# already created to do this. Most of the other ways I saw to me appeared to be importing several dlls and or running through a few registeries.
And assistance is greatly appreciated
UPDATE just to be clear I want a way that will simply return to me LPT1 LPT2 COM1....

Categories

Resources