【问题标题】:Regarding footer issue in pdf file creation using php and fpdf library关于使用 php 和 fpdf 库创建 pdf 文件的页脚问题
【发布时间】:2012-12-19 14:43:45
【问题描述】:
  • 我已经使用 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();
?>

【问题讨论】:

    标签: php pdf pdf-generation fpdf


    【解决方案1】:

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

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

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

    【讨论】:

    • 我想我从你的回答中得到了一些想法。我会尝试并告诉你。
    猜你喜欢
    • 2012-08-10
    • 1970-01-01
    • 1970-01-01
    • 2017-03-04
    • 2012-10-23
    • 2014-01-05
    • 1970-01-01
    • 1970-01-01
    • 2019-12-28
    相关资源
    最近更新 更多