我试图让Dompdf在Phalcon上工作,但我在使用$ dompdf-> load_html_file($ html)命令时遇到错误,此时我就是这样做的。我收到以下消息:The file could not be found under the directory specified by Options::chroot
我的代码如下:
<?php
require_once $config->application->dompdfDir.'/autoload.inc.php';
use Dompdf\Dompdf;
class IndexController extends ControllerBase
{
public function indexAction()
{
}
public function pdfAction()
{
// set the default timezone to use
date_default_timezone_set('America/El_Salvador');
$fechaHoy = date('d/m/Y'); // H:i:s');
$miembro = "Some Name";
$monto = "20.00";
$meses = "Enero 2016, Febrero 2016";
$firma = "Other Name";
$html =
'<table border="0" align="center">
<tbody>
<tr>
<td align="left">Imagen</td>
<td colspan="2" align="center">TESORERIA DE OCDS<br>STELLA MARIS</td>
<td align="right">Fecha: '.$fechaHoy.'</td>
</tr>
<tr>
<td colspan="4">Recibi de '.$miembro.' la cantidad de $'.$monto.'<br>
en concepto de cuota mensual de los siguientes meses: <br>'.$meses.'</td>
</tr>
<tr>
<td colspan="2"></td><td colspan="2">F. '.$firma.'</td>
</tr>
</tbody>
</table>';
$html = '<html>
<style type="text/css">
<!--
@page {margin: 10px }
-->
</style><body>'.$html.'</body></html>';
$dompdf = new DomPdf();
$newChroot = APP_PATH . '\\public\\temp';
//echo $newChroot;
$dompdf->set_option('chroot', $newChroot);
echo $dompdf->get_option('chroot');
$dompdf->load_html_file($html);
// (Optional) Setup the paper size and orientation
$dompdf->setPaper(array(0,0,132,408), 'landscape');
// Render the HTML as PDF
$dompdf->render();
// Get the generated PDF file contents
$pdf = $dompdf->output();
// Output the generated PDF to Browser
$dompdf->stream();
}
}
正如你所看到的,我甚至已经将chroot更改为另一个chroot,看看是否解决了这个问题,假设问题实际上引用了Phalcon的app文件夹。
我该如何解决这个问题?
答案 0 :(得分:0)
由于您在脚本中生成HTML,因此应使用$dompdf->load_html($html)
。您可以使用load_html_file
加载实际文件(在本地文件系统或远程系统上)。