WIP: Custom program for printing to Epson dot matrix printer

Posted on 2015-02-02 at 03:54 in Programs, Videos by Robbi-985.
Tags:

I’m experimenting with making a program to print an image to my dot matrix printer much faster than when using the Epson driver (it avoids changing print colour often), and with a lot more options. Here’s a speed comparison, plus an extra video at the end showing it being the fastest I’ve ever seen it print a colour image.

[Watch in HD]

Not shown in this video are the program’s extra options for dithering, and being able to print very long images. Well, the program’s not really shown at all here, since it’s nowhere near complete yet (or even working properly), so this video just shows off the things that… sort-of-work so far.

The program sends raw ESC/P2 data (Epson’s printer control codes) to any printer port that you have installed (including USB-to-printer adaptors), with no need for the Epson driver. It bypasses the page limit length enforced by the driver, provides detailed dithering options (including error diffusion, used in this video), and takes a different approach to printing colours. This approach is designed to be much faster than colour printing using the Epson driver, but my program has to fight against the printer’s urge to merge everything internally and print all 4 colours slowwwwwly on every line. It seems to all depend on timing – wait a moment so that it starts printing – which I’m very disappointed in, because different printers will print at different speeds. This means it’ll be hard to make a program that works well with any ESC/P2-compatible printer. It will at least end up with the correct ink on the paper – it just might take 10 minutes to print. Oh well~

EDIT: Newer progress can be seen here.


Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>