I'm using printer from Eurocoin called EP800 on Linux. It's similar to ep802 printer in specifications.
When printing an image, sometimes this happens:
A lot of times it prints normal image, but sometimes I get this. Does anyone have any idea why this happens sometimes ?
I didn't provide a code since I'm not looking for programming related bug but more of what could cause this ?
Related
Am using GhostScript.Net 1.2.0 version. Am converting a pdf file into list of images to print. My Printed image height and width is fine but the printed image quality is poor. Please help me how to improve the image quality while converting a pdf to image using ghostscript.net
You need to either take this up with the Ghostscript.Net maintainer or find some way to tell us what command line/configuration you are using (ALL of it!), you will also need to supply an example file and define what you find objectionable in your current prints. 'image quality is poor' is extremely subjective, not helpful at all, there could be many, many reasons for 'poor quality', starting with your input file.
You also need to state what operating system you are using, and what your printing setup is. If you have tried anything already, then you need to say what you have done or we will waste much time suggesting dead ends.
Note that if you are using the mswinpr2 device, there may be little that can be done as that relies on the printer driver in the Windows system to do the actual printing.
I need to print an image that is being returned to me through a web service (the data is returned as RAW) and I cannot for the life of me figure out how to print a graphic to a label with EPL.
The EPL manual defines the Graphic Write instruction as:
GWp1, p2, p3, p4, DATA
All of the parameters are returned to me, so I don't have to worry about calculating the height, width, etc., but my problem is that I don't know how to format the DATA.
The manual says DATA should be
Raw binary data without graphic file formatting. Data must be in bytes.
I've tried passing a binary string and a hex string, but nothing seems to work. There is no example on how to use this command in the EPL manual and after hours of searching online I have not been able to find a single example of how to use the command (i.e. example EPL commands that I can copy & paste to send to the printer).
Does anyone have an idea of how to use this command? Could you provide me with an example? (by example I don't mean a framework, code, etc., what I mean is just the plain EPL commands).
I can confirm that the data is in raw, uncompressed binary. It is also inverted-- that is, the 0 bits print as black, at least on my UPS-firmware LP-2844. I have no idea why all the examples from Zebra show the data as encoded into a hex representation.
It's worth noting that most print servers (HP Jetdirect, Lantronix LPS1-T, and almost certainly the Zebra built-in and external print servers) will form a binary connection to the printer if you spit data at them on port 9100 (using netcat for example):
nc printer_hostname_or_ip_address 9100 < test_file.txt
You get no feedback from the printer, except for the label having printed or not.
It takes my LP-2844 (UPS Firmware) printer about 5-6 seconds to print a label containing a 816 wide x 1218 tall downloaded bitmap onto a 4" wide x 6" tall label. It seems to be all imaging time: sending three labels at once is not any faster, and the network connection (through a Lantronix LPS1-T) is held open until the final label prints. That image is at the native resolution of the printer (203 dots/inch), and there is no dithering or resizing going on (I don't think EPL2 even knows how to dither or resize).
It might be possible to speed up the imaging time by optimizing the label into many smaller bitmaps (and horizontal and vertical line segments, and perhaps filled-in rectangular blocks). This wouldn't be a very hard optimization because the image is a single-bit black and white bitmap, and the code would be fairly simple. I don't know if it would really speed it up, though.
A more modern Zebra GX420 running ZPL with a built-in ethernet port ($500 online) can print the same label (with essentially the same graphic download encoding) in 1-2 seconds.
By the way, since I haven't yet actually answered the question, the raw EPL code for this is:
(a blank line)
N
q816
Q1218,20
GW10,10,102,1218,(124236 bytes of inverted bitmap data)
P
all the newlines are 0x0a (unix-style).
Maybe this will help, it has examples (and corrects an error in the manual). Also, it may be easier to use the GM command instead and just delete the image each time (see here for a stackexhange related question).
That being said, I've never gotten my Eltrons to successfully print an image (but my jobs don't require it).
Good luck!!
EDIT: Here's another link with example Perl code. They're aiming for Chinese characters but show how to print the Great Wave image (which oddly is Japanese).
I found that it is not possible to send a graphic to a Zebra printer with EPL using ASCII characters. The data must actually be sent as RAW data. So, for example, you can't send a graphic to the printer using Zebra Setup Utilities, or through any other means that cannot write RAW data from a file directly through the printer.
The only way around this I've found is to create the label as an image and send that image to the printer via a print command within your application.
I would like to change colors on printed documents for color-blind people.
Currently I am hooking startDocPrinter, EndDocPrinter, ... with a pdf virtual printer which use postscript and it works well. I am able to change colors.
But I have several printers from different companies : HP, Canon. Each of them seems to use different printing language. When I click on "print into a file", the file written seems always different : PCL, EMF, PostScript, ...
When I look at printing process it seems that GDI API is generic and not related on which printing device I will use. If I hook GDI function, could I be able to change colors on all my printers ?
Do you have any advices about this ?
Thank you.
i have spent q good bit of time getting a zebra printer to work with os x for barcode printing from a browser.
the difficulty i am now having is with safari properly displaying the margins/padding. even though i have all margins etc. set to 0 with CSS with #page and body, html. it still prints with about 1/4" margin. does anyone know a way to remove this? it works fine in chrome and firefox scales it so small it's unreadable when using 4x1" paper settings.
as an aside, is it possible to for Safari (or any app) to remember the paper size from the last print job? even when i save the print profile, it always defaults to Default paper size.
thanks.
It looks like safari automatically adds the 1/4" border as not all printers are capable of edge-to-edge output. For optimum output quality and overall control you need to write native ZPL code and spool to the device.
Im trying to write an ascii game for an assignment. The program must be written entirely in c, no c++.
How can i get the program to open a window capable of rendering ascii art? I want to create a window of a certain size, that is capable of printing in multiple colors. A simple console window is insufficient.
Also, on a related note, can anyone show me a function that will write directly to the buffer? printf is too slow, and doesnt seem to be versatile enough for the graphics i want to produce.
Any help will be greatly appreciated.
Thanks in advance.
A simple console window is insufficient.
I disagree. A console window is perfectly fine for anything you seem to want to do. Colours, full ascii range, highlighting...
Also, on a related note, can anyone show me a function that will write directly to the buffer? printf is too slow,
How fast do you need to write? If you're forming the strings yourself and calling printf, it essentially just copies it into the buffer for you.
try ncurses
altho i dont think it works for windows at this time (v5.7)
or even AAlib
You want the Windows Console API there are functions in there to do exactly what you are asking. For example use SetConsoleDisplayMode to change the console size.