Versão linha de comando em Python do Gerador de Mosaico ODS | AdaptaBrasil MCTI
Este script permite gerar mosaicos das imagens ODS diretamente pela linha de comando, com todas as configurações definidas em um arquivo .env.
- Python 3.8 ou superior
- pip (gerenciador de pacotes Python)
cd cli-generator-pythonInstalação Básica (Apenas PNG - Recomendada para Iniciantes):
pip install Pillow python-dotenvInstalação Completa (com suporte a SVG):
pip install -r requirements.txt
⚠️ Nota sobre SVG: O suporte a SVG requer ocairosvg, que precisa de bibliotecas do sistema (GTK/Cairo). Se tiver problemas, use apenas PNG - funciona perfeitamente!Para instalar suporte a SVG, consulte: INSTALL_CAIRO.md
No Windows:
copy .env.example .envNo Linux/Mac:
cp .env.example .envpython gerador_ods.py <números-das-imagens>Gerar mosaico com 7 imagens:
python gerador_ods.py 1,2,3,4,5,6,7Todas as 17 ODS:
python gerador_ods.py 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17Imagens específicas com espaços (opcional):
python gerador_ods.py "1, 3, 5, 7, 9, 11, 13, 15, 17"Apenas algumas ODS:
python gerador_ods.py 1,4,7,10,13Com números repetidos (criar padrões):
# Repetir imagens para criar padrões
python gerador_ods.py 1,1,2,2,3,3,4,4
# Banner com ênfase em certas ODS
python gerador_ods.py 1,13,13,13,17
# Padrão alternado
python gerador_ods.py 1,2,1,2,1,2,1,2# Exibir ajuda
python gerador_ods.py --help
python gerador_ods.py -h
# Exibir versão
python gerador_ods.py --version
python gerador_ods.py -v| Variável | Descrição | Valores | Padrão |
|---|---|---|---|
IMAGES_PER_ROW |
Imagens por linha | 1 a 17 | 7 |
IMAGE_SIZE |
Tamanho de cada imagem (px) | 50 a 500 | 200 |
SPACING |
Espaçamento entre imagens (px) | 0 a 50 | 0 |
| Variável | Descrição | Valores | Padrão |
|---|---|---|---|
BACKGROUND_TYPE |
Tipo de fundo | transparent ou solid |
transparent |
BACKGROUND_COLOR |
Cor de fundo (hexadecimal) | Ex: #ffffff, #f0f0f0 |
#ffffff |
BACKGROUND_OPACITY |
Opacidade do fundo | 0 a 100 | 100 |
| Variável | Descrição | Valores | Padrão |
|---|---|---|---|
OUTPUT_DIR |
Diretório de saída | Caminho relativo/absoluto | ./output |
OUTPUT_FILENAME |
Nome base do arquivo | String | mosaico-ods |
OUTPUT_FORMAT |
Formato de saída | png ou jpg |
png |
OUTPUT_QUALITY |
Qualidade JPG | 1 a 100 | 95 |
| Variável | Descrição | Valores | Padrão |
|---|---|---|---|
IMAGES_PATH |
Caminho para as imagens ODS | Caminho relativo | ./assets/images/ods |
IMAGE_FORMAT |
Formato preferencial | svg ou png |
svg |
IMAGES_PER_ROW=17
IMAGE_SIZE=150
SPACING=0
BACKGROUND_TYPE=transparent
OUTPUT_FORMAT=pngComando:
python gerador_ods.py 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17Resultado: Banner horizontal com todas as 17 ODS sem espaços.
IMAGES_PER_ROW=3
IMAGE_SIZE=200
SPACING=10
BACKGROUND_TYPE=solid
BACKGROUND_COLOR=#ffffff
BACKGROUND_OPACITY=100
OUTPUT_FORMAT=pngComando:
python gerador_ods.py 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17Resultado: Grade organizada 3 colunas com fundo branco sólido.
IMAGES_PER_ROW=7
IMAGE_SIZE=180
SPACING=5
BACKGROUND_TYPE=transparent
OUTPUT_FORMAT=pngComando:
python gerador_ods.py 1,2,3,4,5,6,7Resultado: Banner com 7 ODS perfeito para cabeçalhos.
IMAGES_PER_ROW=4
IMAGE_SIZE=200
SPACING=10
BACKGROUND_TYPE=solid
BACKGROUND_COLOR=#e3f2fd
BACKGROUND_OPACITY=80
OUTPUT_FORMAT=pngComando:
python gerador_ods.py 1,2,3,4,5,6,7,8,9,10,11,12Resultado: Grid 4x3 com fundo azul claro semi-transparente.
IMAGES_PER_ROW=5
IMAGE_SIZE=250
SPACING=0
BACKGROUND_TYPE=solid
BACKGROUND_COLOR=#ffffff
BACKGROUND_OPACITY=100
OUTPUT_FORMAT=jpg
OUTPUT_QUALITY=95Comando:
python gerador_ods.py 1,2,3,4,5,6,7,8,9,10Resultado: Mosaico em JPG de alta qualidade com fundo branco.
- ✅ Suporta transparência
- ✅ Qualidade sem perdas
- ✅ Ideal para web e design
- 📏 Tamanho de arquivo maior
- ❌ Não suporta transparência
⚠️ Compressão com perdas- ✅ Tamanho de arquivo menor
- ✅ Ideal para impressão
Os arquivos são salvos com o seguinte formato de nome:
Com fundo transparente:
output/mosaico-ods-transparente-2025-01-24-143022.png
Com fundo sólido:
output/mosaico-ods-2025-01-24-143022.png
Em JPG:
output/mosaico-ods-2025-01-24-143022.jpg
pip install Pillowpip install python-dotenv# Copie o arquivo de exemplo
cp .env.example .envO script usa automaticamente PNG como fallback. Se quiser suporte a SVG:
Veja o guia completo: INSTALL_CAIRO.md
Ou use o instalador automático:
Windows:
instalar_cairo.batLinux/Mac:
chmod +x instalar_cairo.sh
./instalar_cairo.shTestar instalação:
python test_cairo.pyVerifique se o caminho em IMAGES_PATH está correto:
# Caminho relativo ao script
IMAGES_PATH=./assets/images/ods- Pillow (>=10.0.0): Manipulação de imagens
- python-dotenv (>=1.0.0): Leitura de variáveis de ambiente
- cairosvg (>=2.7.0): Suporte a imagens SVG
- Requer Cairo instalado no sistema
- Veja INSTALL_CAIRO.md para instruções
Gere mosaicos para slides e apresentações:
python gerador_ods.py 1,2,3,4,5,6Crie banners para sites institucionais:
python gerador_ods.py 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17Mosaicos para posts em redes sociais:
python gerador_ods.py 1,3,5,7,9,11,13,15,17Mosaicos em alta resolução para impressão:
IMAGE_SIZE=500
OUTPUT_FORMAT=jpg
OUTPUT_QUALITY=100Ilustrações para relatórios e documentos:
python gerador_ods.py 4,7,11,13Crie padrões visuais repetindo imagens:
Padrão espelhado:
python gerador_ods.py 1,2,3,4,5,4,3,2,1Ênfase em ODS específicas:
# Destacar ODS 13 (Clima)
python gerador_ods.py 1,2,13,13,13,14,15Padrão decorativo:
# Criar borda com repetições
python gerador_ods.py 1,1,1,2,3,4,5,6,1,1,1Grid com repetições:
# 3x3 com padrão
python gerador_ods.py 1,2,1,2,3,2,1,2,1#!/bin/bash
# gerar_mosaicos.sh
# Todas as ODS
python gerador_ods.py 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17
# Apenas sociais
python gerador_ods.py 1,2,3,4,5
# Apenas ambientais
python gerador_ods.py 13,14,15
echo "Mosaicos gerados com sucesso!"@echo off
REM gerar_mosaicos.bat
REM Todas as ODS
python gerador_ods.py 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17
REM Apenas sociais
python gerador_ods.py 1,2,3,4,5
REM Apenas ambientais
python gerador_ods.py 13,14,15
echo Mosaicos gerados com sucesso!
pauseAs 17 imagens representam os Objetivos de Desenvolvimento Sustentável da ONU:
- Erradicação da pobreza
- Fome zero e agricultura sustentável
- Saúde e bem-estar
- Educação de qualidade
- Igualdade de gênero
- Água potável e saneamento
- Energia limpa e acessível
- Trabalho decente e crescimento econômico
- Indústria, inovação e infraestrutura
- Redução das desigualdades
- Cidades e comunidades sustentáveis
- Consumo e produção responsáveis
- Ação contra a mudança global do clima
- Vida na água
- Vida terrestre
- Paz, justiça e instituições eficazes
- Parcerias e meios de implementação
Contribuições são bem-vindas! Sinta-se à vontade para:
- Reportar bugs
- Sugerir novas funcionalidades
- Melhorar a documentação
- Enviar pull requests
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
- Projeto original: Adapta Brasil MCTI
- Imagens ODS: Nações Unidas Brasil
- Versão CLI Python: Desenvolvido com base no projeto web
Para dúvidas ou problemas:
- Abra uma issue no GitHub
- Consulte a documentação do projeto web
- Entre em contato com a equipe Adapta Brasil MCTI
⭐ Se este projeto foi útil, considere dar uma estrela no GitHub!
Adapta Brasil MCTI | Desenvolvendo soluções sustentáveis