2014-10-19 4 views
1

Я только начал использовать mPDF. Я застрял в самом начале. Я пытаюсь включить мой динамический php-файл и преобразовать его в файл pdf с помощью mPDF. Вот мой подход: Это моя функция, чтобы преобразовать файл в формат PDFПреобразование php-файла в pdf-файл с использованием mPDF

<?php 

include('MPDF57/mpdf.php'); 
include('template1.php'); 
$html= "template1.php"; 
$mpdf=new mPDF(); 
$mpdf->SetDisplayMode('fullpage'); 
$mpdf->WriteHTML(file_get_contents($html)); 
$mpdf->Output('result.pdf','F'); 
exit; 

?> 

Моего файл template.php это только HTML-фактуре таблицы макет в котором несколько содержания взято из базы данных, как: адрес пользователя, таблицы счетов и т.д. ... Я хочу преобразовать html-макет и содержимое из файла template.php в pdf

Но он не выводит файл в виде файла PDF. Что мне здесь не хватает?

+0

Вы хотите преобразовать источник .php-файла или содержимого, генерируемого файлом .php? – Cheery

+0

My template.php-файл - это только таблица таблиц счетов HTML, в которой несколько контента поступают из баз данных: адрес пользователя, счет-фактура и т. Д. ... Я хочу преобразовать html-макет и содержимое fomth template.php-файла в pdf – oxvoxic

+0

'где несколько контента взяты из баз данных как' так, у него есть PHP-код, который должен быть выполнен ?? 'file_get_contents ($ html)' читает файл «как есть», не запуская в нем .php-код. Использовать '' ob_start() 'before' include ('template1.php');', принимать содержимое буфера после, выводить, если необходимо, и преобразовывать его в pdf. – Cheery

ответ

2

Если у вашего template1.php есть код php в нем, то он не будет выполнен функцией file_get_contents, так как он будет читать содержимое файла как обычный текст. Вам нужно повернуть выходной буфер до include, получить содержимое буфера и использовать его для генерации pdf. Что-то вроде этого:

<?php 

include 'MPDF57/mpdf.php'; 
ob_start(); // start output buffering 
include 'template1.php'; 
$content = ob_get_clean(); // get content of the buffer and clean the buffer 
$mpdf = new mPDF(); 
$mpdf->SetDisplayMode('fullpage'); 
$mpdf->WriteHTML($content); 
$mpdf->Output('result.pdf'); // output as inline content 
+0

' ob_get_clean() 'похоже сбой, но' ob_getContents() 'работает, но затем функция clear потерпит неудачу? – BarclayVision

+0

@BarclayVision try 'ob_end_clean()' после 'ob_get_contents()' – Cheery

+0

вот что я попробовал в новом вопросе - аналогичный код, но не смог вернуть PDF. http://stackoverflow.com/questions/33292242/mpdf-not-generating-pdf-from-example – BarclayVision