0
  • 我已经使用 fpdf 库支持在 php 中创建并成功创建了我的 pdf 文件。

  • 但问题是我的页脚显示更多空间。

  • 我想减少文本下方的空间。我的输出是这样的: 输出

我的代码在这里:

<?php
    require('fpdf/fpdf.php'); 
    class PDF extends FPDF {


                function Header() {
                            $this->SetY(0.208333);
                        }
                function Footer() {
                                 if ($this->footer <> 1)
                                 {
                                $this->SetY(-15);
                             }
                             else
                             {
                                echo "bye";
                             }
                        }
    }

                        //class instantiation
                        $pdf=new PDF("l","in",array(8.5,4.17));
                            $pdf->SetFont('Arial','',8);
                            $pdf->footer = -15;
                            //Array2
                            $datas = array
                                    (
                                    'Address1' => array
                                    (
                                    'Name' => 'Vijaya',
                                    'Area' => 'Valasaravakkam',
                                    'City' => 'Chennai',
                                    ),
                                    'Address2' => array
                                    (
                                    'Companyname' => 'Vy Systems',
                                    'Area' => 'Valasaravakkam',
                                    'City' => 'Chennai',
                                    ),
                                    'Address3' => array
                                    (
                                    'Companyname' => 'Vy Systems1',
                                    'Area' => 'Valasaravakkam1',
                                    'City' => 'Chennai1',
                                    ),
                                    );
                            //Array2
                            $datas1 = array
                                    (
                                    'Address4' => array
                                    (
                                    'Name' => 'Jaya',
                                    'Area' => 'Valasaravakkam',
                                    'City' => 'Chennai',
                                    ),
                                    );

                            foreach($datas1 as $address1 => $details1)
                            {
                                //pdf_set_text_pos($pdf, 1240, 490);
                                //$pdf->ln(1);

                                    foreach($datas as $address => $details)
                                    {
                                        $pdf->SetMargins(0,0,0.3);
                                        $pdf->AddPage();
                                        if((is_array($details)) and (is_array($details1)))
                                        {
                                            foreach($details1 as $rows1 => $value1)
                                            {
                                                $pdf->SetX(0.520833);
                                                $pdf->MultiCell(0, 0.2, $value1, 0, "L");
                                            }
                                            $pdf->ln(1.96);
                                            foreach($details as $rows => $value)
                                            {
                                                $pdf->SetX(5);
                                                $pdf->MultiCell(5, 0.2, $value, 0, "L");
                                            }
                                        }

                                    }//end of sub foreach
                            }//end of main foreach

                        $pdf->Output();
?>
4

1 回答 1

1

我没有完全遵循代码,但似乎您正在使用 Header 和 Footer 方法来设置 Y 仅此而已,期望这足以正确定位在 Header 和 Footer 之外输出的 MultiCell。也许是这样,但是在页眉/页脚内部和外部定位的交互并没有很好地定义。

例如,过程可能是这样的:为 MultiCell 计算 Y,使页脚跳闸,页脚更改 Y,输出 MultiCell。这是原始 Y、修改后的(通过页脚 Y)还是其他值?如果对所发生的事情没有一个精确的定义,你就设置了一系列很难理清的复杂的事情。

我建议大大简化代码。您可能会发现自动页眉/页脚跳闸根本没有帮助。在这种情况下,关闭自动分页,摆脱页脚/页眉功能,完全自己控制每一页。这样至少你对正在发生的事情有一个清晰、可靠的模型。

于 2013-01-06T22:50:42.410 回答