使用tcpdf

时间:2017-12-21 15:13:50

标签: php html css pdf tcpdf

我正在使用TCPDF库创建具有自定义结构/布局的PDF文件。数据来自服务器端,数据以表格形式显示在PDF文件中。

PDF结构应该是这样的 Required PDF structure

基于我的代码。 PDF结构/ PDF structure based on my code

实际上,我这个PDF格式的布局

纸张尺寸:210x297毫米(A4) 格式6(行)x 3(Col) 标签尺寸:63.5 x 46.6 边距:左7毫米,右8毫米,天沟2毫米 顶部10.4毫米底部7毫米

我正在使用这样的纸张尺寸

$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, array('210', '297'), true, 'UTF-8', false);

我正在使用像这样的Label(第一列)大小。我不知道它是否正确但它看起来是正确的。

$subhtml .= '<td border="0" width="63.5mm" height="46.6mm style="float:left;text-align:left;">

我正在使用这样的边距(左,右,上),我不知道如何给出排水沟(两列之间的空间)

$pdf->SetMargins(7, 10.4, 8);

底部7 MM喜欢这个

$pdf->SetFooterMargin(7); 

问题

  1. 左侧空间与所需的PDF结构文件不同。
  2. 如何在两列之间给出装订线/空间。
  3. 以上所有代码是否正确?
  4. 完整代码

    $sql = "SELECT * FROM Members where MemberId in (select MemberId from Normalized_Category where Category IN (".addQuotes($categories)."))";
    
        $result = mysqli_query($conn, $sql);
    
        while($rows = mysqli_fetch_assoc($result)){
            $members[] = $rows; 
        }
    
        $subhtml ='';              
        $i = 1;
        $j = 3;
        $html ='';
    
        foreach($members as $value){
            $subhtml .= '<td border="0" width="63.5mm" height="46.6mm" style="float:left;text-align:left;">
    
            <span>'.$value['MemberId'].'</span>
    
            <span style="float:right; text-align:right;">'.$value['Expiry_Date'].'</span>
            <br/><b>
            <span>'.$value['Salute'].'&nbsp;'.$value['Name'].'</span>
            </b><br/>
            <span>'.$value['Address1'].','.$value['Address2'].','.$value['Address3'].' </span>
            <br/><span>'.$value['City'].'&nbsp;'.$value['PinCode'].' - '.$value['State'].'</span><br/>
            <span>'.$value['Contact'].'</span><br/></td>';
            if ($i % $j == 0) {
                $subhtml .= '</tr><tr>';
             }
    
            $i++;
        }
    
        $tbl = <<<EOD
        <table border="0" cellpadding="2"  align="justify">
        <tr nobr="true">
        <th colspan="3"></th>
        </tr>
        <tr nobr="true">
        $subhtml
        </tr>
        </table>
    EOD;
    
        require('tcpdf/tcpdf.php');
        $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, array('210', '297'), true, 'UTF-8', false);
        $pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
        $pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
    
        $pdf->setPrintHeader(false);
        $pdf->setPrintFooter(false);
    
        $pdf->SetMargins(7, 10.4, 8); // left = 2.5 cm, top = 
        $pdf->SetFooterMargin(7); 
    
        if (@file_exists(dirname(__FILE__).'/lang/eng.php')) {
            require_once(dirname(__FILE__).'/lang/eng.php');
            $pdf->setLanguageArray($l);
        }
        $pdf->SetFont('helvetica', '', 9);
        $pdf->AddPage();
    
        $pdf->writeHTML($tbl, true, false, false, false, '');
        $pdf->Output('Members.PDF', 'D');
    

0 个答案:

没有答案