Instalar MPDF sen Compositor – Informes en PDF con PHP

O mPDF xera PDF desde CSS / HTML con baixa curva de aprendizaxe. A idea aquí é facer o mPDF funcionar sen ter instalar Composer no servidor.

introdución

Hoxe en día xa non me vexo programando sen usar o compositor. Te permite xestionar de forma consistente numerosos módulos / scripts creados por terceiros e que están dispoñibles en https://packagist.org/.

co compositor pode non só instalar e actualizar paquetes facilmente, pero tamén manter sincronizado automaticamente calquera dependencias con outros paquetes utilizados na aplicación. ademais, xa prontinho o autoload, permitindo subir as súas clases PHP sen necesidade de facer include / require.

Pero este non é un post sobre compositor :P Imos ver como instalar e executar o PDF, unha biblioteca PHP para xerar PDF utilizándose de código HTML. O PDF ten alí os seus contras, pero o interesante é que basicamente precisa só montar o seu HTML e con mínimo esforzo terá condicións de convertela para PDF.

problema

Ao parecer, nas novas versións, é preciso do compositor instalar ou PDF. Polo tanto, o recomendable é que de feito pase a utilizar o compositor na súa actividade de desenvolvemento.

De aí vén a pregunta: e se eu non ten como instalar compositor nonserver? neste caso, utilizaremos dunha artificio: instalar ou compositor local e entón subir (Cargando) Server para un cartafol ou “vendedor“. Nestas condicións o seu compositor Vai estar parcialmente inoperante, pero aínda así vai facer posible o uso do PDF.

Resolución

A instalación do PDF polo compositor é moi sinxelo. vaia ao sitio https://getcomposer.org/download/, Baixo e instala o Composer.

Unha vez que o compositor instalado, Terminal ou simplemente aberta (mando) e acceder ao directorio da súa aplicación (Dentro www / htdocs ou /, por exemplo), e entón executar o seguinte comando:

$ compositor esixir PDF/PDF

Teña en conta que na raíz do directorio da súa aplicación será creado uns arquivos, como composer.json e composer.lock, así como o directorio “vendedor /“. Agora quedou fácil! Xa ten todo o que precisa para o seu PDF función.

Tome o cartafol vendedor e enviar para o servidor. preferentemente, coloque a na raíz e cree un arquivo index.php (tamén na raíz) para examinarmos o PDF que contén o seguinte código:

1
2
3
4
5
<?php
require_once __DIR__ . '/vendor/autoload.php';
$PDF = novo PDF();
$PDF->WriteHTML('<H1>Ola, mundo!</H1>');
$PDF->saída();

feito isto, se todo vai ben, aparecerá un PDF escrita “Ola mundo!“.

Informes en PDF con PHP

Informe non é a finalidade deste post, pero aproveito para rexistrar algo máis. Se precisa xerar informes, Unha opción é embutir seu CSS / HTML no arquivo PHP e entón pasar o código ao PDF facer o traballo duro, así por exemplo (Ver saída na Figura 1 baixo):

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();
?>
<estilo>
    mesa, th, td {
        fronteira: 1px negro sólido;
        fronteira-colapso: colapso;
        acolchado: 5px;
    }               
    tr mesa:nth-child(estraño) {
      cor de fondo: #EEE;
    }  
    tr mesa:nth-child(mesmo) {
      cor de fondo: #FFF;
    }   
    th mesa thead {
      cor de fondo: #CCC;
    } 
    mesa td tfoot {
      cor de fondo: #CCC;
    } 
</estilo> 
<H1>meu Informe</H1>
<table align="center">
    <thead>
        <tr>
            <th>nome</th>
            <th>idade</th>
            <th>Correo-e</th>
        </tr>
    </thead>
    <tfoot>
        <tr>
            <td colspan="3" align="center">Copyright ® 2017</td>
        </tr>
    </tfoot>>    
    <tbody>
        <tr>
            <td>Taylor</td>
            <td align="center">43</td>
            <td >taylor@amail.com</td>
        </tr>
        <tr>
            <td>Portela</td>
            <td align="center">47</td>
            <td>portela@bmail.com</td>
        </tr>        
    </tbody>
</mesa>
<?php
$html = ob_get_contents();
$PDF = novo PDF;
$PDF->WriteHTML($html);
$PDF->saída();

figo. 1 – PDF de saída referente á inxección de código CSS / HTML (arriba) procesado polo mPDF

Obviamente podes estruturar mellor o código poñendo o CSS / HTML nun arquivo de plantilla separado e cargalo para dentro da chamada do PDF.

En fin, agora é contigo! Bótalle un trata no do manual PDF e fique por dentro da forma de uso e compatibilidades.

Total de accesos: 1903

Deixe unha resposta

O seu enderezo de correo-e non será publicado. Os campos obrigatorios están marcados con *