Gerando arquivos PDF com PHP

Índice
Os arquivos PDF se han convertido prácticamente en un estándar en la web para la transmisión de documentos asegurándonos que no pierden el formato al cambiar de plataforma y que además se imprimirán exactamente de la forma en que se ven, además que no son modificables si hemos aplicado ciertos controles para os mesmos.
Isso significa que quando somos solicitados a gerar uma saída em estilo de relatório de um sistema que criamos em PHP, uma das opções junto com a geração de um arquivo CSV é a geração de um arquivo PDF.
FPDFPara resolver este problema, podemos nos apoiar na comunidade PHP e obter a biblioteca FPDF, que não precisa de nenhuma configuração de servidor adicional. Isso torna esta biblioteca uma grande ajuda e que podemos implementá-la até mesmo em serviços Compartilhar hospedagem onde o acesso às configurações é geralmente limitado pelo provedor de serviços.
Para criar nosso primeiro documento PDF devemos primeiro ter certeza de que entendemos o que é um arquivo PDF. Suas siglas correspondem ao inglês de Formato de Documento Portátil e foi criado pela empresa Adobe facilitar a forma como são partilhados os diferentes documentos que podemos gerar e que devemos enviar a outras pessoas.
UMA PDF É composto por um número de páginas que vão desde uma página àquelas a que resiste a memória do nosso equipamento. Cada página conterá texto, gráficos, cores, imagens, etc. Ao gerar um PDF, pode ser baixado do navegador ou com alguns complementos pode ser lido e mostrado online diretamente, por isso é tão poderoso, sua única falha e também uma de suas maiores virtudes é que não foi feito para ser modificado no momento.
Como fizemos nosso dever de casa para entender a parte por trás e antes do código, iremos gerar nosso primeiro arquivo. Vamos criar um documento com uma única página e nele incluiremos um pequeno texto.
Como fazê-lo?Para atingir o objetivo, devemos criar um novo documento PHP e em sua primeira linha após a abertura das tags devemos fazer a inclusão da biblioteca FPDF, vamos fazer isso com a instrução requer () pois desta forma se não encontrarmos a biblioteca, o programa dará um erro e assim não haverá possibilidade de algo ser executado e obter um resultado indesejado.
Então vamos criar um tipo de objeto FPDF em que vamos aplicar alguns métodos, como adicionar Página () para adicionar uma nova folha ao nosso futuro PDF, ou célula () para criar uma seção dentro da folha e finalmente saída () que é quem envia o resultado para o navegador.
Vamos ver o código de exemplo para que possamos entender tudo o que explicamos:
 adicionar Página (); $ pdf-> setFont ("Arial", 'B', 18); $ pdf-> cell (50, 20, "Olá! Criamos nosso primeiro PDF !!"); $ pdf-> output (); 

Aqui, a única coisa adicional que vemos é o método setFont () que nos permite escolher a família da fonte do texto, seu estilo, isto é, se é itálico, em negrito itálico e seu tamanho em pixels, no caso do código colocamos Arial, B para negrito e um tamanho de 18 pixels.
No método célula () os primeiros parâmetros referem-se à localização do texto dentro do documento e o último é o texto que deve aparecer. Finalmente saída () nos dá o resultado a ser exibido. Ao executar isso em um servidor de teste, como Wamp, podemos ver um resultado semelhante ao seguinte:

PROLONGAR

Podemos notar o conjunto de controles na parte superior que nos mostra que o PDF foi interpretado pelo navegador sem nenhum problema.
O que vimos pode funcionar para que saibamos de um documento com rapidez e sem muitas demandas, porém isso não significa que nossa PDF eles não poderiam ser mais complexos e ter mais detalhes.
Ao criar a instância de FPDF, podemos definir alguns parâmetros no construtor da classe que podem nos ajudar a dar a ela mais elementos que podem variar o estilo de nosso PDF, podemos ir de coisas tão básicas como, por exemplo, mudar a orientação do documento de retrato para paisagem até mudar o sistema métrico com o qual ele tomará as distâncias.
Vamos ver algumas das propriedades que podemos alterar ao gerar um PDF com FPDF em PHP:
OrientaçãoTemos duas opções possíveis P para a forma vertical ou retrato, portanto, sua inicial por Modo retrato em ingles e temos eu para formato paisagem ou Panorama também correspondendo ao idioma inglês.
Unidade de medidaPara a unidade de medida, temos três opções pt por pontos, em por polegadas e cm Em centímetros, dependendo do país em que vivemos e dos resultados que queremos, podemos variar a unidade de medida para algo que seja mais confortável para nós.
Tamanho da páginaOutra característica vital já que geralmente para a impressão dos documentos devemos estabelecer um tamanho adequado para o nosso documento, aqui temos Carta para o tamanho da carta, Jurídico para tamanho legal, temos outros formatos populares, como A3, A5 ou A4. Se nos aprofundarmos na documentação de FPDF Podemos até ver que existe a possibilidade de gerar nossos próprios tamanhos para a folha.
Como aprendemos que existem recursos adicionais para gerar nosso documento, é hora de gerar um novo exemplo, para isso vamos aplicar as configurações no construtor da classe e também usar as coordenadas para localizar os elementos em a mesma folha.
As coordenadas (0,0) é um sistema que nos permite localizar o elemento em um plano X horizontal e Y vertical de nosso PDF com isso, podemos controlar a localização desses elementos com exatidão. Vejamos o código para termos uma ideia de tudo isso:
 adicionar Página (); $ pdf-> setFont ('Arial', 'B', 16); $ pdf-> célula (0,0, "Canto superior esquerdo", 0, 0, 'L'); $ pdf-> célula (0,0, "Canto superior direito", 0, 0, 'R'); $ pdf-> ln (2,5); $ pdf-> célula (0, 0, "No meio", 0, 0, 'C'); $ pdf-> ln (5.3); $ pdf-> célula (0, 0, "Inferior esquerdo", 0, 0, 'L'); $ pdf-> célula (0, 0, "Inferior direito", 0, 0, 'R'); $ pdf-> output (); 

Em primeiro lugar, vemos que depois de incluirmos nossa biblioteca FPDF vamos criar o objeto correspondente, no construtor da classe passamos a orientação P, a unidade de medida em e finalmente o tamanho da folha carta, então adicionamos uma página e no próximo ato definimos a fonte do texto.
Com as coordenadas vamos brincar um pouco e alterá-las para ver a diferença com o eixo vertical, à direita do método célula vemos alguns números adicionais, estes são usados ​​para criar linhas e a letra L, R ou C corresponde à justificação do texto, ou seja, alinhado à esquerda, à direita ou ao centro.
O método ln () nos permite passar uma medida para que seja gerado um espaço, como neste exemplo ln (2,5) vai deslocar 2,5 polegadas antes da próxima chamada de método célula () é por isso que vemos que na geração do seguinte texto que diz Na metade ele aparecerá muito mais abaixo no documento. Vamos ver como fica quando executado no servidor local:

Notamos na parte superior como fica nosso jogo com as coordenadas onde o primeiro texto é muito mais alto que o segundo e os espaços gerados no documento. Se descermos, podemos ver a parte inferior do nosso documento e a localização do texto que colocamos.
Fontes e estilos incluídosJá que vimos como criar um documento de maneira básica, vamos ver quais estilos de texto temos disponíveis inicialmente com nossa biblioteca FPDF.
As fontes que podemos colocar por padrão são:
  • Arial.
  • Vezes
  • helvética
  • Correio
  • Símbolo
  • ZapfDingbats
No entanto, podemos usar fontes personalizadas simplesmente tendo o arquivo correspondente a elas e podemos adicioná-las com o método addFont (). Os estilos que podemos usar são:
  • B para negrito.
  • I para itálico.
  • U para sublinhado.
Por exemplo, para incluir todos esses estilos, basta colocá-los um ao lado do outro no momento em que definimos a fonte do texto:
$ pdf-> setFont ("Courier", 'IBU', 10);

Notamos então que é muito fácil mudar isso. Se também quisermos adicionar uma cor, basta chamar o método setTextColor e passe para ele o código do mesmo em formato RGB. Por exemplo:
$ pdf-> setTextColor (255, 0, 0);

Para uma cor vermelha do nosso texto. Como tarefa, vamos permitir que essas novas instruções se apliquem em alguns dos PDF já criei no tutorial de forma que reforce o conhecimento.
Com isso acabamos, aprendemos a gerar arquivos PDF de uma forma simples e muito rápida apenas incluindo uma biblioteca em nosso projeto em PHP. É muito importante ver a documentação oficial do FPDF uma vez que existem outros recursos que podem nos ajudar a criar documentos melhores.Gostou e ajudou este tutorial?Você pode recompensar o autor pressionando este botão para dar a ele um ponto positivo
wave wave wave wave wave