Skip to content

Repository files navigation

Evidências ARTESP

Aplicativo que monta as evidências fotográficas de superação de apontamentos rodoviários direto no PowerPoint de prestação de contas. Feito para a equipe de engenharia que responde a órgão regulador dentro de prazo contratual.

Python Licença Status

Problema

A cada ciclo de fiscalização, dezenas de apontamentos precisam voltar ao órgão regulador com foto do antes, do serviço executado e do depois, cada uma recortada e posicionada na mesma coordenada do slide. Feito à mão no PowerPoint, cada apontamento levava minutos de arrastar, redimensionar e alinhar, e bastava um slide fora do padrão para a evidência ser questionada e o prazo apertar.

Solução

  • Abre o PPTX de apontamentos e navega slide a slide, com miniatura de cada um
  • Três zonas de evidência por slide, com posição e tamanho fixos em EMU, então todo slide sai no mesmo alinhamento
  • Aceita foto por arrastar e soltar, por Ctrl+V da área de transferência ou por seleção de arquivo
  • Quando não existe foto, insere no lugar uma caixa de observação padronizada, em vez de deixar o espaço vazio
  • Caixa de descrição geral opcional, que reduz as fotos automaticamente para abrir espaço sem quebrar o layout
  • Lê o que já está no slide e permite trocar ou apagar evidência inserida antes
  • Salva no próprio arquivo e avisa de forma clara quando o PPTX está aberto no PowerPoint, em vez de falhar em silêncio

Demonstração

Tela principal Zonas preenchidas

Slide gerado

As três imagens acima são placeholders. A lista dos prints que faltam está no fim deste arquivo.

Stack e decisões técnicas

Escolha Por que
python-pptx Edita o PPTX original sem converter nada e sem depender do PowerPoint instalado na máquina
Posicionamento em EMU As zonas são coordenadas absolutas da unidade interna do Office, o que garante que todo slide saia idêntico, independente de quem preencheu
Shapes nomeados (Evidencia 1, ObsEvidencia 2, DescricaoGeral) O aplicativo reconhece o que ele mesmo inseriu e consegue reabrir, trocar ou remover sem tocar no resto do slide
Flask em 127.0.0.1 com interface no navegador Roda offline, na máquina do usuário, sem servidor, sem banco e sem upload de arquivo da empresa para lugar nenhum
Pillow para clipboard e miniatura Colar com Ctrl+V funciona mesmo sem permissão de área de transferência do navegador, porque quem lê o clipboard é o backend
Sem persistência própria A única fonte da verdade é o próprio PPTX. Não existe banco paralelo para desencontrar do arquivo entregue
Duas interfaces no mesmo repositório app.py serve a versão web local, e inserir_evidencias_artesp.pyw é a versão desktop em Tkinter, para quem prefere janela nativa

Resultados

Indicador Número
Apontamentos tratados por ciclo [PREENCHER]
Tempo por apontamento antes da ferramenta [PREENCHER] minutos
Tempo por apontamento com a ferramenta [PREENCHER] minutos
Horas economizadas por ciclo de fiscalização [PREENCHER]
Slides fora de padrão devolvidos após a adoção [PREENCHER]

Como rodar

pip install -r requirements.txt
python app.py

O navegador abre em http://localhost:5075 já com o modelo fictício de dados-exemplo/ carregado. Para usar outro arquivo, defina ARTESP_PPTX ou clique em selecionar arquivo na interface. Para a versão desktop, rode python inserir_evidencias_artesp.pyw.

Estrutura do projeto

evidencias-artesp/
├── app.py                         Backend Flask e API de leitura e escrita do PPTX
├── evidencias_artesp.html         Interface web (arrastar e soltar, Ctrl+V, zonas)
├── inserir_evidencias_artesp.pyw  Versão desktop em Tkinter, mesma lógica
├── iniciar.bat                    Atalho de execução no Windows
├── requirements.txt
├── dados-exemplo/                 PPTX e fotos fictícios para testar sem dado real
└── docs/
    └── img/                       Capturas de tela

Prints que faltam

  1. docs/img/01-tela-principal.png: janela aberta com o modelo-apontamentos.pptx carregado, mostrando a miniatura do apontamento e as três zonas vazias.
  2. docs/img/02-zonas-preenchidas.png: duas zonas com foto e uma com caixa de observação, antes de salvar.
  3. docs/img/03-slide-gerado.png: o slide já salvo, aberto no PowerPoint, com as evidências alinhadas e a descrição geral embaixo.

Desenvolvido por Jonathan Vaz linkedin.com/in/jonathan-vaz-260764b3 · jvaz.eng.dev@gmail.com

About

Insere evidências fotográficas de superação em apresentações PPTX de apontamentos rodoviários, offline.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages