Dompdf HTML в PDF - не может указать маржу страницы

версия: 0.6.0 beta 3

Я старался изо всех сил сделать dompdf заданной границей страницы. У меня длинная страница с большим количеством текста, разделенная на главы...

my css - это что-то вроде:

#wrapper{
    padding:8px;
}

/* other styles... */

@page{margin: 0.2in 0.5in 0.2in 0.5in;}

когда php

<?php
ob_start(); // begin collecting output
include 'makemypdf.php'; // this page output the html
$html = ob_get_clean(); // retrieve output from makemypdf.php and stop buffering


require_once("dompdf/dompdf_config.inc.php");

$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->render();
$dompdf->stream("sample.pdf", array("Attachment" => false));

?>

но то, что я получаю, является страницей без полей! применяется только дополнение #wrapper... и они применяются только в начале и в конце всего PDF...

Я делаю что-то неправильно?

PS - кажется, что применяется только нижний край... но я не уверен...

PPS - я не пробовал и этот css:   body {       margin-top: 40px;   }   html {       margin-top: 40px;   }   @page {       margin-top: 40px;   }

Ответы

Ответ 1

Я понял, что ни тело, ни @page не работают в этой версии dompdf.

проблема была в основном CSS, где я помещал каждую строку в эту строку:

*{margin:0;padding:0}

Я узнаю, что поля PDF определены в базе поля HTML, поэтому я удалил эту строку с глобальным селектором и заменил на:

th,td,p,div,b ... {margin:0;padding:0}
html{margin:40px 50px}

Это работает как "не ожидаемое", и я получаю правильный запас на каждой странице.

СЕЙЧАС Я СЧАСТЛИВЫЙ. Я действительно не знаю, кто проголосовал за мой вопрос, я думаю, это очень важно! На самом деле везде в Интернете есть неправильный ответ (с использованием рамки body или @page).

решение: используйте в CSS html {margin:...}