TCPDF запись HTML стиль полей / отступов не работает - PullRequest
0 голосов
/ 13 марта 2020

Я реализовал TCPDF в своем приложении Magento 2. Я создал файл HTML и загрузил его в мой экземпляр TCPDF в моем контроллере. Я добавил все стили как встроенный стиль в мою HTML разметку. Но после загрузки стиль не распознается. Не уверен, что другие стили, такие как цвет фона и размер шрифта, работают нормально. Но когда я пытаюсь добавить поле или отступ в мой тег Div, он все равно не вступает в силу. Любая идея, как я могу загрузить свой HTML, а также загрузить css? Ниже моя HTML разметка и мой код tcpdf в моем контроллере

HTML MARKUP

    $pdf = new \TCPDF(self::PAGE_ORIENTATION, self::PAGE_UNIT, [self::PAGE_SIZE_WIDTH, self::PAGE_SIZE_HEIGHT], true, 'UTF-8', false);
    $pdf->SetCreator("Creator");
    $pdf->SetAuthor('Author');
    $pdf->SetTitle('Print');
    $pdf->SetSubject('PDF');
    $pdf->SetKeywords('pdf);

    // set some language-dependent strings (optional)
    if (@file_exists(dirname(__FILE__).'/lang/eng.php')) {
        require_once(dirname(__FILE__).'/lang/eng.php');
        $pdf->setLanguageArray($l);
    }

    // remove default header/footer

    $pdf->SetMargins(0, 0, 0, 0);
    $pdf->SetAutoPageBreak(TRUE, 0);
    $pdf->setCellPaddings(0,0,0,0);
    $pdf->setFooterMargin(0);
    $pdf->setPrintHeader(false);
    $pdf->setPrintFooter(false);
    $pdf->AddPage();
    $html = <<<EOF
    <div id="ecard-container">
        <table cellspacing="0" cellpadding="0">
            <tr>
                <td width="333" bgcolor="#6FFF66" height="270">
                    <div>
                        <img src="{$img}" width="220" height="270"/>
                    </div>
                </td>
                <td bgcolor="#990000" height="270">
                    <table>
                        <tr>
                            <td>
                                <div class="top-container">
                                    <h1>The title</h1>
                                    <div>Bought in your name from Gifts</div>
                                </div>
                            </td>
                        </tr>
                        <tr>
                            <td>Lorem Ipsum</td>
                        </tr>
                    </table>                
                </td>
            </tr>
            <tr>
                <td valign="bottom" bgcolor="#FFFFF0">
                    <div class="title" style="display: block;margin: 30px;">Thank you for saving a life today by providing medicine for a sick person in the developing world</div>
                </td>
                <td bgcolor="#CCCCCC" height="70">
                    <table>
                        <tr>
                            <td style="margin: 0.3in;padding: 0.3in;">
                                <div class="message"></div>
                            </td>
                        </tr>
                        <tr>
                            <td>
                                <span>Order number: 100051905</span>
                            </td>
                        </tr>
                        <tr>
                            <td>
                                <div>More info at www.goodgifts.org.</div>
                            </td>
                        </tr>
                        <tr>
                            <td>
                                <div>Tel: 020 7794 8000</div>
                            </td>
                        </tr>
                    </table>
                </td>
            </tr>
        </table>
    </div>
    EOF;
    $pdf->writeHTML($html, true, false, true, false, '');   

Теперь я попытался добавить встроенный стиль в моем HTML теги, такие как добавление отступов или полей, но они не вступают в силу. Я также попытался просмотреть его в Инкогнито, но безрезультатно. Есть идеи как это исправить?

1 Ответ

0 голосов
/ 13 марта 2020

вместо этого используйте SetMargin

пример: $ pdf-> SetMargins (10, 20, 10, true); $ Pdf-> AddPage ();

...