FraterCCCLXIII/pressmark

Pressmark — design and print labels from your desktop or browser.

★ 0Forks 0SvelteGitHub ↗Compare

README

Pressmark

Design and print labels from your desktop or browser.

Repository

Pressmark is based on NiimBlue and uses NiimBlueLib for printer communication.

Upstream community: FAQ · Discord · NIIMBOT Community Wiki

Features

  • Privacy first! This application works completely offline (at browser side) and does not send any data (except for downloading application files and importing ZPL labels). Label data is stored in your browser.
  • Support for both Bluetooth and USB connections.
  • Rich label editor. Label saving, import/export.
  • Print preview. You can see how your label will look like after post-processing. Several post-processing algorithms are available.
  • Standalone apps:
    • Desktop (Electron)
    • Android (Capacitor)
    • Windows (Tauri, Edge-backed)
  • Most complete implementation of NIIMBOT protocol.

You can see more complete list of implemented and planned features on the Wiki.

Demonstration video:

demo video

Supported printers

There is no exact list of supported models in this project. This project aims to support the maximum number of models.

You can check a list of tested models here. If you own other model, please write a comment.

If your (new) printer model does not print, please make a packet dump of print with official application.

Note

If you have printing problems, try different print task versions in print preview dialog. Make if default by pressing "Lock" button.

Supported browsers

Your browser must support Web Bluetooth API: supported browsers.

For serial communication: supported browsers.

Modern Chrome-based browsers should usually work.

In some systems you need to enable Chrome Web Bluetooth or Experimental Web Platform Features (navigate to chrome://flags).

Images

Images may be outdated.

ui

⬇ More images ⬇

Label properties:

labels

Save/load menu:

save_load

Print preview dialog:

print_preview

Post-processing:

dither

Templating:

templating

Dynamic data:

batch

In real life:

printed_b1

printed_d110

Development

Launching development server

Skip steps you have done.

  1. Install git

  2. Install nodejs

  3. Clone repository

    git clone https://github.com/FraterCCCLXIII/pressmark.git
  4. Install dependencies

    npm i
  5. Run dev server

    Check code and run:

    npm run dev-check

    Or just run:

    npm run dev

Deployment

Here are some options. HTTPS is required for non-localhost deployments.

Serving static files

To get static files run npm run build (result builds to dist) or download niimblue-dist.zip from Releases.

Using Docker Image

Follow the instructions in the wiki.

IDE setup

Project uses path aliases.

VSCode (settings.json):

{
  "typescript.preferences.importModuleSpecifier": "non-relative",
  "javascript.preferences.importModuleSpecifier": "non-relative"
}

Translations (click to contribute)

translation

Contributors

MultiMotexfqz86FraterCCCLXIIIbiuklijajelinj8smitshetyepiotrantosikViBE-HUmlgtcodelongsmith77mmfa4503dbergAliAsiri20atanarrocaiodettmarJorgaguantoninmerka02-beepcornebistouillemapsrofSirShrimpzeeenjaaachazeppsChinchillusd4n1bjasonmadiganAlejandroOlivaresPTanitpongdeerwareMohammadHoutarymoonberry-pl

Issues