Script to print from clipboard to a thermal printer

Slug: thermal

1825 characters 184 words

#text printing

#!/bin/bash # Script to print formatted text from clipboard to a thermal printer # Check for the presence of xclip if ! command -v xclip &>/dev/null; then echo "xclip could not be found." exit 1 fi # Get clipboard content using xclip clipboard_content="$(xclip -o -selection clipboard)" # Escape % to prevent printf interpretation escaped_content=$(sed 's/%/%%/g' <<<"$clipboard_content") # Convert the encoding while suppressing the specific 'iconv' error converted_text=$(iconv -f UTF-8 -t CP850//TRANSLIT//IGNORE <<<"$escaped_content" 2>/dev/null) # Print the formatted text to the thermal printer if ! printf '\x1B\x40\x1B\x21\x08\x1B\x61\x01%s\x0A\x0A\x0A\x1B\x69' "$converted_text" | lp -d thermal -o raw; then echo "Failed to print. Please check the printer and its configuration." exit 1 fi

#reverse white printing

#!/bin/bash if ! command -v xclip &>/dev/null; then echo "xclip could not be found." exit 1 fi clipboard_content="$(xclip -o -selection clipboard)" escaped_content=$(sed 's/%/%%/g' <<<"$clipboard_content") converted_text=$(iconv -f UTF-8 -t CP850//TRANSLIT//IGNORE <<<"$escaped_content" 2>/dev/null) if ! printf '\x1A\x5B\x01\x00\x00\x00\x00\x40\x02\xB0\x04\x00\x1A\x54\x01\x00\x00\x00\x00\x18\x00\x04\x00%s\x00\x1A\x5D\x00\x1A\x4F\x00\x1B\x69' "$converted_text" | lp -d thermal -o raw; then echo "Failed to print. Please check the printer and its configuration." exit 1 fi
URL: https://ib.bsb.br/thermal
Reference: http://dp-dapper.com/