如何查看发票的html而不是.pdf?

时间:2017-05-23 14:09:35

标签: html pdf prestashop prestashop-1.6 invoice

我需要为我的prestashop定制.pdf发票,

问题是这样做太繁琐了:

  • 更改.tpl
  • 生成.pdf
  • 预览更改

我希望(在此期间)将发票输出为HTML并且能够使用开发人员工具检查元素。

任何解决方法?我想,有一个覆盖是可行的,但我没有在谷歌找到任何东西..

2 个答案:

答案 0 :(得分:1)

通过将classes / pdf / PDF.php中的render函数覆盖为:

,可以在pdf渲染之前获得html的近似值
public function render($display = true)
    {
        $render = false;
        $this->pdf_renderer->setFontForLang(Context::getContext()->language->iso_code);
        foreach ($this->objects as $object) {
            $this->pdf_renderer->startPageGroup();
            $template = $this->getTemplateObject($object);
            if (!$template) {
                continue;
            }

            if (empty($this->filename)) {
                $this->filename = $template->getFilename();
                if (count($this->objects) > 1) {
                    $this->filename = $template->getBulkFilename();
                }
            }

            $template->assignHookData($object);

            // for previewing html
            echo $template->getHeader();
            echo $template->getContent();
            echo $template->getFooter();
            exit;

            $this->pdf_renderer->createHeader($template->getHeader());
            $this->pdf_renderer->createFooter($template->getFooter());
            $this->pdf_renderer->createPagination($template->getPagination());
            $this->pdf_renderer->createContent($template->getContent());
            $this->pdf_renderer->writePage();
            $render = true;

            unset($template);
        }

        if ($render) {
            // clean the output buffer
            if (ob_get_level() && ob_get_length() > 0) {
                ob_clean();
            }
            return $this->pdf_renderer->render($this->filename, $display);
        }
    }

为标题,内容和页脚添加了回显。对于分页,我不确定它是如何工作的,还没有测试过。

答案 1 :(得分:0)

我找到了这个:https://github.com/itext/rups/
如果您需要更多详细信息,我们在StackOverflow中有一个帖子:
Best tool tool for inspecting PDF files?