Я пытаюсь сгенерировать таблицу пользовательских данных для ввода в базу данных SQL, которая будет сгенерирована в таблицу, помещена в файл PDF и отправлена в виде вложения к электронному письму.
Все идет идеально до точки открытия. Файл имеет 1 КБ, это всего лишь HTML-код, и когда я попытался проверить его на: http://www.pdf -online.com / osa / repair.aspx , он написал эту ошибку:
Файл поврежден и не может быть восстановлен, но, возможно, восстановлен
Ошибки:
Открыть файл. 0x80410104 - E - Заголовок файла не найден.
Файл: data.pdf
Закрыть файл
Средство восстановления PDF 3-Heights (TM), пробная лицензия действительна до неограниченного срока
Не могли бы вы взглянуть на мой код и сказать, что не так? Я перепробовал все настройки типов вывода (E, F, S, I и т. Д.). Никто не работал.
Функция создания моего PDF:
function generate_pdf($ni, $na, $sur, $ma, $outp){
if(isset($_POST["generate_pdf"])){
require_once("tcpdf.php");
$pdf_file = new TCPDF("P", PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-16', false);
$pdf_file -> SetCreator(PDF_CREATOR);
$pdf_file -> SetTitle("Data o uživateli - ".$ni);
$pdf_file -> SetHeaderData('', '', PDF_HEADER_TITLE, PDF_HEADER_STRING);
$pdf_file -> SetHeaderFont('helvetica');
$pdf_file -> SetFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
$pdf_file -> SetDefaultMonospacedFont('helvetica');
$pdf_file -> SetFooterMargin(PDF_MARGIN_FOOTER);
$pdf_file -> SetMArgins(PDF_MARGIN_LEFT, '10', PDF_MARGIN_RIGHT);
$pdf_file -> SetPrintHeader(false);
$pdf_file -> SetPrintHeader(false);
$pdf_file -> SetAutoPageBreak(True, 12);
$pdf_file -> SetFont('helvetica', '', 12);
$pdf_file -> addPage();
$data_to_pdf ='
<h1 style="text-align: center;">Data o uživateli - '.$ni.'</h1>
<table border="1" border-collapse="collapse" border-spacing="0" style="text-align: center;"cellpadding="10">
<tr style="background-color: #b9b9b9;">
<td width="20%"><b>Název dat</b></td>
<td width="80%"><b>Data</b></td>
</tr>
<tbody>
<tr>
<td>Nick</td>
<td>'.$ni.'</td>
</tr>
<tr>
<td>Jméno</td>
<td>'.$na.'</td>
</tr>
<tr>
<td>Príjmení</td>
<td>'.$sur.'</td>
</tr>
<tr>
<td>email</td>
<td>'.$ma.'</td>
</tr>
</tbody>
</table>';
$pdf_file -> writeHTML($data_to_pdf);
ob_clean();
$pdf_file -> Output('data_user_'.$ni.'.pdf', $outp);
}
}
Функция, которая вызывает функцию (устанавливает E в качестве типа вывода = кодировка base64, разделенная на части для вложения электронной почты)
$pdf_file_var = generate_pdf($ni, $na, $sur, $ma, 'E');