Last active
March 18, 2016 14:14
-
-
Save pedrokoblitz/e2140d7a0b57654662dc to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import sys | |
from PIL import Image | |
from PIL import ImageFont | |
from PIL import ImageDraw | |
''' | |
==== Dependências ==== | |
instalar PIL: | |
sudo apt-get install python-pil | |
se nao for ubuntu e/ou pacote nao estiver disponivel, instale o pip (gerenciador de pacotes python) | |
sudo apt-get install python-pip | |
e instale o PIL | |
sudo pip install PIL | |
==== Utilização ==== | |
na linha de comando: | |
python certificado.py "Jose da Silva" certificado_jose_da_silva.jpg | |
dentro de script PHP: | |
<?php | |
$nome = "Jose da Silva"; | |
$arquivo = "certificado_jose_da_silva.jpg"; | |
exec("python certificado.py " . $nome . " " . $arquivo); | |
==== Troubleshooting ==== | |
para resolver possiveis problemas de centralização: | |
http://stackoverflow.com/questions/1970807/center-middle-align-text-with-pil | |
http://stackoverflow.com/questions/2234874/draw-text-to-center-of-the-image-using-pil | |
http://stackoverflow.com/questions/19191286/how-to-center-text-with-pil | |
''' | |
# abre modelo do certificado | |
img = Image.open("sample_in.jpg") | |
# define canvas | |
draw = ImageDraw.Draw(img) | |
# define fonte | |
# o arquivo da fonte true type deve estar presente no diretorio do script | |
font = ImageFont.truetype("sans-serif.ttf", 16) | |
# escreve o texto na imagem | |
# (0,0) são as cordenadas x,y | |
draw.text((0, 0), sys.argv[1], (255,255,255), font=font) | |
# pega nome do arquivo do parametro passado na linha de comando | |
out_file = sys.argv[2] | |
#salva arquivo | |
img.save(out_file) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment