Я использую wkhtmltopdf, чтобы превратить страницу HTML в файл PDF.Но при вызове моей функции в PHP, которая выполняет работу по преобразованию последнего HTML в PDF, выдается ошибка.
Я пытался создать файл в другой папке моего проекта, но безуспешно.Я также пытался использовать другую версию wkhtmltopdf, но мне это не удалось, мне кажется, что проблема не в процессе преобразования в PDF, а в создании файла.
try {
$pdf = new Pdf('/usr/bin/wkhtmltopdf', array(
'page-width' => '150mm',
'page-height' => '250mm',
'page-size' => 'A4',
'encoding' => 'UTF-8',
));
$htmlDecode = base64_decode($param);
$pdf->setTemporaryFolder('/home/matheus/workspace/app-create-pdf/data');
if(is_file('/home/matheus/workspace/app-create-pdf/data/generated-boletos/new_boleto.pdf')) {
unlink('/home/matheus/workspace/app-create-pdf/data/generated-boletos/new_boleto.pdf');
$pdf->generateFromHtml($htmlDecode, '/home/matheus/workspace/app-create-pdf/data/generated-boletos/new_boleto.pdf');
} else {
$pdf->generateFromHtml($htmlDecode, '/home/matheus/workspace/app-create-pdf/data/generated-boletos/new_boleto.pdf');
}
$pdfBoleto = file_get_contents('/home/matheus/workspace/app-create-pdf/data/generated-boletos/new_boleto.pdf');
$pdfBase64 = base64_encode($pdfBoleto);
$this->registerInfoCallApi($uri, $param, $pdfBase64);
return $pdfBase64;
} catch (\Exception $e) {
$this->registerErrorApi($uri, $param, $e->getMessage());
$pdfBoleto = file_get_contents('/home/matheus/workspace/app-create-pdf/data/generated-boletos/new_boleto.pdf');
$pdfBase64 = base64_encode($pdfBoleto);
return $pdfBase64;
}
При попыткеСоздайте файл в указанной папке, он выдаст следующую ошибку:
The file 'C:\inetpub\wwwroot\app-create-pdf\new_boleto.pdf' was not created (command: "C:\www\wkhtmltox\bin\wkhtmltopdf.exe" --lowquality --page-height "250mm" --page-size "A4" --page-width "150mm" --encoding "UTF-8" "C:\inetpub\wwwroot\app-create-pdf\knp_snappy5d014377e974c3.34755390.html" "C:\inetpub\wwwroot\app-create-pdf\new_boleto.pdf").
На моем компьютере он работает тихо, но перенести проект на другую машину не получилось.