喺服務器上安裝冇作曲家嘅mPDF。 – 用 php 編寫嘅 pdf 報告

mpdf 生成 pdf 係 html/css 同低學習曲線. 呢度嘅諗法係用mPDF工作,而唔使喺服務器上安裝作曲家。. 作曲家將在本地使用,稍後發送到服務器。.

注意: 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.

介紹

今日, 我冇睇到自己嘅編程, 未有使用 作曲家. 它使你可以始終如一地管理由第三方創建的多個糢塊/腳本, 並可在 https://packagist.org/.

與該 作曲家 你不僅可以輕鬆地安裝和更新軟件包, 仲要自動與應用程序中使用其他包嘅任何依賴項保持同步. 另外, 已經準備好 自動, 允許您攜帶 php 類, 而無需包含/要求.

但唔係一個帖子 作曲家 :p 俾我地睇下點安裝和運行 mPDF, 使用 html 代碼生成 pdf 的 php 庫. 的 mPDF 有你既缺點, 但有趣嘅係, 你基本上只係需要安裝你個 html 同最細嘅努力都可以將其轉換為 pdf.

個問題

睇嚟, 在新版本中, 它需要 作曲家 若要安裝 mPDF. 所以, 建議你實際使用 作曲家 喺你嘅開發活動中.

因此, 問題: 如果我冇點樣安裝 作曲家 在服務器上? 在這種情況下, 我哋將使用一個噱頭: 安裝該 作曲家 本地, 然後擒 (上載) 到服務器文件夾 “供應商“. 在這種情況下, 你 作曲家 將部分不起作用, 但仍然會令可能嘅使用 mPDF.

解決方案

Como foi dito no início, a ideia é fazer o mPDF funcionar no servidor sem que seja preciso instalá-lo no Servidor. 為此, faremos uma instalação 位置 do composer, e então enviaremos para o servidor.

安裝 mPDF作曲家 好簡單. 轉到 (g) https 站點://getcomposer.org/download/, 下載並安裝作曲家.

一旦你有左 作曲家 安裝, 簡單地打開終端 (命令) e acessar o diretório da sua aplicação (dentro de www/ ou htdocs/, 舉個例子), e então rodar o seguinte comando:

$ 作曲家 require mpdf/mpdf

Note que na raiz do diretório da sua aplicação será criado uns arquivos, como composer.jsoncomposer.lock, bem como o diretórioVendor/“. Agora ficou fácil! Você já tem tudo que precisa para seu mPDF funcionar.

Pegue a pasta 供應商 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 = 新增功能 mPDF();
$mpdf->WriteHTML('<h1>Hello world!</h1>');
$mpdf->Output();

噉做, se tudo der certo, irá aparecer um pdf escritoHello World!“.

用 php 編寫嘅 pdf 報告

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 下面):

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();
?>
<樣式>
    表, 屆, Td {
        border: 1px solid black;
        border-collapse: collapse;
        padding: 5px;
    }               
    table tr:第 n-兒童(奇怪) {
      背景色: #eee;
    }  
    table tr:第 n-兒童(甚至) {
      背景色: #fff;
    }   
    table thead th {
      背景色: #Ccc;
    } 
    table tfoot td {
      背景色: #Ccc;
    } 
</樣式> 
<h1>Meu Relatório</h1>
<table align="center">
    <THEAD>
        <Tr>
            <屆>名稱</屆>
            <屆>年齡</屆>
            <屆>電子郵件</屆>
        </Tr>
    </THEAD>
    <tfoot>
        <Tr>
            <td colspan="3" align="center">Copyright ® 2017</Td>
        </Tr>
    </tfoot>>    
    <TBODY>
        <Tr>
            <Td>泰勒</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>
</表>
<?PHP
$HTML = ob_get_contents();
$mpdf = 新增功能 mPDF;
$mpdf->WriteHTML($HTML);
$mpdf->Output();

Fig. 1 – Arquivo PDF de saída referente à injeção de código CSS/HTML (acima) processado pelo mPDF

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.

反正, agora é com você! Dê uma lida no Manual do mPDF 並保持在使用和兼容性嘅形式.

總點擊數: 18936

評論 “喺服務器上安裝冇作曲家嘅mPDF。 – 用 php 編寫嘅 pdf 報告

  1. Ricardo VB 說::

    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?

留言

您的電子郵件地址就不會發佈. 與標記必填的字段 *