Estamos buscando um desenvolvedor Python para criar uma solução de automação robusta, capaz de gerar certificados ocupacionais em formatos docx e zip. O sistema deve operar em um PC local com Windows e integrar-se com dados provenientes do Microsoft Forms, preferencialmente via Power Automate Desktop, para garantir um fluxo de trabalho totalmente automatizado.
O objetivo principal é automatizar a criação de certificados a partir das respostas coletadas no Microsoft Forms (exportadas para Excel/SharePoint), mantendo 100% do layout original dos modelos de certificados existentes. A solução deve ser capaz de processar múltiplos colaboradores em lote.
Funcionalidades e Requisitos:
1. Implementação em Python: O script deve ser desenvolvido em Python, utilizando a biblioteca python-docx para manipulação dos arquivos .DOCX.
2. Integração de Dados: A automação deve consumir dados de entrada de um arquivo Excel gerado a partir das respostas do Microsoft Forms. A integração com Power Automate (especificamente Power Automate Desktop) é prioritária para o acionamento do processo.
3. Geração de Certificados: Gerar certificados automaticamente para cada colaborador com base nos modelos fornecidos e nos dados de entrada.
4. Estrutura de Saída: Para cada colaborador, o sistema deve criar uma pasta dedicada (em minúsculas, sem acentos, com underscores) e um arquivo .ZIP contendo todos os certificados gerados para aquele colaborador, além de um relatório de execução (em formato .json ou .txt).
5. Registro de Logs: A solução deve registrar logs detalhados e gerar um relatório de execução para cada lote processado.
Entrada de Dados (via Forms/Excel):
* Nome do colaborador
* cpf (com ou sem pontuação, ou “sem cpf”)
* certificados solicitados (delimitados por “;”), por exemplo: nr06;nr18;direção defensiva
regras técnicas obrigatórias para preservação de layout:
é proibido alterar qualquer um dos seguintes elementos nos modelos de certificados:
* fonte, tamanho da fonte, margens, alinhamento.
* Cabeçalho e rodapé.
* Datas, validade, carga horária ou local (exceto as datas/períodos de realização que são campos de preenchimento).
* Remover logos ou assinaturas.
Os certificados finais devem ser idênticos aos modelos originais, com a única exceção do preenchimento dos campos permitidos.
Substituições Permitidas (somente):
* Nome do colaborador
* cpf do colaborador (identificado no contexto “cpf:” ou “portador(a) do cpf:”)
* data ou período de realização
implementação (obrigatório):
* utilização da biblioteca python-docx para manipulação de documentos word.
* A solução deve suportar texto dividido em múltiplos “runs” dentro do documento Word.
* É Proibido o uso direto de `
paragraph.text = ...` Para substituição de texto.
* A varredura e substituição de texto devem ser realizadas no corpo do documento, em tabelas, cabeçalhos e rodapés.
Modelos de Certificados:
Os modelos a serem utilizados são: NR06, NR10, NR12, NR18, NR20, NR34, NR35, SEP, Direção Defensiva. Caso algum modelo não exista, os demais devem ser gerados e a ausência registrada no relatório de execução.
Saída Esperada:
* Nomes dos arquivos: “nome do colaborador -
curso.docx”
* Pastas: Uma pasta por colaborador (nome em minúscula, sem acento, com underscores)
* Arquivos ZIP: Um arquivo .ZIP por colaborador, contendo os certificados gerados e o relatório de execução (
_relatorio.json ou .txt).
Critério de Aceite:
* A solução deve funcionar para múltiplos colaboradores (processamento em lote).
* O processo deve ser totalmente automático a partir da entrada de dados do Forms.
Observação: Já existe um GPT que gera certificados; o foco deste projeto é a integração com a tabela do Forms para automatizar o processo.
Prazo de Entrega: Não estabelecido