Skip to content

Repository files navigation

SmartTank580Remote

📋 Descrição

Aplicação web moderna para controle remoto de impressora/scanner HP SmartTank 580, permitindo digitalização de documentos e fotos com configurações personalizáveis. Ideal para uso em escritórios, permitindo digitalização remota através de qualquer dispositivo conectado à mesma rede.

✨ Funcionalidades Principais

🔍 Digitalização

  • Documentos em PDF e Fotos em JPEG
  • Configurações personalizáveis:
    • Cor (Colorido ou Preto e Branco)
    • Resolução (75, 200, 300, 600 DPI)
    • Qualidade de compressão
    • Tamanho do documento (A4, Carta, 4x6, 5x7, 10x15)
  • Nome personalizado para arquivos

📱 Descoberta Automática de IP

  • Descoberta automática do IP da impressora na rede
  • Não precisa configurar manualmente o IP

👁️ Preview em Tempo Real

  • Painel de preview lateral redimensionável
  • Visualização de imagens e PDFs escaneados
  • Ordenação cronológica (mais recentes primeiro)
  • Remoção individual de arquivos do preview

💾 Salvamento

  • Salvar no Computador: Opção para salvar arquivos permanentemente no servidor
  • Download manual de arquivos
  • Mesclagem de múltiplos PDFs em um único arquivo

📊 Monitoramento

  • Status do scanner em tempo real
  • Monitoramento do estado da digitalização
  • Tratamento de erros e mensagens informativas

🚀 Instalação

Pré-requisitos

  • Python 3.7 ou superior
  • Impressora HP SmartTank 580 conectada à rede
  • Navegador web moderno (Chrome, Firefox, Edge, Safari)

Passos de Instalação

  1. Clone o repositório:
git clone <url-do-repositorio>
cd SmartTank580Remote
  1. Crie um ambiente virtual (recomendado):
# Windows
python -m venv venv
venv\Scripts\activate

# Linux/Mac
python3 -m venv venv
source venv/bin/activate
  1. Instale as dependências:
pip install -r requirements.txt
  1. Configure as variáveis de ambiente (opcional):
# Crie um arquivo .env na raiz do projeto
# Exemplo:
PRINTER_IP=192.168.100.8
PORT=8080
  1. Execute a aplicação:
python app.py
  1. Acesse no navegador:
http://localhost:8080

⚙️ Configuração

Variáveis de Ambiente

Crie um arquivo .env na raiz do projeto com as seguintes variáveis (opcional):

PRINTER_IP=192.168.100.8
PORT=8080
DEBUG=True
HOST=0.0.0.0

Nota: Se não configurar o IP, você pode usar a funcionalidade de descoberta automática na interface web.

Configuração da Impressora

  1. Certifique-se de que a impressora está conectada à rede Wi-Fi
  2. Verifique se o IP configurado está correto (ou use a descoberta automática)
  3. Teste a conectividade: ping <ip-da-impressora>

📖 Guia de Uso

Digitalização de Documentos

  1. Descoberta do IP (opcional):

    • Clique em "🔍 Descobrir IP da Impressora"
    • Aguarde a descoberta automática
  2. Configurar Digitalização:

    • Selecione o tipo: PDF ou JPEG
    • Escolha a cor: Cores ou Preto e Branco
    • Selecione o tamanho do documento (padrão: A4)
    • Configure a resolução (padrão: 300 DPI)
    • Ajuste a qualidade de compressão
    • Digite um nome para o arquivo (opcional)
  3. Salvar no Computador (opcional):

    • Marque o checkbox "Salvar no Computador" se desejar que o arquivo seja salvo permanentemente no servidor
    • Se marcado, o arquivo será salvo na pasta pdf/ do servidor
    • Se não marcado, o arquivo ficará apenas temporariamente na pasta temp/
  4. Iniciar Digitalização:

    • Clique em "Criar Tarefa de Digitalização"
    • Coloque o documento no scanner
    • Aguarde o processamento
    • O arquivo aparecerá automaticamente no preview lateral

Preview de Arquivos

  • Visualização: Todos os arquivos escaneados aparecem no painel de preview à direita
  • Redimensionamento: Arraste a borda direita do painel para ajustar a largura
  • Remoção: Clique em "Remover" em qualquer arquivo para removê-lo do preview
  • Ordenação: Arquivos mais recentes aparecem primeiro

Salvar Arquivos

  1. Download Manual:

    • Clique no botão "Salvar"
    • O último arquivo escaneado será baixado
  2. Salvar Permanentemente:

    • Marque "Salvar no Computador" antes de digitalizar
    • O arquivo será salvo automaticamente na pasta pdf/ do servidor

Mesclar PDFs

  1. Digitalize múltiplos documentos
  2. Clique em "Juntar"
  3. Todos os PDFs na pasta temp/ serão mesclados
  4. O arquivo mesclado será baixado automaticamente

📁 Estrutura do Projeto

SmartTank580Remote/
├── app.py                          # Aplicação principal Flask
├── config.py                       # Configurações centralizadas
├── printer_routes.py               # Rotas relacionadas à impressora
├── requirements.txt                # Dependências Python
├── .env                           # Variáveis de ambiente (criar)
│
├── services/                       # Serviços e lógica de negócio
│   ├── __init__.py
│   ├── scanner_service.py         # Serviço de scanner
│   ├── printer_discovery_service.py  # Descoberta de IP
│   └── file_service.py            # Gerenciamento de arquivos
│
├── static/                        # Arquivos estáticos
│   ├── script.js                 # Scripts principais
│   ├── digitalizar.js            # Lógica de digitalização
│   ├── salvar.js                 # Lógica de salvamento
│   ├── mesclar.js                # Lógica de mesclagem
│   ├── discovery.js              # Descoberta de IP
│   ├── styles.css               # Estilos CSS
│   └── styles_improved.css      # Estilos alternativos
│
├── templates/                    # Templates HTML
│   ├── index.html               # Interface principal
│   └── index_improved.html      # Interface alternativa
│
├── temp/                        # Arquivos temporários (gerado automaticamente)
├── pdf/                         # Arquivos salvos permanentemente (gerado automaticamente)
│
└── README.md                    # Este arquivo

🔧 Solução de Problemas

Impressora Offline

Sintoma: Mensagem "A impressora está offline"

Soluções:

  • Verifique a conexão de rede da impressora
  • Confirme o IP da impressora nas configurações
  • Teste a conectividade: ping <ip-da-impressora>
  • Use a funcionalidade de descoberta automática de IP
  • Verifique se a impressora está ligada e conectada à mesma rede

Erro 503 ao Criar Tarefa

Sintoma: "Falha ao criar a tarefa de digitalização. Código de status: 503"

Soluções:

  • Verifique se há outra tarefa de digitalização em andamento
  • Aguarde alguns segundos e tente novamente
  • Verifique se o scanner não está ocupado ou em erro
  • Reinicie a impressora se necessário

Arquivo Não Aparece no Preview

Sintoma: Arquivo escaneado mas não aparece no preview

Soluções:

  • Recarregue a página
  • Verifique se o arquivo foi salvo na pasta temp/
  • Verifique os logs do servidor para erros
  • Limpe os arquivos temporários e tente novamente

Erro de Certificado SSL

Nota: A aplicação usa verify=False para desenvolvimento. Para produção, configure certificados adequados.

🛠️ Desenvolvimento

Executar em Modo Debug

export FLASK_ENV=development
python app.py

Estrutura de Pastas

  • temp/: Arquivos temporários (podem ser limpos)
  • pdf/: Arquivos salvos permanentemente quando "Salvar no Computador" está marcado

Limpar Arquivos Temporários

A aplicação verifica automaticamente arquivos temporários ao iniciar. Você também pode limpar manualmente através da interface ou deletando os arquivos na pasta temp/.

🔐 Segurança

⚠️ Atenção para Produção:

  • Esta aplicação foi desenvolvida para uso em rede local
  • Para uso em produção, considere:
    • Implementar autenticação
    • Usar HTTPS com certificados válidos
    • Configurar firewall adequado
    • Implementar rate limiting
    • Usar variáveis de ambiente para configurações sensíveis

📝 Notas Técnicas

  • Protocolo: eSCL (eScan Service)
  • Porta padrão: 8080
  • Formato de arquivos: PDF e JPEG
  • Resoluções suportadas: 75, 200, 300, 600 DPI

🤝 Contribuição

Contribuições são bem-vindas! Siga estes passos:

  1. Fork o projeto
  2. Crie uma branch para sua feature (git checkout -b feature/MinhaFeature)
  3. Commit suas mudanças (git commit -m 'Adiciona MinhaFeature')
  4. Push para a branch (git push origin feature/MinhaFeature)
  5. Abra um Pull Request

📄 Licença

Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.

👨‍💻 Autor

Desenvolvido para controle remoto de impressora HP SmartTank 580.

🆘 Suporte

Para problemas ou dúvidas:

  1. Verifique a seção "Solução de Problemas" acima
  2. Consulte os logs do servidor
  3. Abra uma issue no repositório

Versão: 1.0
Última atualização: 2026

About

Aplicação Flask para controlar suas digitalizações da Impressora HP SmartTank 580 Remotamente

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages