如何在FPDF中设置2种不同颜色
我已尝试过以下代码
$pdf=new FPDF();
$pdf->AddPage('P', 'A5');
$pdf-> SetMargins(25, 50);
$pdf->SetTextColor(91,137,42);
$pdf->SetFont('times','',10);
$pdf -> Text (60, 37, 'Title' );
$pdf->SetTextColor(0,0,0);
$pdf->SetFont('times','',15);
$pdf -> Text (60, 37, 'Invoice' );
但是对于所有测试,它都显示一种颜色。
对此有何解决方案?
答案 0 :(得分:1)
我从你的代码中做了一个最小的工作示例:
<?php
require('fpdf/fpdf.php');
$pdf=new FPDF();
$pdf->AddPage('P', 'A5');
$pdf->SetMargins(25, 50);
$pdf->SetTextColor(91,137,42);
$pdf->SetFont('times','',10);
$pdf->Text (60, 27, 'Title' );
$pdf->SetTextColor(99,0,0);
$pdf->SetFont('times','',15);
$pdf->Text (60, 57, 'Invoice' );
$pdf->Output('test.pdf');
当生成的文档保持打开状态(okular test.pdf
),更改颜色值并重新运行代码时,我可以看到文档更新并且颜色发生变化。代码按预期工作。
考虑到问题的第一个版本和您的评论,我可以想象您的问题是在页面标题中获取文本颜色?如果您按照文档进行操作,这也可以正常工作:
<?php
require('fpdf/fpdf.php');
class myPDF extends FPDF {
function Header() {
$this->SetFont('Arial','B',15);
$this->setTextColor(0, 120, 120);
$this->Cell(80);
$this->Cell(30,10,'Page title',1,0,'C');
$this->Ln(20);
}
}
$pdf=new myPDF();
$pdf->AddPage('P', 'A5');
$pdf->SetMargins(25, 50);
$pdf->SetTextColor(91,137,42);
$pdf->SetFont('times','',10);
$pdf->Text (60, 27, 'Heading' );
$pdf->SetTextColor(99,0,0);
$pdf->SetFont('times','',15);
$pdf->Text (60, 57, 'Invoice' );
$pdf->Output('test.pdf');
请注意,在这种情况下,文本颜色必须在Header()函数中设置,而不是在以后创建包含标题的页面时...
这是生成的文档,您可以清楚地看到颜色: