我为使用TCPDF创建的PDF创建了自定义标题。现在我想在标题的底部添加一条横跨页面的蓝线(大约2px宽度),但无法弄清楚如何?
答案 0 :(得分:10)
我相信你是这样做的:
$style = array('width' => 0.5, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(255, 0, 0));
$pdf->Line(5, 10, 80, 30, $style);
以下是完整示例
答案 1 :(得分:5)
您也可以使用页面轴:
$pdf->Line(5, $pdf->y, $pdf->w - 5, $pdf->y);
但是,如果您尝试渲染彩色<hr>
html标记,则需要调整TCPDF::DrawColor
(此摘录来自向数据报告的每一行添加图形栏的代码。 $twidth
和$lengthmm
):
$htmlbar = '<hr style="width:' . $lengthmm . 'mm;">';
$oldDrawColor = $pdf->DrawColor;
$pdf->setDrawColor(121, 161, 46);
$pdf->MultiCell($twidth,'2',$htmlbar,0,'L',$fill,1,'','',true,0,true,false,4,'T',false);
$pdf->DrawColor = $oldDrawColor;
答案 2 :(得分:5)
我找到了放线
的最简单方法$pdf->writeHTML("<hr>", true, false, false, false, '');
答案 3 :(得分:0)
重点是得到第二个点的x值。 我就是这样做的:
$pageWidth = $pdf->getPageWidth(); // Get total page width, without margins
$pageMargins = $pdf->getMargins(); // Get all margins as array
$headerMargin = $pageMargins['header']; // Get the header margin
$px2 = $pageWidth - $headerMargin; // Compute x value for second point of line
$p1x = $this->getX();
$p1y = $this->getY();
$p2x = $px2;
$p2y = $p1y; // Use same y for a straight line
$style = array();
$this->Line($p1x, $p1y, $p2x, $p2y, $style);
链接
TCPDF :: getMargins()
http://www.tcpdf.org/doc/code/classTCPDF.html#ae9bd660bf5b5e00eea82f1168cc67b5b
TCPDF :: getPageWidth()
http://www.tcpdf.org/doc/code/classTCPDF.html#a510ab21d6a373934bcd3bd4683704b7e
玩得开心!
答案 4 :(得分:0)
只需添加一些HTML:)
$html ='<hr>';
$pdf->writeHTML($html, true, false, true, false, '');
答案 5 :(得分:0)
在当前位置绘制一条水平黑线:
$style = ['width' => 0.2, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => [0, 0, 0]];
$this->pdf->SetLineStyle($style);
$this->pdf->Line(PDF_MARGIN_LEFT, $this->pdf->getY(), $this->pdf->getPageWidth()-PDF_MARGIN_LEFT, $this->pdf->getY());
$this->pdf->Ln();