From: Gaga on
"Gaga" <Gaga(a)momo.com> wrote in message
news:4297b558$0$5534$afc38c87(a)news.optusnet.com.au...

> In the case of a "12 twip thickness line" (as in your example) the
> thickness of the line will be 1.69 printer pixels.

To avoid any confusion, I'd like to point out that I meant a 12 twip
thickness line will be 1.69 printer pixels *on a printer that has a native
resolution of 203 dots per inch*, as in your own specific example, and that
the printer would of course be unable to produce such a line exactly, and so
it will draw a line that is closest to that value (which on most printers
will be a "whole pixel" value and which even on printers that can
artificially "increase" the apparent effective resolution beyond the native
value will still not be exactly 1.69).

Mike




From: BigOne9x2 on
"mjimeno" <miguelangeljimeno(a)hotmail.com> wrote:
>Here is my problem: I want to print to a barcode printer (Zebra 2844) in
>this way: I want to use true type fonts like "Arial Bold", so I used the
>printer method from VB. Perfect. Now I want to print barcodes too, but it
>have been not easy trying with barcode fonts and other methods, so I
>decided to print barcodes using raw data via API programming. Here is the
>exact problem: If I use raw data I can't use windows fonts (according to
>Zebra is possible, but not to me) and if I use printer method I can't
>print perfectly barcodes like with raw data. The question is: Can I send
>raw data using printer method? any other suggestion, please?
>Thanks, Miguel.
>
Use the EPL2 lang for the ZEBRA printer:
http://www.zebra.com/id/zebra/na/en/index/resource_library/manuals.html

From: mjimeno on
BigOne: I've used EPL, that's my problem. Everything would be resolved if I
could use true type fonts with EPL, but as the manual said, I need to
download to the printer the windows font. I do so, with the zebra fonts
downloader, and the printer asign a letter to it. But I use it with the
command to print but it doesn't recognize it and doesn't print a point.
So, any suggestion, please?
Mikey: I'll try your fonts. Thanx.
Gaga: explain me please a little bit more about intelligent printing: How
can I print in the exact point where the printer can do it perfectly? What
do you mean with: "desired output data in terms of the actual native
resolution of the current output device (printer) and then draw the lines
accordingly". I've been trying some tips you told me, but still no
results.
Thanks everyone for your suggestions
M

From: Gaga on
"mjimeno" <miguelangeljimeno(a)hotmail.com> wrote in message
news:b4b46bf7da9b57e23790dbde7efacab8(a)localhost.talkaboutprogramming.com...

> Gaga: explain me please a little bit more about intelligent printing:
> How can I print in the exact point where the printer can do it
> perfectly? What do you mean with: "desired output data in terms
> of the actual native resolution of the current output device (printer)

What I mean is that for something like barcodes it is the relationship
between the thickness of the individual lines and the relative spacing that
counts, rather than the overall size. That relationship can be severely
upset if the printer cannot print a dot at the exact position you have
specified and if it therefore has to decide for itself whether to go "to the
next whole dot backwards" or "to the next whole dort forwards". This doesn't
matter too much if you are using a high resolution printer (or if the
barcode you are printing is quite large in overall size), because even the
thinest line you require will probably consist of a number of individual
dots that are themselves quite a bit thinner than the desired line
thickness. It does, however, matter *a lot* if you are using a low
resolution printer (as in your own case where I think you said it is only
about 200 dots per inch). In the case of a very small barcode the thickness
of many of the lines will be not much more than the thickness of a single
dot (or perhaps even less), and that is where you get the problems. Ideally,
if you are using simple methods such as True Type barcode fonts then even
the thinnest line you require in the barcode as printed should be at least
as thick as three or four individual printer dots, and preferably more than
that. As I've already said, I've never actually dealt with barcodes and I
know nothing at all about them, but that's the way I see it at the moment.

You can overcome many of these problems if you take care when choosing the
overall barcode size. The way I see it, the smallest barcode you will be
able to reliably print will be of such size that the thickness of the
"thinnest" line you require is exactly one "printer pixel", with all of the
other "thicknesses" being a whole number of pixels - but having said that I
don't know what the "size relationship" actually is in a real bar code, so I
can't really analyse it further at this point. Perhaps you would care to
tell me. For example, if (in a typical bar code) the thickness of the
thinnest line is exactly "one unit" then what is the thickness (in units) of
the "next thickest line" that you might require. Also, what is the thickness
of the "thinnest white band" that might be required in such a bar code. I've
got much to learn, and sadly (at the moment) no time to learn it in! (I'm
off on a little "holiday within a holiday" today and I'm likely to be away
for up to a week).

You should be able to sort a lot of it out yourself though. Start off by
setting your Printer.ScaleMode to vbPixels and try to arrange it so that the
desired "line thickness" and the desired "white space thickness" of every
line in your barcode is an integer. If that isn't possible (perhaps maybe
because in some barcodes one particular line might require to be "one and a
half times as thick" as the previous thickness of line) then try to arrange
it so that such relationships between line thickness do not occur until the
actual desired thickness (of the thinner line down) is at least two whole
pixels. I'm pretty sure that barcodes allow quite a bit of "drift" from the
ideal, otherwise they would be totally unreliable in real life situations,
so there may be other "approximations" that would be suitable, but I just
don't know enough about barcodes yet to sort that out.

Let me know how you get on (although I may not see your reply for a week or
so).

Mike




From: mjimeno on
Mike, or gaga(a)momo: Barcodes are this simple: Every code you need to print
(0 to 255 ascii) is represented by a 6 digits code. For example, if you
need to print the "A", you need to print "211 12", where a 1 is a thin
line, 2 is a fat line, and the space is a space. So, you usually print the
fat line twice the width of the thin line, but you could also use a ratio
like 5:2, 6:3, 2:1, and so. The space is exacly the width of a thin line,
but white, not black. That's the way I can explain you barcodes, I hope you
got it. Now, I use Printer.ScaleMode in vbPixels, but didn't work neither.
As I understand what you told me, I must print where the printer can
print, not where I want to. But, should I better use some points mode or
scale, as I guess it's the mode it can print perfectly? and how to know
where it's able to print?
Thanks, M

First  |  Prev  |  Next  |  Last
Pages: 1 2 3 4 5 6
Prev: VB3 anyone...?
Next: rsidll32