Commit Graph

133 Commits

Author SHA1 Message Date
Alejandro Hernández 15c18f225e
Update printer.py
without the call to open function, the printer isn't initialize to print, i tested on a generic and epson physical printers.
2021-10-27 17:35:53 -05:00
Patrick Kanzler 1ad53eb642 drop support for python 3.5 2020-11-08 23:51:57 +01:00
Patrick Kanzler ed8ec0788a start with type annotation 2020-11-08 23:45:25 +01:00
Patrick Kanzler 36bbb6690f handle socket error when closing 2020-11-08 22:34:57 +01:00
Patrick Kanzler 596787554b add disclaimer to beep sound
fixes #365
2020-09-28 20:44:22 +02:00
Maximilian Wagenbach c57b9c35dc Use https links. 2020-05-31 16:21:42 +02:00
Maximilian Wagenbach ee6eef6db3 I verified that this works. Both modes cut the paper 95% of the way through. 2020-05-26 01:38:57 +02:00
Patrick Kanzler ff39908674
Merge branch 'master' into 390-add-spellcheck-to-sphinx 2020-05-11 23:45:34 +02:00
Patrick Kanzler f4e214ad17 add spellchecker with first conf, fix some errors 2020-05-11 23:39:56 +02:00
Patrick Kanzler b9e3827867 use pkg_resources
This change uses if no path for e capabilities-file is supplied a
temporary file created by pkg_resources, which should be more robust
than directly accessing the file. (This failed sometimes, for example
in zipped distributions or uncommon structures)
2020-05-11 22:54:22 +02:00
Romain Porte 8ca682e3ac soft_barcode: add new center=True option 2020-05-10 14:08:50 +02:00
Romain Porte cb30d7a881 drop Python 2.7 support
Python 2.7 EOL is arriving on 2020-01-01: https://pythonclock.org/

This will allow us to use Python 3 only libraries, like python-barcode,
which can maintain a reduced, simpler codebase, due to only one version
to support.

Closes #371.

Signed-off-by: Romain Porte <microjoe@microjoe.org>
2020-05-10 10:55:44 +02:00
Maximilian Wagenbach cc67cb1c1e Added some documentation and error handling to the image center flag. 2020-03-11 15:51:16 +01:00
Yaisel Hurtado 7c7d401f31 Adding except NotImplementedError for 'detach_kernel_driver' in order to avoid the exception NotImplementedError: Operation not supported or unimplemented on this platform. 2019-06-27 19:28:49 -04:00
Patrick Kanzler 5ff73595b6 fix links and impl (in qr-method) in docstrings
fixes #308
2019-06-16 01:54:47 +02:00
Alex Debiasio 8bf0e08659 Implemented _read method of Network printer class 2019-06-13 21:28:46 +02:00
Patrick Kanzler b4c32b5a4a
Merge branch 'development' into development 2019-06-04 23:04:25 +02:00
Patrick Kanzler 40b30225d3
Merge pull request #330 from om26er/windows-support
Enable Windows Support
2019-06-04 23:04:09 +02:00
Justin Vieira 91ff83e506 Update to use pyyaml safe_load(), as load() is unsafe and disabled on some systems 2019-05-29 16:43:19 -04:00
Omer Akram 29ef88f591 Better comment 2019-05-22 17:25:33 +05:00
Omer Akram 7c01a30d6c fix a typo 2019-05-22 17:20:15 +05:00
Omer Akram d20646b2a9 Make windows enablement code more intelligent 2019-05-22 17:01:13 +05:00
Omer Akram 206822ac69 Enable Windows Support 2019-05-22 16:39:26 +05:00
Ramon Poca 2886075ce9 Fix initializer mess 2018-12-31 14:24:10 +01:00
Ramon Poca 73fff6291d Fix syntax 2018-12-31 13:57:53 +01:00
Ramon Poca 18c51358aa Add Win32Raw printer to available printers 2018-12-13 08:01:05 -08:00
Gerard Marull-Paretas 52719c0b7d Allow arbitrary USB args 2018-11-21 22:01:13 +01:00
Patrick Kanzler 6c94f88c24
improve platform independence (#296)
* add os.devnull for platform independence

fixes #288

* add test for soft_barcode

* open devnull as binary

* add version identifier to pickle
2018-05-15 01:03:07 +02:00
Patrick Kanzler 47b4d41b28
use package for tempdir
cherry-picked from 8494cca526 in #274
2018-05-13 18:52:39 +02:00
primax79 d085e5c467 parameter for implementation of nonnative qrcode (#289) 2018-05-13 18:42:41 +02:00
Thijs Triemstra 4390dc4a9c fix is_online() (#282)
* fix is_online

* fix sphinx formatting

* reword
2018-05-02 09:25:04 +02:00
Thijs Triemstra 6e09fd1e97 fix typo 2018-04-26 07:22:37 +02:00
Thijs Triemstra 100c6b5e89 fix typo (#279) 2018-02-07 22:17:18 +01:00
Christoph Heuel 26d72a69f0 Feature/clear content in dummy printer (#271)
Add Function to Dummy Printer for Clearing Buffer

If you are using the dummy printer, you may want to use the printer
again after sending the output to a physical printer.
This method empties the list of the output buffer.
2017-12-04 00:13:28 +01:00
reck 3c3dab95f5 raise exception when TypeError occurs in cashdraw (#268) 2017-12-03 23:21:29 +01:00
Patrick Kanzler 6b0b1371e5 fix layout in File-printer-section 2017-10-08 21:31:45 +02:00
Patrick Kanzler 44f01a212b fix docs failing due to pickle protocol in mixed env
When executing a tox-run a pickle file will be created. If the docs are
built after the py3 task, it will fail due to incompatible
pickle-protocols.
See https://stackoverflow.com/a/25843743/4244236 for reference.
2017-10-08 21:08:13 +02:00
Lucy Linder 456f5b7aa6 Feature/check barcodes (#255)
* add a method to check barcode code format

ensure that the code to print is compatible with the ESC/POS formats and
also automatically check this format before printing (barcode() method).

* rewrite test using pytest's parametrize functionality

* add test for the 'check' argument

* update authors list
2017-10-08 20:05:18 +02:00
Romain Porte b648cfd67f First attempt at centering images and QRs (#250)
This was tested on ZJ-5890 with success. By default centering is
deactivated for backward compatibility. Trying to center a QR code in
native mode will raise an exception as we do not know ATM if the native
rendering is centered by default or not.

* Added basic tests for center feature

* Check image size before centering
2017-08-31 09:25:35 +02:00
Sergio 50c627fbb0 Pickling capabilities for faster start up times. (#252)
On a RaspberryPi it's taking 10 seconds to simply run:

import escpos.printer

This change creates a pickle file that will load 20x faster. The
rationale is that the capabilities.json file doesn't change too often.

Also changed some imports for PEP8.
2017-08-31 09:07:26 +02:00
Patrick Kanzler 281eea125f fix abstract read-function
read does not need msg-parameter
2017-08-10 21:51:51 +02:00
Romain Porte b64b534394 Add methods for simpler newlines (#246) 2017-08-01 17:09:24 +02:00
Patrick Kanzler 81426ab6dc fix whitespace 2017-08-01 12:27:53 +02:00
Patrick Kanzler df1193ab35 implement read for Serial 2017-08-01 11:20:00 +02:00
Patrick Kanzler f8a2174108 fix typo 2017-07-27 23:06:59 +02:00
csoft2k 1f57b04974 Paper sensor querying command (#242)
The DLE EOT command allows querying the status of several features of
the printer.
Added to the online/offline status developed in #237, this commit adds a
paper sensor querying.

Tested with an Epson TM-T20II, which only has an end-paper sensor. The
near-end paper sensor should be tested with a compatible printer.
However, the implementation is quite straight-forward.
2017-07-27 23:05:50 +02:00
csoft2k 82c67aa646 Fix tabs behaviour (#238)
The changes done in this commit should help with the open issues:
#5, #27 and #161.
The old implementation lacked the NUL char at the end of the command, as
defined on the Epson ESC/POS Reference Guide (see
https://reference.epson-biz.com/modules/ref_escpos/index.php?content_id=53
). Also, the horizontal tab control character (CTL_HT) shouldn't be
there.

This implementation allows setting up to 32 tabs with a given tab width.
Both values are checked to be in the valid ranges defined on the guide.
Also, the TabPosError exception text has been rewritten to define the
stated above.
2017-07-26 10:01:08 +02:00
Romain Porte 9e47ff2505 Added test for cut without feed, fixed raw code for it 2017-07-26 09:09:32 +02:00
Romain Porte 9bc3b30a60 Optional feed for cut (closes #213) 2017-07-26 09:09:32 +02:00
Romain Porte 5bd6dcf471 Ensure QR codes have a border large enough (#235)
*  Ensure QR codes have a border large enough
(The QR code spec requires a border at least 4*box_size thick but we can't
 just set border=16 because that results in a QR code more than 255px tall
 and I'm not yet ready to use fullimage() as a backend for it)
This fix was originally commited by Stephan Sokolow on 2014-05-22
* Let the user print stuff using qr example
* fix tests
2017-07-24 15:04:54 +02:00