Я генерирую динамическую таблицу с DOMPDF. Когда форма отправлена, переменные $ _POST отправляются test.php:
<?php
session_start();
$theTemplate = 'test.php';
function renderToPDF($templateFile)
{
require_once("./dompdf/dompdf_config.inc.php");
ob_start();
include $templateFile;
$contents = ob_get_clean();
if ($contents !== false)
{
$dompdf = new DOMPDF();
$dompdf->load_html($contents);
$dompdf->render();
$dompdf->stream("Custom_Data.pdf");
}
}
renderToPDF($theTemplate);
?>
tabletest.php имеет таблицу с динамическими значениями, включая некоторые $ _POST из формы и некоторые переменные из таблицы MYSQL. Когда форма отправлена, PDF успешно создан, но есть ли способ сделать перенаправление на другую страницу после загрузки PDF? Я не нашел окончательного ответа на подобные вопросы (Создать PDF с DOMPDF и перенаправить а также Как создать PDF-файл, используя dompdf и перенаправить на другую страницу) …
Краткий ответ: вы не можете.
Когда вы звоните $dompdf->stream()
содержимое PDF немедленно отправляется в браузер, и выполнение скрипта заканчивается. На данный момент вы больше не можете перенаправить браузер на другую страницу.
Что вы можете попробовать, так это сначала отправить пользователя на целевую страницу, а затем перенаправить пользователя на рендеринг PDF оттуда. Вы можете сделать это, используя мета-заголовок HTML или JavaScript. Если вы укажете, что PDF должен быть отправлен как вложение, пользователь получит диалог загрузки после перехода на промежуточную страницу.
Это техника, которую сайты используют для загрузки, когда они отображают страницу с сообщением «Ваша загрузка начнется через …».
Других решений пока нет …