Saltar al contenido

FPDF: texto en negrita en línea

Solución:

Puede reescribir una parte de la extensión, pero puede ser más fácil para usted usar la extensión writeHTML, luego dibujar una celda (texto vacío) con un borde sobre la celda que creó con writeHTML. Al ajustar sus células correctamente, debería funcionar.

No olvide usar SetY luego SetX para colocar sus celdas.

Ejemplo:

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');
 } 

Utilice Write () y Rect ().

Ejemplo:

$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();

Necesita jugar con el ancho y alto de los parámetros Rect (). En este caso, configuro el ancho = 2 y el alto en 0.1 Unidades de usuario.

Así es como lo resolví:

$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');

Básicamente, cree una celda, cambie la fuente, luego otra celda con el ancho del texto que desea poner en negrita, y así sucesivamente.

Sin embargo, parece haber mejores herramientas para crear archivos PDF que usen plantillas HTML / Blade y demás, por lo que es posible que desee considerar su uso.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *