2013-09-02 1 views
5

Я генерируя HTML2PDF используя DOMPDF и мой кодКак добавить верхний и нижний колонтитулы в Dompdf?

$html='<div>--content of pdf--</div>'; 
require_once('resources/dompdf/dompdf_config.inc.php'); 
$dompdf = new DOMPDF(); 
$dompdf->load_html($html); 
$dompdf->render(); 
$output = $dompdf->output(); 
$dompdf->stream("transaction.pdf"); 

Мой PDF успешно сгенерированы я хочу, чтобы добавить изображение в заголовке этого PDF так может любой сказать мне, как я могу вставить верхний и нижний колонтитулы для DOMPDF и особенно где поставить код заголовка?

+1

возможно дубликат [заголовка в PDF страницы с помощью DOMPDF в PHP] (http://stackoverflow.com/questions/7484318/header-in-pdf-page-using-dompdf-in-php) – Foobar

+0

Не почему вы спамаете целый кусок не ответов на этот вопрос через полгода. Но, пожалуйста, не делай этого. – BoltClock

ответ

4

От dompdf FAQ

Q: Как я могу добавить изображение в верхний или нижний колонтитул на каждой странице? A: You может добавлять изображения и фигуры (линии, прямоугольники и т. Д.) На каждую страницу, используя PDF 'objects'. Объект PDF захватывает весь рендеринг команды в качестве своего рода шаблона, который затем может быть добавлен к нескольким страницам:

<script type="text/php"> 

if (isset($pdf)) { 

    // Open the object: all drawing commands will 
    // go to the object instead of the current page 
    $footer = $pdf->open_object(); 

    $w = $pdf->get_width(); 
    $h = $pdf->get_height(); 

    // Draw a line along the bottom 
    $y = $h - 2 * $text_height - 24; 
    $pdf->line(16, $y, $w - 16, $y, $color, 1); 

    // Add an initals box 
    $font = Font_Metrics::get_font("helvetica", "bold"); 
    $text = "Initials:"; 
    $width = Font_Metrics::get_text_width($text, $font, $size); 
    $pdf->text($w - 16 - $width - 38, $y, $text, $font, $size, $color); 
    $pdf->rectangle($w - 16 - 36, $y - 2, 36, $text_height + 4, array(0.5,0.5,0.5), 0.5); 

    // Add a logo 
    $img_w = 2 * 72; // 2 inches, in points 
    $img_h = 1 * 72; // 1 inch, in points -- change these as required 
    $pdf->image("print_logo.png", "png", ($w - $img_w)/2.0, $y - $img_h, $img_w, $img_h); 

    // Close the object (stop capture) 
    $pdf->close_object(); 

    // Add the object to every page. You can 
    // also specify "odd" or "even" 
    $pdf->add_object($footer, "all"); 
} 

</script> 

EDIT:

Здесь шаг за шагом инструкциями:

Где-то в вашем html-файле, рядом с верхней частью, откройте тег сценария с типом «text/php»:

<script type="text/php"> 

Проверьте, установлена ​​ли переменная $ pdf. dompdf задает эту переменную при оценке встроенного PHP.

<script type="text/php"> 

if (isset($pdf)) { 
+0

где поставить этот скрипт? перед генерированием pdf или после создания pdf. можем ли мы поместить этот скрипт в тег php? –

+0

@nitinkachhadiya Я обновил свой ответ. – Foobar

+0

Обратите внимание, что при использовании встроенного скрипта он в настоящее время должен находиться в * body * HTML. Из-за того, как анализируется документ, вы, по крайней мере, должны отформатировать свой HTML как «

--content of pdf--
'. Хотя, если можно, просто создайте свой верхний/нижний колонтитул с помощью HTML + CSS. – BrianS