Я пытаюсь сохранить содержимое файла в PDF с помощью html2pdf, но файл имеет несколько кодов PHP, которые необходимо обработать. Я провел некоторое исследование и обнаружил, что мне пришлось использовать буферизацию вывода, чтобы можно было обработать содержимое PHP в файле. Итак, я сделал что-то вроде:
<?php
require_once('html2pdf.class.php');
ob_start();
require_once('my_file.php');
$content = ob_get_clean();
// force download of $content to a PDF
$html2pdf = new HTML2PDF('P','A3','fr', false, 'ISO-8859-1');
$html2pdf->writeHTML($content);
$html2pdf->Output('file_name.pdf', 'D');
?>
Файл my_file.php это файл, содержащий некоторый код PHP и содержимое HTML, которое я хочу сохранить в PDF, и переменную $ содержание фактический контент с обработанными кодами PHP и все. Это хорошо работает на Apache, но не на IIS.
Кто-нибудь знает альтернативный способ сделать эту работу без использования буферизации вывода? Я попытался file_get_contents (‘my_file.php’); но мое php-содержимое в my_file.php не обрабатывается, когда я это делаю.
Пожалуйста, я ищу способы сделать это без буферизации вывода, чтобы он мог работать на любом сервере. Я не ищу ответы, говорящие мне об изменении конфигурации сервера IIS или использовании чего-либо другого, кроме html2pdf.
Заранее благодарю за любую помощь
Если вы можете изменить содержимое my_file.php
Вы можете поместить весь текст в переменную там, а не выводить его напрямую.
Вы можете использовать PHP / PDF Library http://php.net/manual/en/book.pdf.php
И следуйте этому примеру: http://php.net/manual/en/pdf.examples-basic.php
Надеюсь, это поможет 🙂
Самый простой подход — отредактировать my_file.php так, чтобы он не содержал HTML, а назначал содержимое HTML переменной PHP. Тогда все, что вам нужно сделать, это повторить переменную.
//other PHP processing goes here, or anywhere else.
$someVar = "hello world";
$myHTML = "<html>My output: $someVar </html>";
echo $myHTML;
Это ужасный способ обработки вывода HTML, и я не говорю, что это хорошее программирование, но если вы хотите избежать редактирования файлов конфигурации, это будет быстро и легко.