Impressão em impressora térmica PT210

Imprime texto, Markdown ou cenas do Excalidraw em uma impressora térmica Bluetooth PT210 próxima, a partir do macOS.

O que é Impressão em impressora térmica PT210?

Esta skill permite que um agente de IA (como Claude Code, Cursor ou Codex) imprima conteúdo diretamente em uma impressora térmica Bluetooth PT210, a partir do macOS. Ela suporta três modos de entrada: texto simples (ASCII ou Unicode), Markdown formatado (com cabeçalhos, listas, tabelas, links, etc.) e cenas do Excalidraw (preservando geometria e proporções). A skill utiliza um script bash auxiliar que gerencia a conexão Bluetooth, a conversão de conteúdo (renderizando Markdown/Excalidraw via Google Chrome local) e a impressão propriamente dita. É útil para desenvolvedores que precisam gerar recibos, notas rápidas, checklists ou diagramas técnicos em papel térmico, diretamente de suas ferramentas de IA. A configuração inicial envolve escanear e parear a impressora, e o fluxo de trabalho oferece pré-visualização antes da impressão para evitar desperdício de papel. A skill também lida com falhas de conexão e oferece modos de transporte conservadores para evitar corrupção de dados.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/guzus/pt-210/tree/HEAD/skills/print

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Imprimir em uma PT210

Use o helper incluído através do repositório completo clonado. Resolva PRINT_SKILL_DIR para o diretório desta skill e invoque:

bash "$PRINT_SKILL_DIR/scripts/print.sh" --help

Requer macOS, uv, uma PT210 ligada com papel e permissão Bluetooth para o aplicativo que invoca. Markdown/Excalidraw também exigem Google Chrome instalado localmente. A primeira instalação de dependências usa a rede; a renderização em si permanece local. Não presuma que esta pasta de skill funcione quando copiada sem o repositório.

Conectar uma vez

bash "$PRINT_SKILL_DIR/scripts/print.sh" scan
bash "$PRINT_SKILL_DIR/scripts/print.sh" setup --address UUID_DO_SCAN

O macOS identifica dispositivos BLE por um UUID específico da máquina, não um MAC Bluetooth clássico. O setup verifica uma característica gravável suportada e salva a seleção em ~/.config/pt210/printer.json. Uma PT210 descoberta de forma única pode ser selecionada sem --address; resolva o dispositivo desejado se vários corresponderem. Um dispositivo salvo ausente nunca cai para outra impressora. --address sobrescreve PT210_ADDRESS, depois a seleção salva. inspect conecta sem imprimir.

Preparar, visualizar, imprimir

Use exatamente o conteúdo solicitado. Uma solicitação de impressão autoriza sua saída em papel; não adicione uma etapa de confirmação redundante. Visualize layouts desconhecidos primeiro.

bash "$PRINT_SKILL_DIR/scripts/print.sh" preview --file /tmp/nota.md --output /tmp/nota-preview.png
bash "$PRINT_SKILL_DIR/scripts/print.sh" print --file /tmp/nota.md
  • Texto simples: stdin ou --file. ASCII imprime rapidamente com a fonte incorporada; Unicode, incluindo coreano, usa texto bitmap. --mode raster força bitmap.
  • Markdown: .md/.markdown detectam automaticamente; use --format markdown para stdin. Preserve a formatação solicitada. Cabeçalhos, ênfase, listas, caixas de seleção de tarefas, citações, código, tabelas e links são renderizados. Tabelas largas se tornam linhas rotuladas. Links incluem destinos; imagens se tornam placeholders de texto alternativo. HTML bruto permanece literal e recursos externos são bloqueados.
  • Excalidraw: .excalidraw/.excalidraw.json detectam automaticamente; use --format excalidraw para stdin ou JSON genérico. Compile uma vez com build-excalidraw (requer npm). Use a cena salva, não uma URL de compartilhamento, biblioteca, wrapper do Obsidian ou PNG. Não regenere uma cena editada a partir do Mermaid. O renderizador local oficial preserva a geometria e escala proporcionalmente à largura do papel. Avisos de texto pequeno exigem inspeção na visualização; não corte ou reorganize silenciosamente. PNG/JPEG/WebP/GIF incorporados são suportados; anexos remotos e imagens SVG falham explicitamente. Excalidraw e Markdown sempre usam modo raster.

As visualizações nunca acessam Bluetooth e se recusam a sobrescrever um arquivo existente. As visualizações de Markdown/Excalidraw correspondem à impressão com opções idênticas. Para texto simples, use print --mode raster para corresponder à visualização; as fontes nativas diferem. Cada trabalho termina com um guia tracejado e uma margem de rasgo em branco de 20 mm. Ajuste com --tear-margin-mm 0..50 ou omita o guia com --no-tear-line. O limite de altura padrão é 2.400 pontos (300 mm incluindo a margem); encurte saída grande ou aumente explicitamente --max-height para um recibo longo solicitado.

Entrega e falhas

Aguarde o processo terminar. transmitted significa que as gravações Bluetooth foram concluídas, não prova independente de saída em papel. Obtenha confirmação em papel para configuração inicial ou novo comportamento de transporte. O bloqueio local impede trabalhos sobrepostos; não o ignore. Um envio com falha/interrompido pode ter sido impresso parcialmente: inspecione o papel antes de tentar novamente e nunca reenvie automaticamente.

Se nenhuma impressora for encontrada, peça ao usuário para ligá-la por perto e desconectar aplicativos de impressão do telefone. Use o caminho de permissão aprovado do tempo de execução quando o Bluetooth estiver em sandbox. Uma negação de Bluetooth requer ação do usuário em Privacidade e Segurança do macOS; não edite as configurações do TCC. Variantes apenas de Bluetooth Clássico precisam de outro transporte verificado; não adivinhe portas seriais ou use a impressora padrão/do escritório.

--transport conservative usa pacotes menores para o próximo trabalho autorizado se a saída estiver corrompida. Configuração da impressora, arquivos de bloqueio e caches renderizados são estado local do tempo de execução; nunca os confirme. Capacidades completas, configuração e limitações estão no README do repositório.

Habilidades Relacionadas