Встановити mPDF без композитора на сервері – Звіти в PDF з PHP

На mPDF створює PDF з HTML/CSS з низькою кривий навчання. Ідея тут полягає в тому, щоб зробити mPDF роботу без установки композитора на сервері. Композитор буде використовуватися локально і відправлений пізніше на сервер.

УВАГА: Якщо ви не хочете встановлювати композитора в будь-якому випадку, цей підручник не для вас. У цій публікації буде використовуватися композитор локально, а потім відправлений на сервер, немає установки.

Введення

В даний час я більше не бачу себе програмування без використання Композитор. Це дозволяє послідовно керувати численними модулями/скриптами, створеними третіми сторонами, які доступні за адресою https://packagist.org/.

З Композитор Ви можете не тільки легко встановлювати та оновлювати пакети, але також автоматично синхронізувати будь-які залежності з іншими пакунками, що використовуються в додатку. Крім того,, вже готовий до автозавантаження, дозволяє завантажувати свої класи PHP без необхідності включати / вимагати.

Але це не пост про Композитор :Q Давайте подивимося, як встановити і запустити mPDF, бібліотека PHP для створення PDF за допомогою HTML-коду. На mPDF має свої мінуси, але найцікавіше, що вам в основному потрібно просто зібрати свій HTML і з мінімальними зусиллями вже зможе конвертувати його в PDF.

Проблема

Здається, що, у нових версіях, він приймає Композитор для встановлення mPDF. Так, рекомендується, що ви дійсно починаєте використовувати Композитор у своїй діяльності з розвитку.

Звідси і питання: і якщо у мене немає, як встановити Композитор на сервері? У цьому випадку, давайте використаємо трюк: встановити Композитор локально, а потім піднятися (Завантажити) до сервера папки “Постачальник“. У цих умовах ваш Композитор отримає частково непрацездатний, але це все одно дасть можливість використовувати mPDF.

Рішення

Як було сказано на початку, Ідея полягає в тому, щоб змусити mPDF працювати на сервері без необхідності встановлювати його на сервері. Для цього, ми зробимо установку місцевий композитора, а потім ми надішлемо його на сервер.

Встановлення mPDF волос Композитор це дуже просто. Перейдіть до розділу сайт https://getcomposer.org/download/, завантажити та встановити Composer.

Як тільки у вас є Композитор Встановлені, просто відкрийте термінал (команда) і отримати доступ до каталогу програм (в межах www/or htdocs/, Наприклад), а потім повернути наступну команду:

$ композитор вимагають mpdf/mpdf

Зверніть увагу, що в корені вашого каталогу додатків будуть створені деякі файли, як composer.json і composer.lock, а також каталог “Постачальник/“. Тепер це легко! У вас вже є все необхідне для вашого mPDF функція.

Взяти папку Постачальник і надішліть його на свій сервер. Досить, покладіть його в корінь і створіть файл індекс.php (Також під корінь) для перевірки mPDF містить наступний код:

1
2
3
4
5
<?PHP
require_once __DIR__ . '/vendor/autoload.php';
$mpdf = нові mPDF();
$mpdf->ЗаписатиHTML('<13:00 p.m.>Привіт, народ!</13:00 p.m.>');
$mpdf->Вихід();

Зроблено це, Якщо все йде добре, з'явиться PDF Написана “Привіт, народ!“.

Звіти в PDF з PHP

Звіт не є метою цієї публікації, Але я користуюся можливістю записати щось інше. Якщо потрібно створити звіти, одним з варіантів є вбудовування вашої CSS/HTML у файлі PHP а потім передати код до mPDF Виконуйте важку роботу, Наприклад, (Дивіться вихід на малюнку 1 нижче):

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();
?>
<Стиль>
    стіл, Th, Td {
        Кордон: 1px твердий чорний;
        межа-колапс: колапс;
        Заповнення: 5Px;
    }               
    таблиця tr:N-дитина(Непарні) {
      колір тла: #eee;
    }  
    таблиця tr:N-дитина(навіть) {
      колір тла: #FFF;
    }   
    table thead th {
      колір тла: #Ccc;
    } 
    стіл tfoot td {
      колір тла: #Ccc;
    } 
</Стиль> 
<13:00 p.m.>Мій звіт</13:00 p.m.>
<table align="center">
    <Теад>
        <Tr>
            <Th>Ім'я</Th>
            <Th>Вік</Th>
            <Th>Електронна пошта</Th>
        </Tr>
    </Теад>
    <Tfoot>
        <Tr>
            <td colspan="3" align="center">Авторське право ® 2017</Td>
        </Tr>
    </Tfoot>>    
    <Тіло>
        <Tr>
            <Td>Тейлор</Td>
            <td align="center">43</Td>
            <Td >taylor@amail.com</Td>
        </Tr>
        <Tr>
            <Td>Портела</Td>
            <td align="center">47</Td>
            <Td>portela@bmail.com</Td>
        </Tr>        
    </Тіло>
</стіл>
<?PHP
$html = ob_get_contents();
$mpdf = нові mPDF;
$mpdf->ЗаписатиHTML($html);
$mpdf->Вихід();

Рис. 1 – Вихідний PDF-файл для ін'єкції CSS/HTML коду (вище) оброблено mPDF

Очевидно, що ви можете краще структурувати код, розмістивши CSS/HTML в окремому файлі шаблону і завантажити його в виклик mPDF.

У всякому разі, Тепер це залежить від вас! Прочитайте на Інструкція з mPDF і залишатися на вершині форми використання та сумісності.

Усього відвідувань: 40003

Прокоментувати “Встановити mPDF без композитора на сервері – Звіти в PDF з PHP

  1. Річард VB сказав::

    Я зробив процедуру точно так, як описано, але не згенерував PDF-файл.
    Вказує на те, що ви не знайшли клас mPDF.
    Цікаво, що пішло не так?

Залишити коментар

На адресу електронної пошти не буде опублікований.