PHPDesktop и mPDF, печать заставляет сохранять вместо отображения диалогового окна печати

Я написал код для печати отчета с использованием библиотеки mdf в PHP, как показано ниже:

include("..\mpdf\mpdf.php");
$mpdf=new mPDF('','A4');
$mpdf->WriteHTML($a);
$mpdf->SetJS('this.print();');
$mpdf->Output();
exit;

Когда я использую это приложение, все идет хорошо. Я непосредственно получаю диалоговое окно печати, и никаких предупреждений PHP тоже нет. Но когда то же приложение выполняется под PHPDesktop, оно показывает диалоговое окно сохранения PDF, а не диалоговое окно печати а также показывает предупреждение:

session_start (): не удается отправить ограничитель кэша сеанса — заголовки уже
послал

хотя я уже использовал приведенный ниже код в верхней части каждой страницы PHP:

OB_START();
if(session_status()!=PHP_SESSION_ACTIVE ||  session_status() == PHP_SESSION_NONE)
session_start();

Я хочу открыть диалоговое окно печати в PHPDesktop также. Пожалуйста, предоставьте какое-нибудь решение.

ОБНОВИТЬ

Я скачал phpdesktop-хром-57,0-гс-PHP-7.1.3 из Github. Также я скачал php_printer.dll из Github. Версия php_printer-php5.6.30
Я поместил dll в каждую возможную папку, а также добавил ее в качестве расширения в файл php.ini каталога проекта PHPDesktop. Теперь он пытается показать предварительный просмотр, но говорит: «Не удалось загрузить документ PDF»

0

Решение

Любой ранний вывод приведет к ошибкам заголовка. Вещи, которые нужно искать, это эхо, которое происходит перед вызовами вашего заголовка, или фактический вывод, будь то HTML или даже просто пробел. Ошибки и предупреждения, если отображаются, также портят ситуацию.

Это звучит как у вас display_errors включил в свой ini.

Выключи display_errors в вашем INI, в противном случае предупреждения и уведомления будут испортить ваши заголовки.

Для лучшего опыта регистрации ошибок установите error_reporting в -1, очередь display_errors и установите пользовательский error_log, Затем в своем терминале введите tail -f /path/to/error_log, Ваши уведомления, предупреждения и ошибки теперь будут прокручиваться в реальном времени, не искажая отображение вашей веб-страницы.

Как только предупреждения или уведомления не появляются, заголовки будут отправлены правильно, и ваше приложение должно работать как обычно.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]