Откройте PDF на новой вкладке, используя dompdf
Я пытаюсь создать pdf, используя dompdf, как я могу открыть PDF на новой вкладке в браузере? Например, я нажимаю ссылку для PDF, и она должна открываться на новой вкладке, а не сохранять ее автоматически. Я хочу дать пользователю возможность сохранить файл, увидев его первым. Как мне это сделать?
всякий раз, когда я использую $pdf- > output в конце файла, он ничего не меняет, файл все равно загружается автоматически.
пожалуйста помоги. Благодарю.
Ответы
Ответ 1
Можно ли загрузить или просмотреть PDF в браузере, зависит от нескольких факторов. Один из них - настройки вашего браузера, но мы не контролируем его. Во-вторых, как dompdf представляет PDF в браузер. Вы можете сказать, что dompdf предлагает PDF для прямого просмотра с помощью $dompdf->stream('my.pdf',array('Attachment'=>0));
.
Что касается открытия на новой вкладке. Это зависит от того, как вы создаете PDF. Но самый простой способ предоставить ссылку с целевым атрибутом.
Ответ 2
У меня такая же проблема на моем сайте (http://www.pdfwebcreator.com)
Мое решение:
$myfile = fopen($strFileName, "r") or die("Unable to open file!");
$fileSize = filesize($strFileName);
header("HTTP/1.1 200 OK");
header("Pragma: public");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private", false);
header("Content-type: application/pdf");
header("Content-Disposition: attachment; filename=\"temporaryPdf.pdf\"");
header("Content-Transfer-Encoding: binary");
header("Content-Length: " . $fileSize);
echo fread($myfile, $fileSize);
}
Ответ 3
Я все еще экспериментирую, но что-то вроде этого прекрасно работает и
$pdf->loadView('file/path', compact('values'));
return $pdf->stream();
С помощью этого вы можете добавить динамические значения на страницу PDF файла в браузере.
Ответ 4
Я не знаю, есть ли у вас, но если вы используете false в этой строке:
$dompdf-> stream("pasta/doc/relatorio.pdf", array("Attachment" => false));
Вы можете увидеть pdf в браузере.