Вставить HTML с помощью add_object? - PullRequest
1 голос
/ 10 ноября 2011

На странице dompdf FAQ они приводят этот пример:

<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>

Я пытался вставить HTML в text, но это не сработало. Есть ли способ вставить HTML с помощью add_object?

Ответы [ 2 ]

1 голос
/ 10 ноября 2011

Там нет. Когда вы используете встроенный скрипт, вы получаете прямой доступ к внутренней библиотеке PDF. У вас есть доступ только к тому, что позволяет библиотека. Две поддерживаемые библиотеки (CPDF и PDFLib) не поддерживают работу с HTML.

Это не значит, что вы не можете достичь того же результата другими способами. Релиз 0.6.0 (в настоящее время бета-версия 2) поддерживает элементы с фиксированным положением, которые отображаются на каждой странице в указанном месте.

См. Образец в этом ответе .

0 голосов
/ 10 ноября 2011

Разве вы не можете просто использовать:

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