Installera mPDF utan Composer på servern – Rapporter i PDF-fil med PHP

MPDF genererar PDF från HTML/CSS med låg inlärningskurva. Tanken här är att få mPDF att fungera utan att behöva installera kompositören på servern. Composer används lokalt och skickas senare till servern.

UPPMÄRKSAMHET: Om du inte vill installera kompositören på något sätt, den här självstudien är inte för dig. I det här inlägget kommer kompositören att användas lokalt och senare skickas till servern, ingen installation.

Introduktion

Nuförtiden ser jag inte längre mig själv programmera utan att använda Kompositör. Det låter dig konsekvent hantera många moduler / skript som skapats av tredje part som är tillgängliga på https://packagist.org/.

Med Kompositör du kan inte bara installera och uppdatera paket enkelt, men också automatiskt hålla synkroniserade eventuella beroenden med andra paket som används i applikationen. Dessutom, redan redo för Automatisk inläsning, så att du kan ladda dina PHP-klasser utan att behöva inkludera/kräva.

Men det här är inte ett inlägg om Kompositör :Q Låt oss se hur du installerar och kör mPDF (mPDF), ett PHP-bibliotek för att generera PDF med HTML-kod. Den mPDF (mPDF) har där sina nackdelar, men det intressanta är att du i princip bara behöver montera din HTML och med minimal ansträngning kommer du redan att kunna konvertera den till Pdf.

Problemet

Det verkar som om, i de nya versionerna, det tar Kompositör för att installera mPDF (mPDF). Så, rekommenderas är att du faktiskt börjar använda Kompositör i sin utvecklingsverksamhet.

Därav frågan: och om jag inte har hur man installerar Kompositör på servern? I detta fall, Låt oss använda en gimmick: installera den Kompositör lokalt och sedan klättra (Uppladdning) till servern mappen “Leverantör“. Under dessa förhållanden kan din Kompositör kommer att bli delvis ur funktion, men det kommer fortfarande att göra det möjligt att använda mPDF (mPDF).

Lösning

Som sagt i början, tanken är att få mPDF att fungera på servern utan att behöva installera den på servern. För detta, vi gör en installation Lokala av kompositören, och sedan skickar vi det till servern.

Installationen av mPDF (mPDF) Av Kompositör det är mycket enkelt. Gå till https webbplats://getcomposer.org/download/, ladda ned och installera Composer.

När du har Kompositör Installerat, öppna bara terminalen (kommandot) och komma åt din programkatalog (inom www/eller htdocs/, till exempel), och rotera sedan följande kommando:

$ kompositör Kräver mpdf/mpdf

Observera att vissa filer skapas i roten i programkatalogen, Som kompositör.json och composer.lock, samt katalogen “Leverantör/“. Nu är det enkelt! Du har redan allt du behöver för din mPDF (mPDF) Arbete.

Ta mappen Leverantör och skicka den till servern. Helst, placera den vid roten och skapa en fil Index.php (också vid roten) för att testa mPDF (mPDF) som innehåller följande kod:

1
2
3
4
5
<?PHP
require_once __DIR__ . "/leverantör/automatisk .php";
$mpdf = nya mPDF (mPDF)();
$mpdf->SkrivHTML('<13.00.m.>Hej världen!</13.00.m.>');
$mpdf->Produktionen();

Gjort detta, om allt går bra, visas en Pdf Skrivet “Hej världen!“.

Rapporter i PDF-fil med PHP

Rapporten är inte syftet med det här inlägget, men jag tar tillfället i akt att spela in något annat. Om du behöver generera rapporter, ett alternativ är att bädda in din CSS/HTML i filen PHP och sedan skicka koden till mPDF (mPDF) gör det hårda arbetet, så till exempel (Se utdata i figur 1 nedan):

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__ . "/leverantör/automatisk .php";
ob_start();
?>
<stil>
    Tabell, Th, Td {
        gränsen: 1px fast svart;
        gränskollaps: Kollaps;
        Stoppning: 5PX;
    }               
    tabell tr:Nth-barn(Udda) {
      bakgrundsfärg: #Eee;
    }  
    tabell tr:Nth-barn(Även) {
      bakgrundsfärg: #FFF;
    }   
    tabell thead th {
      bakgrundsfärg: #Ccc;
    } 
    tabell tfoot td {
      bakgrundsfärg: #Ccc;
    } 
</stil> 
<13.00.m.>Min rapport</13.00.m.>
<table align="center">
    <Thead>
        <Tr>
            <Th>Namn</Th>
            <Th>Ålder</Th>
            <Th>E-post</Th>
        </Tr>
    </Thead>
    <Tfoot (Tfoot)>
        <Tr>
            <td colspan="3" align="center">Upphovsrätt ® 2017</Td>
        </Tr>
    </Tfoot (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>
</Tabell>
<?PHP
$HTML = ob_get_contents();
$mpdf = nya mPDF (mPDF);
$mpdf->SkrivHTML($HTML);
$mpdf->Produktionen();

Fig. 1 – Utdata PDF-fil för CSS/HTML-kodinjektion (ovan) bearbetas av mPDF

Självklart kan du bättre strukturera koden genom att placera CSS/HTML i en separat mallfil och ladda upp den till anropet till mPDF (mPDF).

Ändå, Nu är det upp till dig! Ta en avläsning om Handboken för mPDF (mPDF) och hålla koll på användnings- och kompatibilitetsformen.

Totalt antal träffar: 27865

En kommentar om “Installera mPDF utan Composer på servern – Rapporter i PDF-fil med PHP

  1. Richard VB sade:

    Jag gjorde proceduren precis som beskrivits., men genererade inte PDF-filen.
    Anger att du inte hittade klassen mPDF.
    Jag undrar vad som gick fel.?

Lämna svar

I din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *