文件未创建 - wkhtmltopdf

问题描述 投票:0回答:1

我正在使用 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").

在我的电脑上它可以安静地工作,但将项目放在另一台机器上却不起作用。

php html pdf wkhtmltopdf
1个回答
0
投票

是窗户?安装适用于 Visual Studio 2013 的 Visual C++ 可再发行组件包 https://stackoverflow.com/a/60647830/3989340

© www.soinside.com 2019 - 2024. All rights reserved.