Criar PDF utilizando gráficos vetoriais

303 views
Skip to first unread message

Pedro Bueno

unread,
Mar 15, 2010, 5:19:02 PM3/15/10
to php-b...@googlegroups.com
Olá a todos!
Sou novo por aqui, pesquisei nas mensagens antigas e não achei nada parecido com o que estou precisando.
Então vamos nessa...
Eu utilizo o Symfony, e estou criando um relatório para ser exportado em PDF.
Estou utilizando o TCPDF para gerar o arquivo. Até ai tudo bem... agora eu preciso inserir nele um gráfico que tenho que gerar em tempo de execução, isso também não é dificil, se fosse como uma imagem rasterizada normal(PNG), porém tenho que fazer a imagem vetorial...
O TCPDF aceita imagens .eps e .ai , porém, eu não achei nenhum biblioteca que gere imagens nessas extensões, somente em SVG.
Tentei inserir o SVG no TCPDF mas ele não aceita.
Já tentei utilizar ferramentas para conversão de SVG para EPS, porem, ou elas ficam todas pretas ou não aparece nada.
Rodo o sistema em LINUX, então não teria problemas rodar comandos no php para a conversão...
Se alguem souber alguma biblioteca que gere gráficos em EPS/AI ou uma de PDF que aceite SVG eu agradeceria....
Se precisarem de mais alguma informação é só falar...

Atenciosamente,

--
[]´s
Pedro Bueno.
"Conservar algo que possa recordar-te seria admitir que eu pudesse esquecer-te."
  William Shakespeare 

Elton Schivei Costa

unread,
Mar 16, 2010, 3:36:28 PM3/16/10
to php-b...@googlegroups.com
Vetor em PDF só conheço dois sistemas que "possívelmente" aceitam a criação online.

1 - Crystal Report (Microsoft em IIS) // VB, C++, C#
2 - Não lembro o nome mas é java.

att.

--
Você está recebendo esta mensagem porque se inscreveu no grupo "php-brasil" dos Grupos do Google.
Para postar neste grupo, envie um e-mail para php-b...@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para php-brasil+...@googlegroups.com.
Para obter mais opções, visite esse grupo em http://groups.google.com/group/php-brasil?hl=pt-BR.

Rafael Eduardo Kassner

unread,
Mar 16, 2010, 4:57:43 PM3/16/10
to php-b...@googlegroups.com
Birt e/ou Jasper Reports para Java.

Birt é free e suporta SVG, mas precisa de um servidor Tomcat configurado pra rodá-lo. Se quiser ajuda com o BIRT é só falar, tenho um projeto grande utilizando-o.
--
Rafael Eduardo Kassner
http://www.kassner.com.br
+55 47 9992-9170

Pedro Bueno

unread,
Mar 16, 2010, 5:20:35 PM3/16/10
to php-b...@googlegroups.com
Valeu, mas preciso mesmo para PHP, pois rodo php com symfony.
Acho que vou ter que fazer meu próprio algoritmo para gerar gráficos direto no TCPDF.
por que eu consegui gerar gráficos SVG, porem não consigo inserir ele no TCPDF.
e a maioria das bibliotecas de gerar PDF que achei só suportar imagens rasterizadas(gif, jpg e png)
se algum souber alguma que utilize SVG ficarei grato =)

Abraços.

Elton Schivei Costa

unread,
Mar 17, 2010, 9:28:23 PM3/17/10
to php-b...@googlegroups.com
TCPDF Aceita:

SVG, EPS, AI, PNG, JPEG, GIF.

Pedro Bueno

unread,
Mar 18, 2010, 10:02:46 AM3/18/10
to php-b...@googlegroups.com
Eu li praticamente toda a documentação do TCPDF, e não vi como inserir imagens SVG...
onde vc achou isso?
se for mesmo vai me salvar =)
valew

Elton Schivei Costa

unread,
Mar 18, 2010, 10:36:10 AM3/18/10
to php-b...@googlegroups.com
Tem nos arquivos de exemplo junto com o Fw quando tu faz o download do zipado.

Pedro Bueno

unread,
Mar 18, 2010, 10:41:10 AM3/18/10
to php-b...@googlegroups.com
vou verificar... valew

Pedro Bueno

unread,
Mar 18, 2010, 10:51:42 AM3/18/10
to php-b...@googlegroups.com
Olha.. baixei denovo o TCPDF, verifiquei todos os exemplos...
só tinha o exemplo 32 - EPS/AI vectorial image
dei até um grep na lib pra achar SVG e não tinha nada....

Tanure

unread,
Mar 18, 2010, 10:55:35 AM3/18/10
to php-b...@googlegroups.com
Da uma olhada  no CAIRO http://www.cairographics.org/

Elton Schivei Costa

unread,
Mar 18, 2010, 12:54:35 PM3/18/10
to php-b...@googlegroups.com
Isso é porque tu olhou arquivo errado, não é a library que tu deveria olhar, mas, o fonte do exemplo (http://www.tecnick.com/pagefiles/tcpdf/example_032.phps) este link exibe o fonte do exemplo note a utilização de eps e ai nas linhas: 72(ai), 76(eps) e 80(ai) ao final do arquivo.

Att.

Em 18 de março de 2010 11:55, Tanure <leta...@gmail.com> escreveu:
Da uma olhada  no CAIRO http://www.cairographics.org/

--

Pedro Bueno

unread,
Mar 18, 2010, 1:17:58 PM3/18/10
to php-b...@googlegroups.com
Sim, .eps e .ai eu consigo utilizar normal...
o problema eh utilizar o .svg no tcpdf
o .svg não tem os mesmo cabeçalhos do .eps
eu jah utilizo os arquivos eps para o logo da empresa e o background do meu relatório... 
agora eu consegui gerar gráficos em eps utilizando o gnuplot
gero um arquivo de dados e rodo um script que gera o arquivo pra mim...
mas o TCPDF tem várias limitações quanto o uso de EPS, olha o que está na documentação:
"Only vector drawing is supported, not text or bitmap."
e o gnuplot utiliza textos para gerar os gráficos...
dai quanto eu insiro no pdf ele não são renderizados...
tá complicado fazer isso.. =/

Elton Schivei Costa

unread,
Mar 18, 2010, 1:42:55 PM3/18/10
to php-b...@googlegroups.com
Pedro, desculpe minha ignorância, kkkkkk

Eu devo ter visto outro documentador que aceitava SVG, rs, acho que era o FPDF, se não me engano, mas, tu podes converter tuas imagens SVG para EPS tranquilamente.

Att.

Pedro Bueno

unread,
Mar 18, 2010, 2:04:39 PM3/18/10
to php-b...@googlegroups.com
Sim, já fiz isso tambem...
usei o inkscape e o uniconvertor
mas os depois convertem o SVG para um EPS mas não é vetorial, eh tipo uma imagem... dai nao renderiza a imagem no pdf... 
to desistindo de fazer esses gráficos...
agora que vou ter que usar os métodos do TCPDF, que fazem os retangulos e tal... e montam um algoritmo para fazer meus próprios gráficos direto no pdf...
acho q vai ser o jeito... =/

Elton Schivei Costa

unread,
Mar 18, 2010, 2:46:00 PM3/18/10
to php-b...@googlegroups.com
hmmm, tu tá usando linux né?

o Gimp não faz isto?

vou procurar um pouco mais e se achar te aviso.

Pedro Bueno

unread,
Mar 18, 2010, 3:29:54 PM3/18/10
to php-b...@googlegroups.com
o gimp pode até fazer...
mas eu tenho que gerar em tempo de execução...
vai ser um cron que manda o relatório para vários clientes uma vez por mês e tal...
entao tem q ser tudo php/linha de comando mesmo....

Elton Schivei Costa

unread,
Mar 18, 2010, 4:30:02 PM3/18/10
to php-b...@googlegroups.com
tu tbm gera a imagem em runtime?
não seria mais fácil achar uma forma de gerá-la em PNG de alta qualidade(24/32bit) ou em EPS?

Att.

Pedro Bueno

unread,
Mar 18, 2010, 4:39:31 PM3/18/10
to php-b...@googlegroups.com
Sim, a imagem eh gerada em tempo de execução...
quanto a usar PNG está fora de cogitação, pois o meu chefe quer que seja vetorial, para poder dar 10^412341234132 vezes de zoom hehehehehe
já consigo gerar imagem em eps com o gnuplot, porém, os atributos do arquivo gerado não são suportados pelo TCPDF...
estou testando com o FPDF agora, pois tem um script que criaram pra ele que suporta SVG... estou testando agora....

Elton Schivei Costa

unread,
Mar 18, 2010, 4:45:14 PM3/18/10
to php-b...@googlegroups.com
Legal, se tu conseguir, posta a solução aeh, rsrs, caraca meu "10^412341234132" ai sim hein, mas, pra que tanto de zoom? é imagem para outdoors?

361.gif

Pedro Bueno

unread,
Mar 18, 2010, 5:00:45 PM3/18/10
to php-b...@googlegroups.com
não... era zueira esse numero.. .houhouhouh
mas ele dah o zoom até o adobe não aguentar mais...
na minha maquina eu dou zoom de 400%
dai ele disse q na maquina dele vai mais ainda...
ele deve aplicar uns 900% de zoom, e quer que a imagem fique perfeita...
não sei qual cliente vai fazer isso.. mas se ele quer né... fazer oq....
361.gif

Elton Schivei Costa

unread,
Mar 18, 2010, 5:03:13 PM3/18/10
to php-b...@googlegroups.com
O gimp eu não sei, mas, o photoshop da zoom de até 1800x, acho que o flash e Ai de até 3200x (se não me engano)
361.gif
Reply all
Reply to author
Forward
0 new messages