PHP - Celda con doble linea en FPDF

 
Vista:
sin imagen de perfil

Celda con doble linea en FPDF

Publicado por raul (2 intervenciones) el 28/09/2022 01:56:23
Hola, espero que alguien me pueda ayudar a hacer que cuando el texto de la celda apellidos del pdf llegue a la orilla automaticamente de un salto de linea, ejemplo: que el apellido "Sandoval Gutierres" tenga un salto de linea y que "gutierrez" quede debajo de "sandoval". Mi pdf contiene datos de una base de datos mysql.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
<?php
require('fpdf/fpdf.php');
 
class PDF extends FPDF
{
// Cabecera de página
 
function Header()
{
 
    $this->Cell(-150);
    $this->Image('Captura de pantalla (1).png',10,2,150);
    // Arial bold 15
    $this->SetFont('Arial','B',18);
    // Movernos a la derecha
    $this->Cell(60);
    // Título
    $this->Cell(70,10,'Reporte de Calificaciones ',0,0,'C');
    // Salto de línea
    $this->SetFont('Arial','B',12);
    $this->Ln(20);
 
 
    $this->Cell(10,15,'Num',1,0,'C',0);
    $this->Cell(29,15,'No.Control',1,0,'C',0);
    $this->Cell(29,15,'Apellidos',1,0,'C',0);
    $this->Cell(29,15,'Nombres',1,0,'C',0);
    $this->Cell(6,15,'L',1,0,'C',0);
    $this->Cell(6,15,'M',1,0,'C',0);
    $this->Cell(6,15,'M',1,0,'C',0);
    $this->Cell(6,15,'J',1,0,'C',0);
    $this->Cell(6,15,'V',1,0,'C',0);
    $this->Cell(6,15,'L',1,0,'C',0);
    $this->Cell(6,15,'M',1,0,'C',0);
    $this->Cell(6,15,'M',1,0,'C',0);
    $this->Cell(6,15,'J',1,0,'C',0);
    $this->Cell(6,15,'V',1,0,'C',0);
    $this->Cell(6,15,'L',1,0,'C',0);
    $this->Cell(6,15,'M',1,0,'C',0);
    $this->Cell(6,15,'M',1,0,'C',0);
    $this->Cell(6,15,'J',1,0,'C',0);
    $this->Cell(6,15,'V',1,1,'C',0);
 
 
}
 
// Pie de página
function Footer()
{
    // Posición: a 1,5 cm del final
    $this->SetY(-15);
    // Arial italic 8
    $this->SetFont('Arial','I',8);
    // Número de página
    $this->Cell(0,10,utf8_decode('Página') .$this->PageNo().'/{nb}',0,0,'C');
}
}
 
require ("cn.php");
$consulta = "SELECT * FROM alumno";
$resultado = mysqli_query($conexion, $consulta);
 
$pdf = new PDF();
$pdf->AliasNbPages();
$pdf->AddPage();
$pdf->SetFont('Arial','B',8);
 
 
 
while ($row=$resultado->fetch_assoc()) {
 
    $pdf->Cell(10,15,$row['num'],1,0,'C',0);
    $pdf->Cell(29,15,$row['cod_estudiante'],1,0,'C',0);
    $pdf->Cell(29,15,$row['apellidos'],1,0,'I',0);
    $pdf->Cell(29,15,$row['nombres'],1,0,'C',0);
    $pdf->Cell(6,15,$row['dias'],1,0,'C',0);
    $pdf->Cell(6,15,$row['dias'],1,0,'C',0);
    $pdf->Cell(6,15,$row['dias'],1,0,'C',0);
    $pdf->Cell(6,15,$row['dias'],1,0,'C',0);
    $pdf->Cell(6,15,$row['dias'],1,0,'C',0);
    $pdf->Cell(6,15,$row['dias'],1,0,'C',0);
    $pdf->Cell(6,15,$row['dias'],1,0,'C',0);
    $pdf->Cell(6,15,$row['dias'],1,0,'C',0);
    $pdf->Cell(6,15,$row['dias'],1,0,'C',0);
    $pdf->Cell(6,15,$row['dias'],1,0,'C',0);
    $pdf->Cell(6,15,$row['dias'],1,0,'C',0);
    $pdf->Cell(6,15,$row['dias'],1,0,'C',0);
    $pdf->Cell(6,15,$row['dias'],1,0,'C',0);
    $pdf->Cell(6,15,$row['dias'],1,0,'C',0);
    $pdf->Cell(6,15,$row['dias'],1,1,'C',0);
 
 
 
 
}
 
 
	$pdf->Output();
?>

con este codigo el pdf me queda asi

pdf
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Ivan

Celda con doble linea en FPDF

Publicado por Ivan (118 intervenciones) el 02/10/2022 09:55:24
Hola,

para saltos de linea debes usar $pdf->MultiCell(), en este caso puedes crear saltos de linea si el texto tiene el código \n o se crean automáticamente si el texto sobrepasa el límite de la celda.

http://www.fpdf.org/en/doc/multicell.htm

Un saludo!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Celda con doble linea en FPDF

Publicado por raul (2 intervenciones) el 02/10/2022 22:16:15
Hola, ya he intentado usar MultiCell pero no me funciona.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Ivan

Celda con doble linea en FPDF

Publicado por Ivan (118 intervenciones) el 03/10/2022 19:06:00
Hola,

A mí esto me funciona perfectamente

1
$pdf->MultiCell(30,15,'primerapellido segundoapellido', 1);

Todo lo que no cabe en horizontal se coloca debajo y el espacio entre apellidos funciona como un salto de linea natural.
El problema que te puedes encontrar es que luego se te descuadre la tabla si una celda tiene doble linea.

Un saludo!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar