TCPDF不支持内部css

时间:2016-08-06 05:14:35

标签: codeigniter tcpdf

我是使用TCPDF库的Codeigniter开发人员。 PDF函数工作正常,但下载生成的PDF后内部css无法正常工作。我该如何解决这个问题?请帮帮我。

控制器

<?php

if(!defined('BASEPATH'))exit('No direct script access allowed');

class Pdfex extends CI_Controller{
    #code

    public function index(){

        $password = 'test123';
        $data=[];
        $html = $this->load->view('welcome_message', $data, true);

        //load tcPDF library
        $this->load->library('Pdf');
        $pdf = new Pdf('P', 'mm', 'A4', true, 'UTF-8', false);
        $pdf->setProtection(array(), '', $password);
        $pdf->AddPage();
        //pdf line height
        $pdf->setCellHeightRatio(1.8);
        //pdf font style
        //$pdf->setFont('arial','');
        $pdf->setFont('helvetica', '');

        $pdf->WriteHTML($html, true, false, true, false, '');                       
        $pdf->Output('welcome_message', 'D');
    }
}

查看

    <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Welcome to CodeIgniter</title>

    <style type="text/css">

    ::selection{ background-color: #E13300; color: white; }
    ::moz-selection{ background-color: #E13300; color: white; }
    ::webkit-selection{ background-color: #E13300; color: white; }

    body {
        background-color: #fff;
        margin: 40px;
        font: 13px/20px normal Helvetica, Arial, sans-serif;
        color: #4F5155;
    }

    a {
        color: #003399;
        background-color: transparent;
        font-weight: normal;
    }

    h1 {
        color: #444;
        background-color: transparent;
        border-bottom: 1px solid #D0D0D0;
        font-size: 19px;
        font-weight: normal;
        margin: 0 0 14px 0;
        padding: 14px 15px 10px 15px;
    }

    code {
        font-family: Consolas, Monaco, Courier New, Courier, monospace;
        font-size: 12px;
        background-color: #f9f9f9;
        border: 1px solid #D0D0D0;
        color: #002166;
        display: block;
        margin: 14px 0 14px 0;
        padding: 12px 10px 12px 10px;
    }

    #body{
        margin: 0 15px 0 15px;
    }

    p.footer{
        text-align: right;
        font-size: 11px;
        border-top: 1px solid #D0D0D0;
        line-height: 32px;
        padding: 0 10px 0 10px;
        margin: 20px 0 0 0;
    }

    #container{
        margin: 10px;
        border: 1px solid #D0D0D0;
        -webkit-box-shadow: 0 0 8px #D0D0D0;
    }
    </style>
</head>
<body>

<div id="container">
    <h1>Welcome to CodeIgniter!</h1>

    <div id="body">
        <p>The page you are looking at is being generated dynamically by CodeIgniter.</p>

        <p>If you would like to edit this page you'll find it located at:</p>
        <code>application/views/welcome_message.php</code>

        <p>The corresponding controller for this page is found at:</p>
        <code>application/controllers/welcome.php</code>

        <p>If you are exploring CodeIgniter for the very first time, you should start by reading the <a href="user_guide/">User Guide</a>.</p>
    </div>

    <p class="footer">Page rendered in <strong>{elapsed_time}</strong> seconds</p>
</div>

</body>
</html>

1 个答案:

答案 0 :(得分:0)

TCPDF对CSS属性的支持非常有限。您可以在此处查看一些可能的CSS属性:https://tcpdf.org/examples/example_061/