нижние колонтитулы dompdf не работают? - PullRequest
1 голос
/ 16 февраля 2011

Я работаю над модификацией моего выходного скрипта dompdf для добавления нижних колонтитулов.Я прочитал учебник из самого dompdf о том, как это сделать, но он мне не подходит.

Сначала я пишу HTML-файл, который PDF читает с использованием fopen.Я следовал инструкциям на dompdf и поместил это в заголовок:

<script type="text/php">

if ( isset($pdf) ) {

  $font = Font_Metrics::get_font("helvetica", "bold");
  $pdf->page_text(72, 18, "Header: {PAGE_NUM} of {PAGE_COUNT}", $font, 6, array(0,0,0));

}
</script>

Однако, он нигде не добавил никакого вида текста.Вот суть происходящего.

Страница использует fopen и fwrite (w +) для написания HTML-таблиц и вышеупомянутого скрипта верхнего / нижнего колонтитула.

$somecontent = "blah blah + previous javascript";
 if (!$handle = fopen($filename, 'w+')) {
              echo "Cannot open file ($filename)";
              exit;
          } //if (!$handle = fopen($filename, 'w+'))
          // Write $somecontent to our opened file.
          if (fwrite($handle, $somecontent) === false) {
              echo "Cannot write to file ($filename)";
              exit;
          } //if (fwrite($handle, $somecontent) === false)
          //echo "Success, wrote ($somecontent) to file ($filename)";
          //echo "Success!";
          fclose($handle);

Создает файл в dompdf.каталог.

При нажатии на ссылку печати pdf dompdf читает созданный html-файл и создает файл PDF.

Есть ли что-то, что я делаю неправильно?Мне бы очень хотелось, чтобы нижний колонтитул работал на всех страницах, которые анализирует domdpf.

Спасибо!

РЕДАКТИРОВАТЬ: О, я должен также упомянуть, что я использую файл dompdf.php по умолчаниюдля фактического сохранения файлов HTML в формате PDF.И DOMPDF_ENABLE_PHP имеет значение true.

1 Ответ

2 голосов
/ 16 февраля 2011

Убедитесь, что скрипт содержится в теле документа HTML.В настоящее время dompdf не обрабатывает сценарии, которые находятся вне тела.Я считаю, что если вы не определите явно структуру HTML (html / head, body), то она будет создана, а ваши сценарии будут помещены в заголовок.Попробуйте:

$somecontent = "<body>javascript + blah blah</body>";
...