Criar arquivos em pdf com php

03/10/2015

Boa Noite Pessoal!

Hoje me deparei com a necessidade de imprimir dados uma pagina php que possuo, dei uma olhada na internet onde encontrei várias classes para fazer isso tipo: MPDF, html2pdf, tcpdf, etc, mas pelo que vi muitas vezes são arquivos muito grandes de até 50mb e muitas vezes também tem funções bem limitadas, gostaria saber se vcs conhecem alguma classe melhor que seja um arquivo bem pequeno se possível criar o código direto para gerar o pdf e exibir no bowser

PHP

Moisés

Melhor resposta

21/10/2015

Moises!

dei uma olhada no teu código, não tem problema algum e pelo que ví vc esta conseguindo mostrar os itens com o FOREACH

pelo que ví, vc esta usando uma array simles para a SESSION, se vc utilizar uma array bidimenisonal acho que seria melhor, tipo:

$_SESSION['matriz']['indice']['valor']

ou seja a $_SESSION vai conter algo tipo isso:

id | produto | qtd | preço
1 | prod1 | 10 | 1.00
2 | prod2 | 20 | 2.00
3 | prod3 | 30 | 3.00

o FOREACH{} faz o que esta dentro das chaves para todos os elementos do vetor até acabar-se os elementos, o problema nesse caso é dividir por grupos

usando o FOR ou WHILE ou ainda o DO WHILE conseguimos o seguinte resultado

id: 1
prod: produto1
qtd: 10
preco: 1.00

id: 2
prod: produto2
qtd: 20
preco: 2.00

id: 3
prod: produto3
qtd: 30
preco: 3.00

faça o teste em uma pagina PHP qualquer

session_start();
$_SESSION['vetor'] = array();

$_SESSION['vetor']['id'][] = "1";
$_SESSION['vetor']['prod'][] = "produto1";
$_SESSION['vetor']['qtd'][] = "10";
$_SESSION['vetor']['preco'][] = "1.00";

$_SESSION['vetor']['id'][] = "2";
$_SESSION['vetor']['prod'][] = "produto2";
$_SESSION['vetor']['qtd'][] = "20";
$_SESSION['vetor']['preco'][] = "2.00";

$_SESSION['vetor']['id'][] = "3";
$_SESSION['vetor']['prod'][] = "produto3";
$_SESSION['vetor']['qtd'][] = "30";
$_SESSION['vetor']['preco'][] = "3.00";


$s = sizeof($_SESSION['vetor'],1) -4;// menos a quantidade de indices

print_r ($_SESSION['vetor']);
//print_r ($vetor);

echo "<br><br><strong>Listando SESSION array bidimensional  com FOR</strong><br>";
for ($f =0; $f <(($s)/4); $f++) {// tamanho do array dividido pela quantidade de indices
 echo "id:  ".$_SESSION['vetor']['id'][$f]."<br>";
 echo "prod:  ".$_SESSION['vetor']['prod'][$f]."<br>";
 echo "qtd:  ".$_SESSION['vetor']['qtd'][$f]."<br>";
 echo "preco:  ".$_SESSION['vetor']['preco'][$f]."<br><br>";
 }

Felipe Martins

Responder Citar

Outras Respostas

03/10/2015

Viviane Hess

Moises, considero a melhor forma utilizando uma biblioteca.

http://www.voltsdigital.com.br/labs/gerando-arquivo-pdf-a-partir-de-um-html-com-o-php/

[url]http://www.devwilliam.com.br/php/gerar-pdf-com-php-e-a-biblioteca-mpdf[/url]
Responder Citar

03/10/2015

Marcio Araujo

O artigos do William são ótimos, confere ai no link que a Viviane postou.
Responder Citar

03/10/2015

Moisés

Moises, considero a melhor forma utilizando uma biblioteca. http://www.voltsdigital.com.br/labs/gerando-arquivo-pdf-a-partir-de-um-html-com-o-php/ [url]http://www.devwilliam.com.br/php/gerar-pdf-com-php-e-a-biblioteca-mpdf[/url]


Então Viviane esta é uma das bibliotecas que vi e também uma das maiores a unica desvantagem que achei nela e o tamanho que chega a ser superior a 50mb ou seja acho que é é muita coisa para subir pro servidor apenas agerar uma pagina em pdf, mas muito obrigado pela resposta, se não conseguir outra forma será esta que utilizarei.
Responder Citar

04/10/2015

Viviane Hess

Sem biblioteca eu desconheço, sempre leio artigos que mostram a utilização deles, se achar alguma solução mais leve por favor nos indique.
Responder Citar

04/10/2015

Marcio Araujo

Já pesquisou sobre soluções somente com HTML?
Responder Citar

04/10/2015

Cleyton Caetano

Y te
[quote]Moises, considero a melhor forma utilizando uma biblioteca. http://www.voltsdigital.com.br/labs/gerando-arquivo-pdf-a-partir-de-um-html-com-o-php/ [url]http://www.devwilliam.com.br/php/gerar-pdf-com-php-e-a-biblioteca-mpdf[/url]


Então Viviane esta é uma das bibliotecas que vi e também uma das maiores a unica desvantagem que achei nela e o tamanho que chega a ser superior a 50mb ou seja acho que é é muita coisa para subir pro servidor apenas agerar uma pagina em pdf, mas muito obrigado pela resposta, se não conseguir outra forma será esta que utilizarei.[/quote]

Mano, já procurei muito mas não encontrei não, a forma melhor e mais fácil que conheço é essa biblioteca aí....
Responder Citar

04/10/2015

Viviane Hess

Bem que eu desconfiava disso Cleyton.
Responder Citar

04/10/2015

Cleyton Caetano

Bem que eu desconfiava disso Cleyton.

Sem falar que 50 megas não é lá muita coisa quando se fala de funcionalidade, afinal praticamente todos os serviços de hospedagem possuem planos com espaço ilimitado no disco
Responder Citar

04/10/2015

Viviane Hess

Fazer um plano com limite de espaço em disco não é um bom negocio.
Responder Citar

04/10/2015

Cleyton Caetano

Fazer um plano com limite de espaço em disco não é um bom negocio.

Nada limitado é bom kkkk
Viviane estou desenvolvendo um projeto me envia um email 📧 pra nós poder discutir sobre....
Responder Citar

04/10/2015

Cleyton Caetano

cleyton.caetano10@gmail.com
Responder Citar

04/10/2015

Savio Leitão

Melhor usar essas bibliotecas disponiveis, vai facilitar e muito a sua vida.
Responder Citar

04/10/2015

Viviane Hess

Creio que não posso ajudar muito Cleyton, não tenho experiencia com desenvolvimento ainda, ainda estudando.
Responder Citar

04/10/2015

Cleyton Caetano

Creio que não posso ajudar muito Cleyton, não tenho experiencia com desenvolvimento ainda, ainda estudando.

2 estudando kkkk
Responder Citar

04/10/2015

Viviane Hess

Irei atrapalhar mais que ajudar, tenho certeza disso, sinceridade não me falta. boa sorte no seu projeto.
Responder Citar