radames
(Radameh)
May 4, 2012, 6:48pm
1
Olá a todos …
vamo nessa rima agora …
Alguém aqui já criou algum sistema ou site que gera informações em PDF .
achei o conteúdo que existe na documentação muito zuado, e esse lance de
ficar baixando outros trecos é tenso …
preciso de recomendações e dicas
obrigado a todos!
Thii
(Thiagosnider)
May 8, 2012, 12:28pm
2
Olha eu já criei, utilizei o EzPdf, como não achei um componente que integrava ele fiz todas as funções dentro do controller. Só lembrando que na hora de importar ele pro framework desativei o autoload do Yii.
Tava com dúvida no que exatamente?
Opa!
Nas vezes que precisei de PDF utilizei a classe mPDF (http://mpdf1.com ), achei d+, e funcionou perfeitamente para as situações que passei, baixei diretamente do site e fiz referencia no projeto.
Existe essa extensão para o Yii http://www.yiiframework.com/extension/pdf , os votos são positivo, creio q seja uma boa alternativa, não utilizei ainda porque a classe mPDF está na versão 5.4 e até o momento a extensão está com a versão 5.3 da classe.
O q posso dizer é isso. Quando achar a melhor solução para seu caso não deixe de postar.
Flws!
:wq
radames
(Radameh)
May 8, 2012, 9:01pm
4
Thii:
Olha eu já criei, utilizei o EzPdf, como não achei um componente que integrava ele fiz todas as funções dentro do controller. Só lembrando que na hora de importar ele pro framework desativei o autoload do Yii.
Tava com dúvida no que exatamente?
Como eu nunca mexi com isso, a minha duvida seria mesmo uma dica de qual gerador de PDF usar …
os que tem no forum … estão todos bugados ou mal implementado …
em fim
valeu a dica!
radames
(Radameh)
May 8, 2012, 9:05pm
5
Opa!
Nas vezes que precisei de PDF utilizei a classe mPDF (http://mpdf1.com ), achei d+, e funcionou perfeitamente para as situações que passei, baixei diretamente do site e fiz referencia no projeto.
Existe essa extensão para o Yii http://www.yiiframework.com/extension/pdf , os votos são positivo, creio q seja uma boa alternativa, não utilizei ainda porque a classe mPDF está na versão 5.4 e até o momento a extensão está com a versão 5.3 da classe.
O q posso dizer é isso. Quando achar a melhor solução para seu caso não deixe de postar.
Flws!
:wq
Thiago … esse mPDF eu nem tentei usar pois vi uma galera chorando na lista falando que ele não funcionava no
firefox …
e ninguém apresentou nenhuma solução …
seria bacana vc demonstrar seu caso ae pra galera …
att,
radames
(Radameh)
May 8, 2012, 9:06pm
6
Alguém já usou o domPDF ??
me parece ser bem bacana esse cara …
Thiago … esse mPDF eu nem tentei usar pois vi uma galera chorando na lista falando que ele não funcionava no
firefox …
e ninguém apresentou nenhuma solução …
seria bacana vc demonstrar seu caso ae pra galera …
att,
Com o mPDF:
Acesse página de exemplo do mPDF (http://www.mpdf1.com/mpdf/examples ) faça o testedrive com o Firefox .
Se quiser, tem tb um projeto que estou trabalhando, inscreva-se com dados fictícios, no final poderá gerar o PDF do boleto http://thlmo.net76.net/ciegesi
Flws.
:wq
já mexeu com jasper?
eu fiz essa extensão: http://www.yiiframework.com/extension/jasphp/
se te ajudar!
catataw
(Marcelofernandes Mga)
May 11, 2012, 12:05pm
10
Caso nao precise de pdfs complexo e vc ja usou o jasper vc pode usar a extensao ireport que e um outra aternativa.
radames
(Radameh)
June 4, 2012, 8:40pm
11
@Thiago Luís
vc que usa o MPdf, quando eu gero ele em uma pasta ele fica em branco o que deve ser?
$html = $this->renderPartial('print',array(
'texto' => $consulta->ds_texto_consulta,
'chave' => base64_decode($consulta->cd_chave_consulta),
'model' => $model,
));
Yii::import('application.extensions.yii-pdf.*');
define('MPDF_PATH', 'mpdf/');
include(MPDF_PATH.'mpdf.php');
$mpdf = new mPDF('','A4');
$mpdf->allow_charset_conversion = true;
$mpdf->charset_in='iso-8859-1';
$mpdf->WriteHTML($html, false);
// define um nome para o arquivo PDF
$arquivo = date("ymdhis").'_projeto_li.pdf';
$mpdf->Output("pdf/".$arquivo,"F");
$this->redirect(Yii::app()->params['url_aplicacao'] ."/frontend/pdf/".$arquivo);
Radames_, ta ae o teste que fiz:
public function actionTestePdf(){
require_once('protected/extensions/MPDF54/mpdf.php');
$mpdf = new mPDF('', 'A4');
$mpdf->allow_charset_conversion = true;
$mpdf->charset_in='iso-8859-1';
$mpdf->WriteHTML('<h1>TESTE</h1>',false);
$mpdf->Output('pdfs/'.date("ymdhis").'_teste.pdf', 'F');
$this->redirect('index');
}
A única diferença q identifiquei é a forma que importo a biblioteca, eu apenas descompacto dentro de extensions e faço a chamada.
Tentei passar os mesmos parâmetros que vc passou para a classe, aqui o arquivo foi criado normalmente. Se vc identificar outra forma para teste, informa que analiso.
Flw!
radames
(Radameh)
June 5, 2012, 12:42pm
13
Radames_, ta ae o teste que fiz:
public function actionTestePdf(){
require_once('protected/extensions/MPDF54/mpdf.php');
$mpdf = new mPDF('', 'A4');
$mpdf->allow_charset_conversion = true;
$mpdf->charset_in='iso-8859-1';
$mpdf->WriteHTML('<h1>TESTE</h1>',false);
$mpdf->Output('pdfs/'.date("ymdhis").'_teste.pdf', 'F');
$this->redirect('index');
}
A única diferença q identifiquei é a forma que importo a biblioteca, eu apenas descompacto dentro de extensions e faço a chamada.
Tentei passar os mesmos parâmetros que vc passou para a classe, aqui o arquivo foi criado normalmente. Se vc identificar outra forma para teste, informa que analiso.
Flw!
Então @Thiago Luís
fiz algumas mudanças básicas que funcionaram …
aqui a empresa usa como padrão ISO-8859-1 (uma merda)
ai converti o texto usando isso …
$html = iconv("ISO-8859-1", "UTF-8", $html);
e para exibir o texto no pdf que estava sendo gerado em branco
no renderPartial eu coloquei "true,true" assim :
$html = $this->renderPartial('print',array(
'texto' => $consulta->ds_texto_consulta,
'chave' => base64_decode($consulta->cd_chave_consulta),
'model' => $model,
), true, true);
ai funcionou perfeitamente …
radames
(Radameh)
June 5, 2012, 12:47pm
14
A tem mais
na minha action eu deixei setado isso por via das duvidas …
ini_set("memory_limit","1G");
ausência de memoria também gera pdf em branco
Bom saber desses detalhes…
Passei despercebido pelo renderPartial , é sempre importante observar esses parâmetros que vc identificou.
Flw!
Newerton
(Newerton Araujo)
June 5, 2012, 1:16pm
16
$html = $this->renderPartial('print',array(
'texto' => $consulta->ds_texto_consulta,
'chave' => base64_decode($consulta->cd_chave_consulta),
'model' => $model,
), true, true);
ai funcionou perfeitamente …
Eu ia comentar isto para você antes, toda vez que gerar um PDF, executa o print_r($html); exit(); depois da variavel, para ver se está retornando corretamente os dados.
radames
(Radameh)
June 5, 2012, 8:54pm
17
Newerton:
Eu ia comentar isto para você antes, toda vez que gerar um PDF, executa o print_r($html); exit(); depois da variavel, para ver se está retornando corretamente os dados.
Então Newerton
como eu uso essa render em outro local e lá funcionava normalmente, nem passava na minha
mente printar essas informações …
ai depois eu lembrei do lance de usar o ‘false,true’ ou ‘true,true’ no renderPartial …
mas fica a dica ae então pra todos!
massilva
(M 4 S S)
September 5, 2012, 10:59am
18
Olá pessoal,
Eu uso a biblioteca html2pdf para converter de html para pdf,mas estou com um problemão.
Quando os dados da tabela em html ultrapassa uma página a tabela é cortada, no limite da página.
Queria saber se alguém sabe de alguma biblioteca que permita converter o html para pdf e possa criar várias páginas.
thiagoluis
(Thiago Luís)
September 5, 2012, 12:22pm
19
Olá pessoal,
Eu uso a biblioteca html2pdf para converter de html para pdf,mas estou com um problemão.
Quando os dados da tabela em html ultrapassa uma página a tabela é cortada, no limite da página.
Queria saber se alguém sabe de alguma biblioteca que permita converter o html para pdf e possa criar várias páginas.
Olá Marcos, não utilizei o html2pdf ainda, mas veja se essas regras no CSS resolvem seu problema:
Até +
WebDevPT
(Edgar Fernandes)
October 31, 2012, 3:33pm
20
experimentem a extensão pdf-grid eu já fiz alguns testes e pareceu-me muito simples de implementar.
É semelhante a usar um cgridview, apenas colocamos quais as colunas a incluir e tamanho de cada coluna, depois para modificações extra podem ser introduzidos outros parâmetros (tamanho da folha, etc).
Recomendo!