TCPDF уничтожил HTML (пустая страница)

У меня есть проект PHP, в котором я использую TCPDF. У меня был файл PHP, который создает тему HTML с загрузкой. В этот файл я включаю свой pdfGeneration.php. Это выглядит так:

require_once('tcpdf/tcpdf.php');
$pdfAuthor = "Test";
$pdfName = "Test.pdf";
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor($pdfAuthor);
$pdf->SetTitle($pdfName);
$pdf->SetSubject($pdfName);
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
$pdf->SetFont('dejavusans', '', 10);
$pdf->AddPage();

$htmlContent = 'Test';
$pdf->writeHTML($htmlContent, true, false, true, false, '');
ob_end_clean();

$outputFile = 'myServerPathHere';
$pdf->Output($outputFile, 'F');

echo '<span>PDF Creation finished. <a href = "' . $outputFilePath . pdfName'" target='blank'>You can download the file here</a></span>';

Если я не включаю этот pdfGeneration, все работает нормально. Но когда я включаю его, в результате я получаю только пустой белый сайт с этим диапазоном. Остальной код HTML, который находится внутри файла, содержащего pdfGeneration, полностью потерян. Я не могу найти ошибку?!

Моя цель - сайт, на котором создается PDF-файл, и в лучшем случае PDF-файл открывается непосредственно в новой вкладке. Я не нашел решения для этого, поэтому я решил его по ссылке. Но моя первая проблема — отсутствующий HTML.

Я полагаю, отсутствие " во второй строке - это опечатка?

Jerodev 15.03.2019 12:17

Да это так! Но я думаю, что после двух дней поиска я наконец нашел ошибку. Это функция ob_end_clean();. Я добавил это, потому что tcpdf в другом режиме печати (для прямого отображения) иначе выдавал ошибку. Проблема в том, что весь HTML-код в буфере удаляется. Ничего из этого больше не выводится.

HobbyCoder 15.03.2019 12:39
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
2
492
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Извините за вопрос, я сам нашел ошибку. Функция "ob_end_clean();" является ошибкой. PHP Docs: ob_end_clean — очистить (стереть) буфер вывода и отключить буферизацию вывода. Вероятно, это приводит к потере всего ранее сгенерированного HTML-кода. Если я удаляю команду, она работает.

Другие вопросы по теме