Как использовать фоновое изображение для полной страницы?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как использовать фоновое изображение для полной страницы?

Сообщение Anonymous »

Мне нужно генерировать счета с MPDF, и все они будут иметь заголовок, нижний колонтитул и одно и то же фоновое изображение, которое должно охватить всю страницу. Использование изображений): < /p>

1- Использование внешнего файла CSS и инъекции в качестве CSS Content < /strong> < /p>

$pdf = new mPDF('es', 'A4', 0, '', 5, 5, 0, 0, 0, 0, 'P');

$pdf->useSubstitutions=false;
$pdf->setAutoTopMargin = 'stretch';
$pdf->SetDisplayMode('fullpage');

$css = file_get_contents('./styles.css');
$cabecera = file_get_contents('./header.html');
$cuerpo = file_get_contents('./body.html');
$pie = file_get_contents('./footer.html');

$pdf->SetHTMLHeader($cabecera);
$pdf->SetHTMLFooter($pie);
$pdf->WriteHTML($css, 1);

$pdf->WriteHTML($cuerpo, 2);

$pdf->Output();
< /code>

и файл styles.css: < /p>

body {
background-image: url('background_300dpi.png') ;
}
< /code>

Это бросает ошибку тайм-аута.
Если я использую фон изображения с низким разрешением, он работает, но он разрушает мой макет.$pdf = new mPDF('es', 'A4', 0, '', 5, 5, 0, 0, 0, 0, 'P');

$pdf->useSubstitutions=false;
$pdf->setAutoTopMargin = 'stretch';
$pdf->SetDisplayMode('fullpage');

$cabecera = file_get_contents('./cabecera.html');
$cuerpo = file_get_contents('./cuerpo.html');
$pie = file_get_contents('./pie.html');

$pdf->SetHTMLHeader($cabecera);
$pdf->SetHTMLFooter($pie);

$pdf->SetDefaultBodyCSS('background', "url('background_300dpi.png')");
$pdf->SetDefaultBodyCSS('background-image-resize', 6);

$pdf->WriteHTML($cuerpo, 2);

$pdf->Output();
< /code>

Ошибка тайм -аута тоже.
это работает, если я использую изображение с низким разрешением. But this is not a good solution to print, because there are small letters in the letterhead which is included in the background image.

3 - Trying to use images (the background image is split into a top letterhead and a bottom image) instead of an only background image, and setting margin constraints to false


$pdf = new mPDF('es', 'A4', 0, '', 5, 5, 0, 0, 0, 0, 'P');

$pdf->useSubstitutions=false;
$pdf->setAutoTopMargin = 'stretch';
$pdf->SetDisplayMode('fullpage');

$cabecera = file_get_contents('./cabecera.html');
$cuerpo = file_get_contents('./cuerpo.html');
$pie = file_get_contents('./pie.html');

$pdf->SetHTMLHeader($cabecera);
$pdf->SetHTMLFooter($pie);

$pdf->WriteHTML($cuerpo, 2);

$pdf->Image('miramar/background_top.png', 0, 0, 210, 28.5, 'png', '', true, false);
$pdf->Image('miramar/background_bottom.png', 0, 259, 210, 38, 'png', '', true, false, false, false);

$pdf->Output();
< /code>

В этом случае нет тайм -аута, но изображение нижнего колонтитула делает его контентом, включенным в нижний колонтитул. < /p>

У кого -нибудь есть идея о том, как его достичь? Я мог бы использовать фоновое изображение в качестве файла SVG.

Подробнее здесь: https://stackoverflow.com/questions/502 ... -full-page
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»