OPPMERKSOMHET: Se você não quer instalar o composer de forma alguma, este tutorial não é para você. Neste post será utilizado o composer localmente e posteriormente enviado para o servidor, sem instalação.

Introduksjon
Hoje em dia já não me vejo programando sem usar o Composer. Ele te permite gerenciar de forma consistente inúmeros módulos/scripts criados por terceiros e que estão disponíveis em https://packagist.org/.
Com o Composer você pode não apenas instalar e atualizar pacotes facilmente, mas também manter sincronizado automaticamente quaisquer dependências com outros pacotes utilizados na aplicação. i tillegg, já tem prontinho o autoload, permitindo carregar suas classes PHP sem necessidade de fazer include/require.
Mas este não é um Post sobre Composer :P Vamos ver como instalar e executar o mPDF, uma biblioteca PHP para gerar PDF utilizando-se de código HTML. O mPDF tem lá seus contras, mas o interessante é que você basicamente precisa apenas montar seu HTML e com mínimo esforço já terá condições de convertê-lo para PDF.
Problem
Ao que parece, nas novas versões, é preciso do Composer para instalar o mPDF. Så, o recomendado é que você de fato passe a usar o Composer em sua atividade de desenvolvimento.
Daí vem a pergunta: e se eu não tiver como instalar o Composer no servidor? I dette tilfellet, vamos utilizar de uma artifício: installere den Composer localmente e então subir (upload) para o Servidor a pasta “Vendor“. Nestas condições seu Composer vai ficar parcialmente inoperante, mas ainda assim vai tornar possível o uso do mPDF.
Løsning
Como foi dito no início, a ideia é fazer o mPDF funcionar no servidor sem que seja preciso instalá-lo no Servidor. For dette, faremos uma instalação beliggenhet do composer, e então enviaremos para o servidor.
A instalação do mPDF pelo Composer é muito simples. Vá ao site https://getcomposer.org/download/, baixe e instale o Composer.
Uma vez que tenha o Composer instalado, basta abrir o Terminal (kommandoen) e acessar o diretório da sua aplicação (dentro de www/ ou htdocs/, for eksempel), e então rodar o seguinte comando:
$ Komponist require mpdf (andre)/mpdf (andre) |
Note que na raiz do diretório da sua aplicação será criado uns arquivos, como composer.json og composer.lock, bem como o diretório “Vendor/“. Agora ficou fácil! Você já tem tudo que precisa para seu mPDF funcionar.
Pegue a pasta Vendor e envie para o seu Servidor. De preferência, coloque-a na raiz e crie um arquivo index.php (também na raiz) para testarmos o mPDF contendo o seguinte código:
1 2 3 4 5 | <?PHP require_once __DIR__ . '/vendor/autoload.php'; $mpdf (andre) = nye mPDF(); $mpdf (andre)->WriteHTML('<H1>Hello world!</H1>'); $mpdf (andre)->Output(); |
Gjort dette, se tudo der certo, irá aparecer um PDF escrito “Hello World!“.
PDF-rapporter med PHP
Relatório não é a finalidade deste Post, mas aproveito para registrar algo mais. Se você precisa gerar relatórios, uma opção é embutir seu CSS/HTML no arquivo PHP e então passar o código para o mPDF fazer o trabalho duro, assim por exemplo (Ver saída na Figura 1 under):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | <?PHP require_once __DIR__ . '/vendor/autoload.php'; ob_start(); ?> <stil> tabell, th, TD { kantlinje: 1px solid black; border-collapse: collapse; utfylling: 5px; } table tr:NTH-barn(oddetall) { bakgrunnsfarge-: #eee; } table tr:NTH-barn(selv) { bakgrunnsfarge-: #FFF; } table thead th { bakgrunnsfarge-: #CCC; } table tfoot td { bakgrunnsfarge-: #CCC; } </stil> <H1>Meu Relatório</H1> <table align="center"> <THEAD> <St> <th>navn</th> <th>Alder</th> <th>E-post</th> </St> </THEAD> <tfoot> <St> <td colspan="3" align="center">Copyright ® 2017</TD> </St> </tfoot>> <TBODY> <St> <TD>Taylor</TD> <td align="center">43</TD> <TD >taylor@amail.com</TD> </St> <St> <TD>Portela</TD> <td align="center">47</TD> <TD>portela@bmail.com</TD> </St> </TBODY> </tabell> <?PHP $HTML = ob_get_contents(); $mpdf (andre) = nye mPDF; $mpdf (andre)->WriteHTML($HTML); $mpdf (andre)->Output(); |

Obviamente você pode estruturar melhor o código colocando o CSS/HTML em um arquivo de template separado e carregá-lo para dentro da chamada do mPDF.
Allikevel, agora é com você! Dê uma lida no Manual do mPDF e fique por dentro da forma de uso e compatibilidades.
Fiz o procedimento exatamente como descrito, mas não gerou o PDF.
Indica que não encontrou a class mPDF.
O que será que houve de errado?