2013-01-24 17 views
11

मैं पीडीएफ दस्तावेज़ उत्पन्न करने के लिए tcpdf लाइब्रेरी का उपयोग कर रहा हूं। मैं डेटा पकड़ने के लिए smarty टेम्पलेट इंजन का उपयोग कर रहा हूँ।HTML डेटा को tcpdf के शीर्षलेख में कैसे रखा जाए?

// set default header data 
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, 'PQR', 
'XYZ'); 

मैं XYZ के स्थान पर चतुर टेम्पलेट के HTML तालिका सामग्री रखना चाहते हैं, टेबल सामग्री (तालिका में डेटा अर्थ के लिए भिन्न हो सकते हैं गतिशील होने जा रहा है: नीचे स्क्रिप्ट हैडर डेटा में डालने के लिए है प्रत्येक पीडीएफ दस्तावेज)।

+0

कृपया नीचे http://stackoverflow.com/questions/9513145/tcpdf-set-different-headers-for-different-pages-in-one-document – Minesh

उत्तर

4

आपको अपने पीडीएफ वर्ग का उदाहरण देना होगा और टीसीपीडीएफ कक्षा का विस्तार करना होगा। के बाद अपने पीडीएफ वर्ग इस तरह दिखना चाहिए:

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); 
    } 
} 

आप अपनी खुद की परियोजना को यह अनुकूलन करना चाहिए।

16

जैसा कि @vinzcoco कहते हैं, आपको अपनी इच्छित चीज़ों को प्राप्त करने के लिए टीसीपीडीएफ का विस्तार करना होगा।

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 वस्तु उपलब्ध मिल गया है, तो आप सिर्फ HTML शीर्षक सामग्री स्थापित करने के लिए ऐसा करने की जरूरत:

यहाँ एक सरल सुधार मैं इसे आप के लिए उपयोगी हो सकता है लगता है कि है
$mytcpdfObject->setHtmlHeader('<table>...</table>'); 

और HTML सामग्री को Header() विधि (आपके लिए अधिक लचीला) में हार्डकोड नहीं किया जाएगा।

+1

-1 समान समस्या पर ध्यान, यकीन नहीं यह कैसे काम करना चाहिए। यदि आप 'htmlHTMLCell' को '$ html' के साथ कॉल करते हैं, तो यह हमेशा वही होगा, चाहे आपने' setHtmlHeader()' में सेट किया हो। – slhck

3

मैं निम्नलिखित विधि का इस्तेमाल किया हेडर स्थापित करने के लिए

$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 [email protected]\n" 
. "www.abc.com"; 
$pdf->SetHeaderData($PDF_HEADER_LOGO, $PDF_HEADER_LOGO_WIDTH, $PDF_HEADER_TITLE, $PDF_HEADER_STRING); 

यह मेरे लिए काम है।

संबंधित मुद्दे