GithubHelp home page GithubHelp logo

keriszafir / dymoprint Goto Github PK

View Code? Open in Web Editor NEW

This project forked from computerlyrik/dymoprint

0.0 1.0 0.0 1.23 MB

Linux Software to print with LabelManager PnP from Dymo

License: Apache License 2.0

Python 100.00%

dymoprint's Introduction

dymoprint

GitHub Actions (Tests) PyPI version

Linux Software to print with LabelManager PnP from Dymo

Features

  • Works on python 3.7 and up
  • Supports text printing
  • Supports qr code printing
  • Supports barcode printing
  • Supports image printing
  • Supports combined barcode / qrcode and text printing

Installation

It is recommended to install dymoprint with pipx so that it runs in an isolated virtual environment:

pipx install dymoprint

In case pipx is not already installed, it can be installed on Ubuntu/Debian with

sudo apt-get install pipx

or on Arch with

sudo pacman -S python-pipx

To install for development, fork and clone this repository, and from this directory, and run (ideally within a venv):

pip install --editable .

Configuration

For ubuntu based distributions

Use udev and modeswitch configurations to work with the LabelManager PNP. modeswitch changes the mode (and USB Id) from mass storage device to printer device.

sudo cp 91-dymo-labelmanager-pnp.rules /etc/udev/rules.d/
sudo cp dymo-labelmanager-pnp.conf /etc/usb_modeswitch.d/

and restart services with:

sudo systemctl restart udev.service

Finally, physically disconnect and reconnect the LabelManager PnP.

(more info)

For arch based distributions

(should also work for manjaro, but not tested yet) use udev and modeswitch configurations to work with the LabelManager PNP. modeswitch changes the mode (and USB Id) from mass storage device to printer device.

Install usb_modeswitch at first:

sudo pacman -S usb_modeswitch

if the /etc/usb_modeswitch.d/ folder was not created at installation do:

sudo mkdir /etc/usb_modeswitch.d/

now copy the udev and usb_modswitch configs:

sudo cp 91-dymo-labelmanager-pnp.rules /etc/udev/rules.d/
sudo cp dymo-labelmanager-pnp.conf /etc/usb_modeswitch.d/

and restart services with:

sudo udevadm control --reload

you might need to change the permissions of the hid device (dymoprint will tell if it is the case):

sudo chown your_user:users /dev/hidraw0

Finally, physically disconnect and reconnect the LabelManager PnP.

(more info)

Font management

Fonts are managed via dymoprint.ini. This should be placed in your config folder (normally ~/.config). An example file is provided here.

You may choose any TTF Font you like

You may edit the file to point to your favorite font.

For my Arch-Linux System, fonts are located at e.g.

/usr/share/fonts/TTF/DejaVuSerif.ttf

It is also possible to Download a font from http://font.ubuntu.com/ and use it.

Modes

Print text

dymoprint MyText

Multilines will be generated on whitespace

dymoprint MyLine MySecondLine # Will print two Lines

If you want whitespaces just enclose in " "

dymoprint "prints a single line"

Print QRCodes and Barcodes

dymoprint --help

Print Codes and Text

Just add a text after your qr or barcode text

dymoprint -qr "QR Content" "Cleartext printed"

Picture printing

Any picture with JPEG standard may be printed. Beware it will be downsized to tape.

dymoprint -p mypic.jpg ""

Take care of the trailing "" - you may enter text here which gets printed in front of the image

Development

Besides the travis-ci one should run the following command on a feature implemention or change to ensure the same outcome on a real device:

dymoprint Tst && \
dymoprint -qr Tst && \
dymoprint -c code128 Tst && \
dymoprint -qr qrencoded "qr_txt" && \
dymoprint -c code128 Test "bc_txt"

ToDo

  • (?)support multiple ProductIDs (1001, 1002) -> use usb-modeswitch?
  • put everything in classes that would need to be used by a GUI
  • for more options use command line parser framework
  • allow selection of font with command line options
  • allow font size specification with command line option (points, pixels?)
  • provide an option to show a preview of what the label will look like
  • read and write a .dymoprint file containing user preferences
  • print barcodes
  • print graphics
  • plot frame around label
  • vertical print

dymoprint's People

Contributors

maresb avatar computerlyrik avatar dev-zero avatar happycodingrobot avatar bbinet avatar cianoflynn avatar aleksas avatar spike77453 avatar

Watchers

Keri Nikola Szafir avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.