Como criar relatórios em PDF com FPDF e PHP?

Quando falamos sobre FPDF, estamos nos referindo a uma biblioteca, um tipo de conjunto de classes escritas em PHP que permite que os usuários gerem todos os tipos de arquivos PDF, o que, por sua vez, economiza uma enorme quantidade de trabalho em PHP.

Uma das chaves para o sucesso do FPDF entre os usuários está relacionada ao fato de que é possível configurar muitos dos principais parâmetros que personalizarão o documento em questão, como o tipo de letra ou tamanho, formato, margens, etc.

Como instalar a biblioteca FPDF em um site

A primeira coisa que devemos considerar quando falamos sobre a possibilidade de instalar o FDPF é que estamos falando de uma biblioteca que representa uma classe, enquanto para que funcione precisamos ter o PHP 4 no mínimo . Portanto, se você não o tiver, comece instalando o PHP .

De qualquer forma, não se preocupe, pois a maioria dos servidores já suporta o PHP 5.3 ou 5.4 e, caso você não possua a biblioteca em seu PC, você pode baixá-la de uma maneira simples em http: //www.fpdf. org / .

Depois de baixá-lo, o arquivo ZIP aparecerá no seu computador, que você precisará descompactar e colorir no servidor local ou no servidor final, criando também um diretório chamado PDF, no qual você fará o upload dos arquivos da biblioteca . Nada mais é necessário para a instalação.

Primeiros passos com o FPDF do PHP

Para começar a se acostumar com esse sistema, mostraremos um exemplo simples de como essa biblioteca funciona, criando um arquivo index.php, graças ao qual você pode colocar o código para exibir um arquivo PDF com título e texto, de este modo:

<? php

require (‘pdf / fpdf.php’);

$ pdf = novo FPDF ();
$ pdf-> AddPage ();

$ pdf-> SetFont (‘Arial’, ‘B’, 16);
$ pdf-> Cell (50,10, ‘Testing FPDF’, 1,1, ‘L’);

$ pdf-> Cell (50.5, ‘quebra de linha’, 1.1);

$ pdf-> SetFont (‘Arial’, ‘B’, 10);
$ pdf-> MultiCell (190.5, ‘Lorem Ipsum ou qualquer texto de preenchimento ..’);

$ pdf-> Saída ();

Relacionado:  Rojadirecta.me o que é e como usá-lo

?>
fpdf.jpg

A partir disso, é conveniente focar em detalhes a propriedade Cell , que possui estes parâmetros:

$ pdf-> Cell (50,10, ‘Testing FPDF’, 1,1, ‘L’);

Célula (largura, altura, texto, borda, quebra de linha, alinhamento de texto)

Nesses casos, é necessário levar em consideração que a borda pode contemplar os valores 1: com borda e 0 sem borda. Da mesma forma, você pode personalizar as quebras de linha para que elas se adaptem especificamente ao que lhe interessa.

Da mesma forma, é possível modificar o código para remover as bordas, convertendo o texto em utf8, para que não haja problemas de tildes ou Ñ.

$ pdf-> Cell (50,10, ‘Testing FPDF’, 0,1, ‘L’);

$ pdf-> Cell (50,5, ”, 0,1);

$ pdf-> SetFont (‘Arial’, ‘B’, 10);

// converte o texto em utf8
$ text = utf8_decode (‘Lorem Ipsum ……’);

$ pdf-> MultiCell (190,5, $ texto);

Quando usar o Cell ou Multicell?

Sabemos, por outro lado, que muitos usuários têm dúvidas sobre quando usar Cell ou Multi Cell , e é por isso que nas linhas a seguir queremos mostrar as diferenças entre eles, para que você os leve em consideração:

  • Célula: usada para criar uma célula, embora tenhamos que saber exatamente o comprimento do conteúdo para que não seja deformado.
  • Super Cell: útil quando temos parágrafos que não sabemos quanto eles ocupam, uma vez que as células se adaptarão ao conteúdo.

De qualquer forma, o importante é que poderemos usar o Cell ou o Super Cell quando o considerarmos adequado; portanto, você só precisa definir o tipo de fonte que deseja usar nessas células antes de chamar a função .

Novamente, para que você não tenha dúvidas, mostraremos quais são as etapas a serem seguidas quando você deseja criar um cabeçalho ou rodapé para o seu PDF, usando o FPDF Header () e Footer ( )

A vantagem desses métodos é que eles são executados quase automaticamente para que o esforço que temos que fazer como usuários seja mínimo e sempre que pudermos ser salvos quando não tivermos grandes conhecimentos de informática, isso será apreciado.

Relacionado:  5d Vital Flash para ajudar a melhorar sua saúde

Um exemplo de venda de produtos com seus preços seria o seguinte:

<? php

require (‘pdf / fpdf.php’);

// Criamos a nova classe pdf que herda de fpdf

classe PDF estende o FPDF
{

// use a função Header () e personalize-a para mostrar a
função de cabeçalho da página Header ()

{

// define o tipo de fonte Arial Bold 16
$ this-> SetFont (‘Arial’, ‘B’, 16);

// colocamos uma célula sem conteúdo para centralizar o título ou a célula do título à direita
$ this-> Cell (50);

// definimos na célula o título
$ this-> Cell (100,10, ‘Sales Report Header’, 1,0, ‘C’);

// Quebra de linha pula 20 linhas
$ this-> Ln (20);

}

// use a função Footer () e personalize-a para mostrar a
função footer Footer ()

{
// Defina a posição da próxima célula fixamente a 1,5 cm da parte inferior da página

$ this-> SetY (-15);
// Defina a fonte Arial italica 10

$ this-> SetFont (‘Arial’, ‘I’, 10);
// Número da página

$ this-> Cell (0.10, ‘Página’. $ this-> PageNo (). ‘/ {nb}’, 0.0, ‘C’);
}

}
$ this-> PageNo (definiremos o número da página)

Depois de considerarmos o exposto acima, o próximo passo tem a ver com a criação de uma lista de produtos em formato PDF, de forma que os retiremos de um banco de dados no MySQL e, graças ao PHP, geramos a lista automaticamente.

Neste exemplo, não adicionaremos tabelas auxiliares de categorias e itens:


– Base de dados: `market`


– Estrutura da tabela para a tabela `products`

CRIAR TABELA SE NÃO EXISTIR `products` (
` id_publicacion` int (11) NÃO NULL AUTO_INCREMENT,

`idrubro` int (11) DEFAULT NULL,
` idcategory` int (11) DEFAULT NULL,

`idsubcategory` int (11) DEFAULT NULL,
` image1` varchar (255) DEFAULT NULL,

`image2` varchar (255) DEFAULT NULL,
` image3` varchar (255) DEFAULT NULL,

`image4` varchar (255) DEFAULT NULL,
` image5` varchar (255) DEFAULT NULL,

`image6` varchar (255) NÚMERO PADRÃO, decimal` preço`
(10,2) NULO PADRÃO,

`active` varchar (3) DEFAULT NULL, texto` comment`
,

`title` varchar (255) DEFAULT NULL,
` stock` int (11) DEFAULT NULL,

Relacionado:  Como atualizar o Google Play Services de maneira fácil e rápida? Guia passo a passo

CHAVE PRIMÁRIA (`post_id`)
) MOTOR = CHARSET PADRÃO MyISAM = latin1 AUTO_INCREMENT = 1;

Considerando o acima, a única coisa que precisamos é conectar-se através do PHP ao banco de dados para consultar todos os produtos desta maneira:

<? php error_reporting (0);

require (‘pdf / fpdf.php’);

// Eu me conecto ao banco de dados
$ link = mysql_connect (“localhost”, “root”);

mysql_select_db (“mercado”, $ link);
// Verifique a tabela de produtos solicitando todos os produtos

$ resultado = mysql_query (“SELECT * FROM produtos”, $ link);

// Instalamos a classe para gerar o documento pdf
$ pdf = new FPDF ();

// Adicionamos a primeira página ao documento pdf
$ pdf-> AddPage ();

// Define o início da margem superior em 25 pixels

$ y_axis_initial = 25;

// Defina o tipo de letra e crie o título da página. Não é um cabeçalho não será repetido
$ pdf-> SetFont (‘Arial’, ‘B’, 12);

$ pdf-> Cell (40,6, ”, 0,0, ‘C’);
$ pdf-> Cell (100.6, ‘LISTA DE PRODUTOS’, 1.0, ‘C’);

$ pdf-> Ln (10);

// Criamos as células para os títulos de cada coluna e atribuímos um plano de fundo cinza e a fonte
$ pdf-> SetFillColor (232.232.232);

$ pdf-> SetFont (‘Arial’, ‘B’, 10);
$ pdf-> Cell (125.6, ‘Título’, 1.0, ‘C’, 1);

$ pdf-> Cell (30.6, ‘Preço’, 1.0, ‘C’, 1);
$ pdf-> Cell (30.6, ‘Foto’, 1.0, ‘C’, 1);

$ pdf-> Ln (10);

// Começo a criar as listas de produtos de acordo com a consulta MySQL

while ($ row = mysql_fetch_array ($ result))
{

$ title = $ row [‘título’];

$ price = $ row [‘preço’];
$ image = ”photos /†.$ row [‘image1 ′];

$ pdf-> Cell (125.15, $ title, 1.0, ‘L’, 0);

$ pdf-> Cell (30.15, $ price, 1.0, ‘R’, 1);
// mostro o iamgen dentro da célula GetX e GetY fornece as coordenadas atuais da linha

$ pdf-> Cell (30, 15, $ pdf-> Image ($ image, $ pdf-> GetX () + 5, $ pdf-> GetY () + 3, 20), 1, 0, ‘C’, falso);

$ pdf-> Ln (15);

}

mysql_close ($ link);

// Mostramos o documento pdf
$ pdf-> Output ();

?>.

Você conseguiu criar seus primeiros relatórios em PDF com FPDF e PHP, graças a esse truque?

 

Você pode estar interessado:

Deixe um comentário