gerador de documento com foto

9,662 views
Skip to first unread message

Vivian

unread,
Mar 6, 2012, 10:56:18 PM3/6/12
to LISTA PHP
ola amigos
alguem pode me ajudar, preciso simular a geração de um documento
qualquer com foto no wordpress.
Por exemplo voce envia nome, data nascimento, foto e alguns campos
mais, ai imprime na tela um RG com os dados frente e verso, para
imprimir ou receber o link para imprimir quando quiser para o usuario
wordpress.
obrigada por ajudar

Jansen Nunes

unread,
Mar 7, 2012, 6:49:36 AM3/7/12
to list...@googlegroups.com
Olá vivian

Geralmente aqui respondemos dúvidas sobre programação PHP.
Mas vamos lá.
Você vai precisar de uma cam e seu usuário também.
Tem um script em flash que ajuda a vc captar uma foto de uma cam e salvar em um diretorio.
Através do PHP ou  você vai poder formatar essa foto
Finalmente vc cria um css aonde vc criará o layout desse documento,
O usuario vai cortar a folha que ele imprimiu e colará as partes.

Se o usuário enviar as fotos para você fica mais facil.
É só vc criar um sistema de upload que ja formate a foto para a dimensão que vc quer e você formata o layout do seu documento com css para a impressão.
De qualquer forma o usuário vai imprimir uma folha e recortará o documento.

Jansen

2012/3/7 Vivian <vivia...@gmail.com>
--
============================================================
JQUERY MAGAZINE > http://www.jquerymagazine.com.br
--
PHP MAGAZINE > http://www.phpmagazine.com.br
--
LISTA NODE.JS > https://groups.google.com/group/lista-nodejs?hl=pt-br
--
AJAX-BRASIL > http://groups.google.com/group/ajax-brasil
--
PYTHON-GOOGLE > http://groups.google.com.br/group/python-google
--
DOTNET-BRASIL > http://groups.google.com.br/group/dotnet_br
============================================================



--
Jansen

Dsprog

unread,
Mar 7, 2012, 6:53:43 AM3/7/12
to list...@googlegroups.com
Utilize a classe http://www.verot.net mais um pouco de calculo e você chegara ao resultado que você quer, depois é só transfformar isso em plugin.
Creio que  você não achara nada pronto do jeito que você quer.

---------------------------------------------------------------------------------------------------------

Jober

unread,
Mar 7, 2012, 8:26:15 AM3/7/12
to list...@googlegroups.com
Poder ser criado um documento com TCPDF com o tamanho personalizado da página.


Senho 2 páginas que seria frente e verso



--

Vivian

unread,
Mar 7, 2012, 8:13:01 PM3/7/12
to LISTA PHP
nossa nao tinha pensado no uso da webcam para tirar fotos.. mas ai
acho que é bem mais complicado
to iniciando no php, e confesso que vi todas as sugestoes e nem sei
onde começar.
tenho o modelo, nao sei se consigo postar aqui, mas teria algum
exemplo basico com uma imagem e um texto pra ver como funciona ?
obrigadaa

On 7 mar, 10:26, Jober <jober.cavalca...@gmail.com> wrote:
> Poder ser criado um documento com TCPDF com o tamanho personalizado da
> página.
>
> Senho 2 páginas que seria frente e verso
>
> Em 7 de março de 2012 07:53, Dsprog <dsp...@gmail.com> escreveu:
>
>
>
>
>
>
>
> > Utilize a classehttp://www.verot.netmais um pouco de calculo e você

Vivian

unread,
Mar 7, 2012, 8:19:00 PM3/7/12
to LISTA PHP
amigos a ideias sao otimas, mas nao tenho ideia como começar
alguem tem algum exemplo simples com uma imagem de fundo, um upload de
imagem invertendo ela 90 graus e um texto ?
se quiserem posso postar o modelo aqui pra vcs conhecerem
obrigadaa
bjs

On 7 mar, 10:26, Jober <jober.cavalca...@gmail.com> wrote:
> Poder ser criado um documento com TCPDF com o tamanho personalizado da
> página.
>
> Senho 2 páginas que seria frente e verso
>
> Em 7 de março de 2012 07:53, Dsprog <dsp...@gmail.com> escreveu:
>
>
>
>
>
>
>
> > Utilize a classehttp://www.verot.netmais um pouco de calculo e você

Jairo Silva

unread,
Mar 7, 2012, 8:52:32 PM3/7/12
to list...@googlegroups.com
Vivian,

comece estudando a biblioteca GD2 que trabalha com diversos tipos de imagens e tem um material bastante abrangente na internet existem muitos exemplos de uso da mesma. quanto a exemplos prontos muito dificil voce conseguir aqui junto a comunidade, se fosse ao menos dúvidas a gente estaria pronto a lhe ajudar, mas todo o script fica realmente complicado.
Atenciosamente,

Jairo

Alex C. Souza

unread,
Mar 8, 2012, 7:37:17 AM3/8/12
to list...@googlegroups.com
Vivian, acho que primeiro de tudo, crie um formulário com os campos que deseja e um campo para envio da foto Não se preocupe em recortar a foto com php e/ou tirar a foto via webcam, isso vai confundir você que não tem amplos conhecimentos nesse tipo de coisa. Pelo menos por enquanto, faça algo simples pra vc entender como essas coisas funcionam.

Lembre-se de que na tag form vc precisa usar o atributo enctype="multipart/form-data" para que envie o arquivo. Pesquise sobre upload de arquivos em php:

Esse, na minha opinião, deve ser seu ponto de partida. Assim que vc conseguir enviar o arquivo e salvar a imagem em uma pasta, ta no ponto pra passar a manipular imagens. Ai entra a imagem que vc usará pra mesclar com a foto, incluir um texto na imagem. Pense que presisará saber as coordenadas para inclusão da foto e dos textos na imagem. Enfim, acho que uma das libs mais fáceis é a GD2 mesmo. Você precisará habilita-la pois se não me engano, ela não vem habilitada por padrão:

Bom, espero ter ajudado. Agora, o que quer que esteja tentando fazer, pense bem se não vai dar encrenca... gerar um RG pela web e imprimir não me soa nada bom. Faça isso por sua conta e risco.

Vivian

unread,
Mar 8, 2012, 7:48:29 PM3/8/12
to LISTA PHP
oi Alex
gostei das tuas dicas
ate enviei arquivos via upload mas a duvida é.
se 2 pessoas ao mesmo tempo enviarem arquivos de fotos, nao irao
sobrepor?
e conflitar e um apagar o outro?

ah sobre o RG é pra entender, mas é mais uma carteirinha mesmo, tipo
cracha.. tudo tranquilo...

Luis Fernando Gaido

unread,
Mar 9, 2012, 7:34:56 AM3/9/12
to list...@googlegroups.com
Você está certa! Você deve gerar um nome de arquivo único a cada upload. Já notou quando baixa um foto do orkut ou facebook que o nome é sempre algo esdrúxulo aleatório, e não algo como "eu_no_banheiro.jpg?"
Procure combinações das funções PHP md5() e uniqid(), pegue um pedacinho dessa string aleatória e use para criar fotos. Deste modo, usuários podem usar sua aplicação simultaneamente.

--
============================================================
JQUERY MAGAZINE > http://www.jquerymagazine.com.br
--
PHP MAGAZINE > http://www.phpmagazine.com.br
--
LISTA NODE.JS > https://groups.google.com/group/lista-nodejs?hl=pt-br
--
AJAX-BRASIL > http://groups.google.com/group/ajax-brasil
--
PYTHON-GOOGLE > http://groups.google.com.br/group/python-google
--
DOTNET-BRASIL > http://groups.google.com.br/group/dotnet_br
============================================================



--
Luís Fernando Gaido
Analista de Sistemas
PHP + MySQL + Ajax

"Em teoria, não existe nenhuma diferença entre teoria e prática. Mas, na prática, existe."

Cassiano Ricardo Mourão

unread,
Mar 9, 2012, 7:50:44 AM3/9/12
to list...@googlegroups.com
Gaido, você manda fotos pro facebook no banheiro é?! euhsuheuhus

Uma dica também pra evitar a sobreposição e etc, é PRIMEIRO ENTENDER sobre lógica de programação antes de sair programando. Dica básica.

Luis Fernando Gaido

unread,
Mar 9, 2012, 8:12:55 AM3/9/12
to list...@googlegroups.com
Cassiano, com o advento dos dispositivos móveis conectados à rede, mando fotos de tantos lugares, rs...
Vivian, você está indo muito bem e vai conseguir!
Existem problemas em que precisamos concentrar um pouco mais a nossa atenção, principalmente se nunca o fizemos. É normal ter dificuldades e até creio que você está fazendo questionamentos pertinentes.

Jairo Silva

unread,
Mar 9, 2012, 9:04:12 AM3/9/12
to list...@googlegroups.com
Geralmente utilizo a função md5(' NomeDoArquivo'.date('d/m/Y h:m:i')) e assim consigo um nome
não lembro se a sintaxe está correta. to sem praticar a algum tempo.
praticamente unico.
Atenciosamente,

Jairo



Luis Fernando Gaido

unread,
Mar 9, 2012, 9:18:35 AM3/9/12
to list...@googlegroups.com
Sim, e deve atender SEM DÚVIDA! Eu prefiro md5(uniqid())

Jairo Silva

unread,
Mar 9, 2012, 9:26:45 AM3/9/12
to list...@googlegroups.com
Em em casa eu certamente tenho um script em que fiz um jogo em que voce clica pra ganhar levels e passa o link a amigos. e tem um script nele utilizando a lib GD2 e usa 2 imagens e texto para exibir a imagem do level (a cada determinados levels a imagem do pet mudava) e uma imagem padrão de fundo e além disso escrevia informações como numero do level atual. nome, e mais algumas informações. lembro que o que me deu trabalho foram apenas as coordenadas a utilizar. vou dar uma buscada se der tempo mais tarde!

Alex C. Souza

unread,
Mar 14, 2012, 8:27:47 AM3/14/12
to list...@googlegroups.com
Para gerar uma string única, basta utilizar uniqid(), não?

sabendo que o upload foi feito, vc pode utilizar (considerando que "userfile" é o nome do seu campo):

move_uploaded_file($_FILES["userfile"]["tmp_name"], $_FILES["userfile"]["name"]) ;

mas isso pode gerar exatamente o que vc mencionou, nomes de arquivos duplicados, então vc pode utilizar o uniqid():

move_uploaded_file($_FILES["userfile"]["tmp_name"], uniqid()) ;

mas ai ainda tem um problema que é a extensão do arquivo, ou seja, se é png, seria bacana você manter esta extensão no arquivo e assim por diante. então faça uma validação para os tipos de arquivo que vc aceita como upload, tipo:

switch($_FILES["userfile"]["type"])
{
case 'image/png':
$extensao = ".png";
break;

case 'image/gif':
$extensao = ".gif"
break;

case 'image/jpg':
case 'image/jpeg':
case 'image/pjpeg':
$extensao = ".jpg";
break;

default:
die('Tipo de arquivo inválido');
}

move_uploaded_file($_FILES["userfile"]["tmp_name"], uniqid() . $extensao)


Se você tiver familiaridade com orientação a objetos, pode utilizar a library sugerida no grupo PHPMG para manipulação de imagens:

Se não procure um tutorial para gerar imagens e consulte a documentação da biblioteca GD que é a mais fácil mesmo. Veja alguns tutoriais que podem te ajudar ou inspirar a criar o seu gerador de "carteirinhas":

Jairo Silva

unread,
Mar 14, 2012, 3:39:03 PM3/14/12
to list...@googlegroups.com
Cara, queria ter sua paciencia! e acho que o tempo também!
Atenciosamente,

Jairo



--

Vivian

unread,
Mar 14, 2012, 3:45:06 PM3/14/12
to LISTA PHP

estou me adaptando a biblioteca GB e esta dando certo, porem tenho
algumas duvidas

1 - como colocar uma foto dentro de um retangulo 500 x 325 e estou
usando o comando:

// Copia a logo para a imagem
imagecopymerge( $imagem, $logo, 560, 200, 0, 0, $larguraLogo,
$alturaLogo, 100 );

tem como ajustar a foto dentro deste retangulo da foto?

2 - como tem cada comando que trata cada tipo de extensao, exemplo:
$imagem = imagecreatefromjpeg( "fotomodelo.jpg" );

mas como o usuario envia .png ou .bmp ou .gif como fazer, nao
encontrei um comando geral pra todas as fotos.

3 - e no formulario tambem entra um texto que coloco na foto
como ajustar o tamanho dela dentro de uma area pre-difinida tambem
(centralizar e mudar o tamanho)

imagefttext( $imagem, $tamanhofonte, $angulo, $posicaoX , $posicaoY,
$cor, $fonte, $text);


obrigada

vivian

Vivian

unread,
Mar 14, 2012, 4:04:45 PM3/14/12
to LISTA PHP

fiquei testando a biblioteca GB, mas surgiu as duvidas:

1 - como ajustar um texto de tamanho indefinido em uma area de 900x80,
centralizando o texto se for menor ou diminuir a fonte e ajustando
nesta area se for muito grande?
uso o comando:
imagefttext( $imagem, $tamanhofonte, $angulo, $posicaox , $posicaoy,
$cor, $fonte, $nome);


2 - como quem for enviar uma foto pelo formulario nao sei que extensao
ele usara da foto e tamanho, como definir o comando geral pra qquer
extensao de foto e tamanho? tem como limitar o tamanho ou converter
para um tamanho bem leve?
exemplo se for jpg uso o comando
$imagem = imagecreatefromjpeg( "modelofoto.jpg" );


obrigada
vivian

Luis Fernando Gaido

unread,
Mar 14, 2012, 9:03:30 PM3/14/12
to list...@googlegroups.com
EUHEUH, eu acho que ao final dessa lista, vamos ter um sistema inteiro feito colaborativamente...

--
============================================================
JQUERY MAGAZINE > http://www.jquerymagazine.com.br
--
PHP MAGAZINE > http://www.phpmagazine.com.br
--
LISTA NODE.JS > https://groups.google.com/group/lista-nodejs?hl=pt-br
--
AJAX-BRASIL > http://groups.google.com/group/ajax-brasil
--
PYTHON-GOOGLE > http://groups.google.com.br/group/python-google
--
DOTNET-BRASIL > http://groups.google.com.br/group/dotnet_br
============================================================

Vivian

unread,
Mar 15, 2012, 12:55:17 PM3/15/12
to LISTA PHP
ao ajustar nao encontrei parametros.
tem isso ou tem algum truque
mesmo em sites americanos nao vi nada disso
:(

Cassiano Ricardo Mourão

unread,
Mar 15, 2012, 2:47:19 PM3/15/12
to list...@googlegroups.com
Vivian, eu acho que foi pra você que sugeriram uma classe disponibilizada no site verot.net.
Baixa-a e veja os exemplos. Tem praticamente tudo que você precisa.
Existem outras opções também, mas a classe desse site é bastante completa.

2012/3/15 Vivian <vivia...@gmail.com>

Vivian

unread,
Mar 15, 2012, 5:55:30 PM3/15/12
to LISTA PHP
oi cassiano
eu vi o site q indicou mas achei tao confuso la.. e nao achei os
exemplos para poder começar a estudar

se vc tiver exemplos que vc enviou e puder enviar no meu email fico
agradecida

bjos

====================================

Cassiano Ricardo Mourão

unread,
Mar 16, 2012, 7:15:51 AM3/16/12
to list...@googlegroups.com
http://www.verot.net/php_class_upload_samples.htm

Tem vários exemplos de imagens com texto.

2012/3/15 Vivian <vivia...@gmail.com>
Reply all
Reply to author
Forward
0 new messages