FPDF - Inline bold text
Solution 1
You could rewrite a part of the extension but it may be easier for you to use the extension writeHTML, then draw a cell (empty text) with a border over the cell you created with writeHTML. By adjusting your cells properly it should work.
Don't forget to use SetY then SetX to position your cells.
Example:
if(isset($_POST['optout']) && $_POST['optout'] == "yes"){
$pdf->Ln(5);
$pdf->SetFont('Arial','I',12);
$pdf->SetTextColor(128);
//Your text cell
$pdf->SetY($pos_Y);
$pdf->SetX($pos_X);
$pdf->writeHTML('This is my disclaimer. <b>THESE WORDS NEED TO BE BOLD.</b> These words do not need to be bold.');
//Your bordered cell
$pdf->SetY($pos_Y);
$pdf->SetX($pos_X);
$pdf->Cell($width, $height, '', 1, 0, 'C');
}
Solution 2
Use Write() & Rect().
Example:
$pdf->Rect($pdf->GetX(),$pdf->GetY(),2,0.1);
$pdf->SetFont('Arial','',8);
$pdf->Write(0.1,"this is not bold, but this ");
$pdf->SetFont('Arial','B',8);
$pdf->Write(0.1,"is bold.");
$pdf->SetFont('Arial','',8);
$pdf->Ln();
You need to play around with width & height of the Rect() parameters. In this case, I set width = 2 and height to 0.1 User Units.
Solution 3
Here's how I solved it:
$pdf->SetFont('Arial','',10);
$cell = 'This is my disclaimer.';
$pdf->Cell($pdf->GetStringWidth($cell),3,$cell, 0, 'L');
$pdf->SetFont('Arial','B',10);
$boldCell = "THESE WORDS NEED TO BE BOLD.";
$pdf->Cell($pdf->GetStringWidth($boldCell),3,$boldCell, 0, 'L');
$pdf->SetFont('Arial','',10);
$cell = 'These words do not need to be bold.';
$pdf->Cell($pdf->GetStringWidth($cell),3,$cell, 0, 'L');
Essentially, make one cell, change font, then another cell with the width of the text you want to bold, and so on.
There seem to be better tools out there for making PDFs that use HTML / Blade templates and such, though, so you might want to consider using that.
Solution 4
I find other soluction.
http://fpdf.de/downloads/add-ons/tag-based-formatting.html
copy and paste fragment code write_tag inside file fpdf.php, call function write_tag while was create of pdf, whit this I can make format at the text in pdf.
![I wrestled a bear once.](https://i.stack.imgur.com/bgWmu.jpg?s=256&g=1)
Comments
-
I wrestled a bear once. almost 2 years
I am trying to create a PDF from PHP and for legal reason we need to make part of our disclaimer BOLD and the disclaimer needs to be outlined.
My current code uses:
if(isset($_POST['optout']) && $_POST['optout'] == "yes"){ $pdf->Ln(5); $pdf->SetFont('Arial','I',12); $pdf->SetTextColor(128); $pdf->MultiCell(0,4,'This is my disclaimer. THESE WORDS NEED TO BE BOLD. These words do not need to be bold.',1,'C'); }
I am currently using WriteHTML for other parts of the document, and I could easily use that instead of MultiCell, but then how do I create the border?
So I have 2 options..
native FPDF functions
PROS: Give an option for a border
CONS: No easy way to make inline text bold
WriteHTML extension class
PROS: Lets me easily add bold text inline
CONS: Not sure how to create the border
Suggestions?
-
I wrestled a bear once. about 10 yearsThat's what I ended up doing, except I used
Rect()
instead of cell. Thank you. -
PtF almost 10 yearsWhen I write "<p align='center'><b> Word 1:</b> Word 2</p>" it is creating a line break between Word 1 and Word 2, how to fix that?
-
Hytool over 8 yearshow about MultiCell ?
-
I wrestled a bear once. almost 5 yearsanswering a question that's more than half a decade old... bold move.
-
Vishal Kumar Sahu almost 4 yearsKind of wrestling with a dead bear :-p