Skip to main content

Print Escape Character for printer Barcode in .NET

fiuhh, this case is one of the most annoying 'simple' approach

requirement is to send 'barcode' to printer directly, because often we using Image print (creating image on the fly then send it to barcode printer)..this one althought works but often the image become blur / discarded

so we need to 'communicate' to barcode printer using its 'language'
the 'language' depends on the printer itself..in my case, we using SATO barcode printer so the 'language' is
SBPL (visit the link for more info)

first we need to design the label
we can use SBPL and design it 'on the fly' make us a little bit crazy

or we can use SATO LABEL Gallery Free to do the job and generate SBPL equivalent for us so we can use it in our code

after we design it, we use "Print to file" method for the printer then print it so we can see what its send to the printer

the generated SBPL will contain 'unseen' character in visual studio IDE (i'm using VS 2010) so be careful with it, u must open it using 3rd party like Notepad++

just replace the 'dynamic' content (ie: productCode, productName, etc) then start printing it

caution:
1. if u need to add , just for readiness of the code then u need to replace it from the SBPL using notepad++ then paste it in code 
before printing don't forget to Replace it again to so it can recognized using this method:
.Replace("", ((char)02).ToString());
.Replace("", ((char)03).ToString());
.Replace("", ((char)27).ToString());
2. don't forget to copy it "as is" from generated File in, must include [STX][ETX] thing

become

and using step 1. to replace it (tooks 2 days to realize it and search for the .NET equivalent way) :(

PS: stilll not sure how to display the Escape Character inside VS IDE ( maybe u'll see 'bad thing inside' :D )

until then

Comments

Popular posts from this blog

SBO - Internal Error (-5002) Occured in Inventory Transfer

this is something that not well documented in SBO, it took me several hours to look at Google and can't find anything about it. Thank God friend of mine got answer for this one.So the Sympton is something like this, u need to make Inventory Transfer for Batch Item and Serial Item in one single Transaction so the Transaction is the combination of it. ex in detail lines: 1. Serial Item 2. Batch Item 3. Batch Item 4. Batch Item 5. Serial Item 6. Serial Item . When u reach this code oStockTransfer.Add it will return an error "Internal Error (-5002) Occured". This is because ur details is not in order, meaning u need to order the line with combination of Batch first then Serial or Serial first then Batch so be careful with this thing :D see u

Resolve Collation error in SQL Server

i often get this error when trying to JOIN some table Cannot resolve the collation conflict between "SQL_Latin1_General_CP850_CI_AS" and "SQL_Latin1_General_CP1_CI_AS" in the equal to operation. u need to use COLLATION when performing the JOIN, something like this SELECT field1 FROM table1 INNER JOIN table2 ON table1.field3 COLLATE DATABASE_DEFAULT = table2.field4 COLLATE DATABASE_DEFAULT i found this when trying to JOIN, maybe it affect other areas..until i found one see u

Crystal Report 2010 - Failed to load database information

"Failed to load database information" error when i try deploy my program with CR 2010 using TTX file as report definition this is because there is missing .dll, call "CRDB_FIELDDEF.DLL"..u need to manually copy the file to "C:\Program Files (x86)\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Common\SAP BusinessObjects Enterprise XI 4.0\win32_x86" folder then the report is loading again it said that TTX is old tech but i'm still using it because i don't need to connect the report to any DB, but until i found new one to replace :D check this link to read it [EDIT 25 Jan 2011] i think i'll using ADO.NET Dataset next time :D until then