MPDF zonder componist op de server installeren – Rapporten in PDF met PHP

De mPDF genereert PDF uit HTML/CSS met lage het leren kromme. Het idee hier is om mPDF te laten werken zonder de componist op de server te installeren. Componist zal lokaal worden gebruikt en later naar de server worden verzonden.

AANDACHT: Als u de componist op geen enkele manier wilt installeren, deze tutorial is niet voor jou. In dit bericht zal worden gebruikt de componist lokaal en later verzonden naar de server, geen installatie.

Introductie

Tegenwoordig zie ik mezelf niet meer programmeren zonder de Componist. Hiermee u consequent beheren van tal van modules / scripts gemaakt door derden die beschikbaar zijn op https://packagist.org/.

Met de Componist u niet alleen pakketten eenvoudig installeren en bijwerken, maar ook automatisch houden gesynchroniseerde afhankelijkheden met andere pakketten die worden gebruikt in de toepassing. Bovendien, al klaar met de Autoload, zodat u uw PHP-klassen laden zonder dat u.

Maar dit is niet een post over Componist :V Laten we eens kijken hoe te installeren en uit te voeren mPDF, een PHP-bibliotheek om PDF te genereren met HTML-code. De mPDF heeft er zijn nadelen, maar het interessante is dat je in principe nodig hebt om gewoon monteren uw HTML en met minimale inspanning zal al in staat zijn om het te converteren naar Pdf.

Probleem

Het lijkt erop dat, in de nieuwe versies, het duurt de Componist om de mPDF. Dus, aanbevolen is dat je daadwerkelijk beginnen met het gebruik van de Componist in hun ontwikkelingsactiviteit.

Vandaar de vraag: en als ik niet over heb hoe de installatie van de Componist op de server? In dit geval, laten we gebruik maken van een gimmick: Installeer de Componist lokaal en klim dan (uploaden) naar de server de map “Leverancier“. Onder deze omstandigheden u Componist zal gedeeltelijk buiten werking treden, maar het zal het nog steeds mogelijk maken om de mPDF.

Oplossing

Zoals in het begin werd gezegd, het idee is om mPDF te laten werken op de server zonder het te installeren op de server. Voor dit, we doen een installatie locatie van componist, en dan sturen we het naar de server.

De installatie van de mPDF Door Componist het is heel eenvoudig. Ga naar de https-site://getcomposer.org/download/, Composer downloaden en installeren.

Zodra u de Componist Geïnstalleerd, open gewoon de terminal (opdracht) en toegang tot uw toepassingsmap (binnen www/of htdocs/, bijvoorbeeld), en vervolgens de volgende opdracht roteren:

$ componist Vereisen mpdf/mpdf

Houd er rekening mee dat aan de basis van uw toepassingsmap een aantal bestanden wordt gemaakt, Als composer.json en composer.lock, evenals de directory “Leverancier/“. Nu is het gemakkelijk! Je hebt al alles wat je nodig hebt voor je mPDF Werk.

Neem de map Leverancier en stuur het naar uw server. Bij voorkeur, zet het aan de wortel en maak een bestand Index.php (ook bij de wortel) om de mPDF met de volgende code:

1
2
3
4
5
<?PHP
Require_once __DIR__ . "/vendor/autoload.php";
$mpdf = Nieuw mPDF();
$mpdf->WriteHTML('<H1>Hallo mensen!</H1>');
$mpdf->Output();

Dit gedaan, als alles goed gaat, verschijnt een Pdf Geschreven “Hallo mensen!“.

Rapporten in PDF met PHP

Verslag is niet het doel van dit bericht, maar ik maak van de gelegenheid gebruik om iets anders op te nemen. Als u rapporten moet genereren, een optie is om uw CSS/HTML in het bestand PHP en geef de code vervolgens door aan de mPDF doe het harde werk, dus bijvoorbeeld (Zie uitvoer in figuur 1 Hieronder):

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();
?>
<stijl>
    Tabel, Th, Td {
        Rand: 1px effen zwart;
        grensinstorting: Samenvouwen;
        Opvulling: 5PX;
    }               
    tabeltrr:Nth-kind(Oneven) {
      achtergrondkleur: #Eee;
    }  
    tabeltrr:Nth-kind(Zelfs) {
      achtergrondkleur: #FFF;
    }   
    tabel thead th {
      achtergrondkleur: #Ccc;
    } 
    tafel tfoot td {
      achtergrondkleur: #Ccc;
    } 
</stijl> 
<H1>Mijn rapport</H1>
<table align="center">
    <Thead>
        <Tr>
            <Th>Naam</Th>
            <Th>Leeftijd</Th>
            <Th>E-mail</Th>
        </Tr>
    </Thead>
    <Tfoot>
        <Tr>
            <td colspan="3" align="center">Auteursrecht ® 2017</Td>
        </Tr>
    </Tfoot>>    
    <Tbody 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 Tbody>
</Tabel>
<?PHP
$HTML = ob_get_contents();
$mpdf = Nieuw mPDF;
$mpdf->WriteHTML($HTML);
$mpdf->Output();

Fig. 1 – PDF-bestand voor CSS/HTML-code-injectie (boven) verwerkt door mPDF

Uiteraard u de code beter structureren door de CSS/HTML in een apart sjabloonbestand en upload het naar de oproep van de mPDF.

Hoe dan ook, nu is het aan jou! Lees verder over de Handleiding van de mPDF en blijf op de hoogte van de vorm van gebruik en compatibiliteit.

Totaal aantal treffers: 23885

Een commentaar op “MPDF zonder componist op de server installeren – Rapporten in PDF met PHP

  1. Richard VB zei:

    Ik heb de procedure precies zoals beschreven, maar heeft de PDF niet gegenereerd.
    Geeft aan dat u de klasse mPDF niet hebt gevonden.
    Ik vraag me af wat er mis ging?

Laat een antwoord achter

De uw e-mailadres zal niet worden gepubliceerd. Verplichte velden zijn gemarkeerd met *