我如何通过使用PHP在fpdf中绘制虚线

时间:2015-09-18 05:32:08

标签: php line fpdf

        $pdf->SetXY($xx + 2 , $y + 15);
        $pdf->Cell(190, 5, 'Sem Avg', 0, 'C');
        $pdf->SetXY($xx +  22 , $y + 15);
        $pdf->Cell(190, 5, 'Final Avg', 0, 'C');

如何在“Sem Avg”之间绘制一条分隔文本的文本行。和最终平均'

2 个答案:

答案 0 :(得分:1)

您可以在

中扩展FPDF类。
  

PDF_Dash

通过将以下方法添加到新类中:

<?php
require('fpdf.php');

class PDF_Dash extends FPDF
{
    function SetDash($black=null, $white=null)
    {
        if($black!==null)
            $s=sprintf('[%.3F %.3F] 0 d',$black*$this->k,$white*$this->k);
        else
            $s='[] 0 d';
        $this->_out($s);
    }
}
?>

示例:水平

<?php
   require('dash.php');

   $pdf=new PDF_Dash();
   $pdf->AddPage();
   $pdf->SetLineWidth(0.1);
   $pdf->SetDash(5,5); //5mm on, 5mm off
   $pdf->Line(20,20,190,20);
   $pdf->SetLineWidth(0.5);
   $pdf->Line(20,25,190,25);
   $pdf->SetLineWidth(0.8);
   $pdf->SetDash(4,2); //4mm on, 2mm off
   $pdf->Rect(20,30,170,20);
   $pdf->SetDash(); //restores no dash
   $pdf->Line(20,55,190,55);
   $pdf->Output();
?>

查看结果here.

对于垂直线,您必须将x1和x2设置为相同的值,并更改y1和y2:

$pdf->Line(50,105,50,175);

解决方案的来源:here.

答案 1 :(得分:-1)

试试这个:

$ pdf-&gt;行($ xOfTheStart,$ yOfTheStart,$ xOfTheEnd,$ yOfTheEnd)