How to print to barcode printer from windows-mobile 2005? - c#

I need to print to barcode printer (zebra) from windows-mobile 2005 (motorola hc700)
I search any sdk...not fount how to print.
thank's for any help

Check out the new mobile SDK from Zebra. It works with BlackBerry and Windows Mobile
ZebraLink Multiplatform SDK

This is based on my experience from 2006.
I had to use sockets in C# to send ZPL code to the printer. The "ZPL Code Generator" was hard-coded specifically to the one label format we needed; however, a template file with strategically placed search-and-replace strings would have been a better solution. There was a ZPL guide included with the printer and I'm sure you can get one from their website.
The Windows drivers were awful at the time and only produced garbage output. A couple developers before me had other approaches and both failed after a few weeks.
Edit:
Link to MSDN .Net Sockets. When
From my project, the port you should use is 6101. But that may be specific to the QL320.
The ZPL guides from Zebra are pretty good and I had little reason to devote the language to memory because it was just one small project.
Also, your printer may use EPL instead of ZPL but Zebra's guide for that is equally good. Either way, if the text you are sending to the printer is relatively constant, just create a file that correctly prints when streamed to the printer and then put in "replace me" blocks for your app to put in the dynamic values.
I'm also assuming that you are accessing this via a network. If your connecting it directly to the device, this changes slightly (I believe it gets mapped to COM port for most devices).

All that, and no mention of
http://www.zebra.com/id/zebra/na/en/index/products/software/label_design_software/label_vista.html
We developed our label code by creating the labels in label vista and using telnet to send them to the printer for printing. Repeat until you have it like you want, then code it.

Related

C# Printing inconsistent from same application to same printer on different workstations

It seems like there should be more information on this, but I can't seem to find the right words to search by.
Basically, I have a C# application that prints off a filled out form. I take user input and draw them over a image of the form then print it off. This application works perfectly for all but one of the workstations that use it.
The text on the form doesn't print in the correct location, rather it seems to be offset by and additional .25" on the x and y axis while the image of the form prints of perfectly. All workstations print to the same shared printer and use the same application.
I'm not sure what settings would cause the printer to print the text in a different location.
Is there a way to configure my application or the users workstation so I won't need to created a "personalized" version of the application for that workstation?
Thank you for help.
If you can't find the reason in different drivers or resolutions, an alternative might be to generate a PDF and then send that to the printer. That way you have control of the output page and can preview it as well. There are many libraries for generating PDF files. If you're generating HTML, you can use the free wkhtmltopdf to convert from HTML to PDF. I'm sure there are many others as well. Good luck!

Logging raw data from usb printer and using print spooler

I know similar question have been asked before like here and a few other places.
but I want to ask something about the basic concepts.
So, i have been assigned a project i have to make a "usb logger". The main function of the project is to capture data transmitted from PC to Usb printer on the logger software so raw data of each printout can be saved into a file for logging and analysis.
I was told that i can use a third party tool like usbpcap but I suggested why dont we get directly data from print spooler. as far as i know print spooler maintains a queue of the data to be printed.
before i start working on this project i want to ask a few basic questions
1) what is raw data in this scenario ?
2) can I achieve this by getting directly from spooler or is there another way.
3) which one will require more pc resources communicating with usb port or spooler?
I just need to understand the domain completely. (i will be developing this project using C#)
Thanks
If what you need to do is capture the entire output in raw form, the easiest way to do that is with a port monitor. A port monitor sits between the spooler and the physical output device and writes the raw data to that device, so it's the natural place to capture such data.
What you need to do is install the Windows WDK and take a look at the sample port monitor. You should be able to use that with very few modifications. Mainly, you just need to add code to write the data to a file somewhere in addition to writing it to the printer. You also need to change all the code dealing with the registry since the sample assumes it is the default port monitor and writes to registry keys reserved for Windows.
Just be aware the version 4 print drivers (ie, Win8) do not support custom port monitors. However, Win8 still supports v3 print drivers, which should cover any printer currently out there.

C# RAW Printing

I have a requirement whereby I need to be able to send an image to a printer.
The problem I have is that the target printer (and type) is not necessarily know at the time of printing and we could be sending to a zebra/intermec label printer or a standard HP office jet.
One further complication is that we have hundreds of printers to manage.
I do not want to have to install hundreds or printers and have to manually install a new printer every time we add one to the network. We maintain a list of IP Addresses and ports.
I have been considering installing a default printer (zebra, intermec, officejet) for each of the printer types.
When printing (using PrintDocument) I can send a print to the default printer of that type but mark the output as "PrintToFile". I believe this would then give me the raw print data (PCL?).
My thought process is that I should then be able to simply send the raw data to the printer? Unfortunately this does not seem to work and the raw text is simply printed.
Can anybody offer some advice/help?
Thanks in advance.
Raw files will not be sharper than the JPG files on printing, for me the best solution is to convert the RAW file in JPG

Barcode Printing

My client is using SATO CG 408 TT barcode printer. I want to make my C# application able to print barcodes using this printer. Label sizes are 50mm x 25mm
I tried to search documentation of SATO website and also googled some links, but dint find any satisfactory solutions. Zebra printer have their own languages, so that we dont need to integrate any fonts in reports.
The questions might be silly :P.. but its important to know before I start coding.
Sato does offer SBPL, much like Zebra's ZPL or EPL2 language.
You can desing a RPT for ZEBA, using Printer Fonts. But you need print using some special code. You can find it at: https://stackoverflow.com/a/19312690/192389

Print simple numbers on label printer (Brother, Dymo, etc) from C# (.NET)

As part of a project I'm working on, I need to automate a label printer. It will be one of those inexpensive USB printers from Brother or Dymo (open to other suggestions). All it needs to do is print two numbers on one label.
The challenge is that I'm hoping to keep it ultra-simple in C#. It seems like the solution from Brother is antiquated, and the Dymo SDK is a little more complicated than what I would like. Both solutions require the end user to install the full blown application.
Do I have to suck it up and use the low-level COM solution provided by Dymo? Or has someone found a simpler way to print uncomplicated labels?
DYMO now has a very handy framework that can be used to create and print labels using templates or built in XML.
Here is the download:
http://sites.dymo.com/Support/Pages/ProductDetails.aspx?MainTab=1&Tab=1&ProductID=DYMOSDK(DYMO)
Here is the documentation:
http://www.labelwriter.com/software/dls/sdk/docs/DYMOLabelFrameworkdotNETHelp/html/N_DYMO_Label_Framework.htm
Install the labelmaker as a printer on the computer.
Then, use mail-merge from Excel to Word.
Create a spreadsheet with rows representing labels and columns representing pieces of information on that label.
Use mail-merge in MS Word using the spreadsheet as the data.

Categories

Resources