首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将HTML数据放入tcpdf的头部?

如何将HTML数据放入tcpdf的头部?
EN

Stack Overflow用户
提问于 2013-01-24 15:04:34
回答 3查看 32.7K关注 0票数 13

我使用tcpdf库来生成pdf文档。我使用smarty模板引擎来保存数据。下面是放入头部数据的脚本:

代码语言:javascript
复制
// set default header data
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, 'PQR', 
'XYZ');

我想把smarty模板的HTML表格内容替换为XYZ,表格内容将是动态的(这意味着表格中的数据可能会因每个PDF文档而异)。

EN

回答 3

Stack Overflow用户

发布于 2013-01-25 17:48:00

正如@vinzcoco所说,你必须扩展TCPDF来实现你想要的。这里有一个简单的改进,我认为它可能对你有用:

代码语言:javascript
复制
class MyTCPDF extends TCPDF {

    var $htmlHeader;

    public function setHtmlHeader($htmlHeader) {
        $this->htmlHeader = $htmlHeader;
    }

    public function Header() {
        $this->writeHTMLCell(
            $w = 0, $h = 0, $x = '', $y = '',
            $this->htmlHeader, $border = 0, $ln = 1, $fill = 0,
            $reseth = true, $align = 'top', $autopadding = true);
    }

}

现在,一旦您有了可用的MyTCPDF对象,您只需执行此操作来设置header内容:

代码语言:javascript
复制
$mytcpdfObject->setHtmlHeader('<table>...</table>');

而且HTML内容不会硬编码到Header()方法中(对您来说更灵活)。

票数 20
EN

Stack Overflow用户

发布于 2014-12-17 17:00:06

我使用了以下方法来设置header

代码语言:javascript
复制
$PDF_HEADER_LOGO = "logo.png";//any image file. check correct path.
$PDF_HEADER_LOGO_WIDTH = "20";
$PDF_HEADER_TITLE = "This is my Title";
$PDF_HEADER_STRING = "Tel 1234567896 Fax 987654321\n"
. "E abc@gmail.com\n"
. "www.abc.com";
$pdf->SetHeaderData($PDF_HEADER_LOGO, $PDF_HEADER_LOGO_WIDTH, $PDF_HEADER_TITLE, $PDF_HEADER_STRING);

这是我的工作。

票数 6
EN

Stack Overflow用户

发布于 2013-01-25 16:54:41

您必须实例化PDF类并扩展TCPDF类。您的PDF类应该如下所示:

代码语言:javascript
复制
class MyTCPDF extends TCPDF{
  public function Header(){
     $html = '<table>...</table>';
     $this->writeHTMLCell($w = 0, $h = 0, $x = '', $y = '', $html, $border = 0, $ln = 1, $fill = 0, $reseth = true, $align = 'top', $autopadding = true);
  }
}

您必须将其应用到您自己的项目中。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14495688

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档