首页 > 解决方案 > 将我的自定义模块中的 PDF 保存到本地文件

问题描述

我在 prestashop 1.7 的自定义模块中生成了一个自定义 pdf。我遵循了官方文档,但我没有找到如何将我的 pdf 保存在我的模块文件中。我只是用它来显示我的pdf:

$pdf->render();

我有一个 PDF 课程:

class HTMLTemplateDevisPdf extends HTMLTemplate
{
    public $param;

    public function __construct($param, $smarty)
    {
        $this->param = $param;
        // header informations
        $this->smarty = $smarty;
        $this->title = HTMLTemplateDevisPdf::l('devis');
    }

    /**
     * Returns the template's HTML content
     * @return string HTML content
     */
    public function getContent()
    {
        $this->smarty->assign(array(
            'test' => "ok",
        ));

        return $this->smarty->fetch(_PS_MODULE_DIR_ . 'hcr_devis/views/templates/pdf/devis.tpl');
    }

    public function getLogo()
    {
        $this->smarty->assign(array(
            'test' => "ok",
        ));

        return $this->smarty->fetch(_PS_MODULE_DIR_ . 'my_module/custom_template_logo.tpl');
    }

    public function getHeader()
    {
        $this->smarty->assign(array(
            'test' => "ok",
        ));

        return $this->smarty->fetch(_PS_MODULE_DIR_ . 'hcr_devis/views/templates/pdf/devis_header.tpl');
    }

    /**
     * Returns the template filename
     * @return string filename
     */
    public function getFooter()
    {
        return $this->smarty->fetch(_PS_MODULE_DIR_ . 'hcr_devis/views/templates/pdf/devis_footer.tpl');
    }

    /**
     * Returns the template filename
     * @return string filename
     */
    public function getFilename()
    {
        return 'devis.pdf';
    }

    /**
     * Returns the template filename when using bulk rendering
     * @return string filename
     */
    public function getBulkFilename()
    {
        return 'devis.pdf';
    }
}

我已经尝试过 $pdf->Output("name", "F") 因为 prestashop 使用 tcpdf 但它没有用。

有人知道如何将我的 pdf 保存到我的文件中吗?

标签: prestashopprestashop-1.7prestashop-modules

解决方案


推荐阅读