Поток DOM Pdf не работает с браузером Android (он работает в Windows)

Несмотря на то, что в Microsoft Edge / Google Chrome в Windows 10 все работает просто отлично, у меня возникает множество проблем при потоковой передаче PDF-файла в Chrome для Android.
Загрузка не заканчивается, выглядит застрявшей и совсем не завершается через пару минут. Я пробовал на своем телефоне, а на другом получил тот же результат.

Я использую DOMPdf, как предложено в руководстве на первой странице сайта:

// Instantiate and use the dompdf class
$dompdf = new Dompdf( array('enable_remote' => true) );

// Load HTML content
$dompdf->loadHtml( $HTML );

// (Optional) Setup the paper size and orientation
$dompdf->setPaper('A4', 'portrait');

// Render the HTML as PDF
$dompdf->render();

// Output the generated PDF to Browser
$filename   =   "File_Export_" . date( 'd_m_Y' ) . ".PDF";
//header( 'Content-Length: ' . filesize( $dompdf->output() ) );
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"" . $filename . "\"");
$dompdf->stream( $filename , array('Attachment' => true ) );
exit(0);

Я попытался добавить много разных заголовков (content-type, content-length — как это прокомментировано в скрипте) без какой-либо помощи.
Я просто ссылаюсь на страницу как обычный URL в Android, как показано ниже:

Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("my url"));
startActivity(browserIntent);

Любая идея?
Спасибо.

PS: я уже прочитал и подал заявку этот без успеха

1

Решение

Похоже, вы выдавали выходные данные до буферизации в поток. Это может быть пробел, предупреждение / уведомление, потенциально много вещей.

Своего рода панацеей от всего этого является использование ob_clean.

Эта функция отбрасывает содержимое буфера вывода.

Эта проблема характерна и для ошибок сеанса, когда выходные данные отправляются до заголовков. Удостоверьтесь, что регистрация ошибок PHP и уровни установлены правильно, иногда может помочь обнаружить это.

0

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

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

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