Printer implementations

Module escpos.printer

This module contains the implementations of abstract base class Escpos.

author

Manuel F Martinez and others

organization

Bashlinux and python-escpos

copyright

Copyright (c) 2012-2017 Bashlinux and python-escpos

license

MIT

class escpos.printer.Usb(idVendor, idProduct, usb_args=None, timeout=0, in_ep=130, out_ep=1, *args, **kwargs)[source]

Bases: escpos.escpos.Escpos

USB printer

This class describes a printer that natively speaks USB.

inheritance:

Inheritance diagram of escpos.printer.Usb
open(usb_args)[source]

Search device on USB tree and set it as escpos device.

Parameters

usb_args – USB arguments

close()[source]

Release USB interface

class escpos.printer.Serial(devfile='/dev/ttyS0', baudrate=9600, bytesize=8, timeout=1, parity='N', stopbits=1, xonxoff=False, dsrdtr=True, *args, **kwargs)[source]

Bases: escpos.escpos.Escpos

Serial printer

This class describes a printer that is connected by serial interface.

inheritance:

Inheritance diagram of escpos.printer.Serial
open()[source]

Setup serial port and set is as escpos device

close()[source]

Close Serial interface

class escpos.printer.Network(host, port=9100, timeout=60, *args, **kwargs)[source]

Bases: escpos.escpos.Escpos

Network printer

This class is used to attach to a networked printer. You can also use this in order to attach to a printer that is forwarded with socat.

If you have a local printer on parallel port /dev/usb/lp0 then you could start socat with:

socat -u TCP4-LISTEN:4242,reuseaddr,fork OPEN:/dev/usb/lp0

Then you should be able to attach to port 4242 with this class. Otherwise the normal usecase would be to have a printer with ethernet interface. This type of printer should work the same with this class. For the address of the printer check its manuals.

inheritance:

Inheritance diagram of escpos.printer.Network
open()[source]

Open TCP socket with socket-library and set it as escpos device

close()[source]

Close TCP connection

class escpos.printer.File(devfile='/dev/usb/lp0', auto_flush=True, *args, **kwargs)[source]

Bases: escpos.escpos.Escpos

Generic file printer

This class is used for parallel port printer or other printers that are directly attached to the filesystem. Note that you should stay away from using USB-to-Parallel-Adapter since they are unreliable and produce arbitrary errors.

inheritance:

Inheritance diagram of escpos.printer.File
open()[source]

Open system file

flush()[source]

Flush printing content

close()[source]

Close system file

class escpos.printer.Dummy(*args, **kwargs)[source]

Bases: escpos.escpos.Escpos

Dummy printer

This class is used for saving commands to a variable, for use in situations where there is no need to send commands to an actual printer. This includes generating print jobs for later use, or testing output.

inheritance:

Inheritance diagram of escpos.printer.Dummy
property output

Get the data that was sent to this printer

clear()[source]

Clear the buffer of the printer

This method can be called if you send the contents to a physical printer and want to use the Dummy printer for new output.

close()[source]