El código que muestro a continuación hace lo siguiente, nuestra las canciones dentro de la primera columna pero al llegar a la parte de abajo pasa a la segunda columna pero me da el error que no lo hace al principio de la segunda columna sino donde comenzó la canción que llego al final de la primera columna.
Les pido toda la ayuda posible ya que tengo semanas en esto, no soy muy bueno en FPDF y mi experiencia en PHP es intermedia.
!Gracias!
SQL
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `cancionero`
--
CREATE TABLE `cancionero` (
`id` bigint(4) NOT NULL default '0',
`id_cat` bigint(4) NOT NULL default '0',
`archivo` varchar(150) NOT NULL default '0',
`mp3` bigint(4) NOT NULL default '0',
`notas` bigint(4) NOT NULL default '0',
`imagen` varchar(15) NOT NULL default '0',
`autor` varchar(150) NOT NULL default '0',
`titulo` varchar(150) NOT NULL default '0',
`primera_linea` varchar(150) NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
--
-- Volcar la base de datos para la tabla `cancionero`
--
INSERT INTO `cancionero` (`id`, `id_cat`, `archivo`, `mp3`, `notas`, `imagen`, `autor`, `titulo`, `primera_linea`) VALUES
(1, 1, '01_01', 0, 0, 'image001', 'FE Y ALEGRÍA', 'HIMNO DE FE Y ALEGRÍA', 'Fe será siempre nuestro ideal, y alegría en los corazones,'),
(2, 1, '01_02', 1, 0, 'image002', 'FE Y ALEGRÍA', 'HIMNO DE FE Y ALEGRÍA', 'FE QUE DA LA ALEGRÍA, FE QUE DA LA ILUSIÓN,'),
(3, 2, '02_03', 0, 0, 'image003', 'Anónimo', 'CANTO DE ENTRADA', 'Hoy venimos llenos de ilusión, Señor, ante tu altar');
-- --------------------------------------------------------
Canción: 01_02.txt
-- --------------------------------------------------------
FE QUE DA LA ALEGRÍA, FE QUE DA LA ILUSIÓN,
CONSTRUIMOS UNIDOS, LA ESPERANZA DE DIOS
Esperanza que es vida, es justicia y amor,
no quedad satisfechos mientras haya dolor (2)
Formaremos un pueblo de noble corazón,
donde nuestros hermanos no sufran opresión (2)
Alma de Venezuela, esperanza de Dios,
será luz en mi vida su mensaje de amor (2)
(Himno compuesto para los 25 años de Fe y Alegría)
-- --------------------------------------------------------
imprimir_pdf.php
Código PHP:
<?php
// $this->Cell($ancho,$alto,$cadena,$borde,$posición,$aliniación,$relleno);
require('fpdf.php');
class PDF extends FPDF
{
//Columna actual
var $col=0;
//Ordenada de comienzo de la columna
var $y0;
function Header()
{
//Cabacera
global $title;
$this->Image('cancionero.png',10,3,33);
$this->SetFont('Arial','B',15);
$w=$this->GetStringWidth($title)+6;
$this->SetX((210-$w)/2);
$this->SetDrawColor(0,80,180);
$this->SetFillColor(230,230,0);
$this->SetTextColor(220,50,50);
$this->SetLineWidth(0);
$this->Cell($w,9,$title,1,1,'C',1);
$this->Ln(10);
//Guardar ordenada
$this->y0=$this->GetY();
}
//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,'Fdfgtral',0,55,'C');
$this->Cell(0,10,'Fe y Alegría, Oficina Zona Central',0,0,'C');
$this->Cell(0,10,'Página '.$this->PageNo().'/{nb}',0,0,'R');
}
function SetCol($col)
{
//Establecer la posición de una columna dada
$this->col=$col;
$x=10+$col*100; // tamaño de las columnas
$this->SetLeftMargin($x);
$this->SetX($x);
}
function AcceptPageBreak()
{
//Método que acepta o no el salto automático de página
if($this->col<1)
{
//Ir a la siguiente columna
$this->SetCol($this->col+1);
//Establecer la ordenada al principio
$this->SetY($this->y0);
//Seguir en esta página
return false;
}
else
{
//Volver a la primera columna
$this->SetCol(0);
//Salto de página
return true;
}
}
/*
function ChapterTitle($num,$label)
{
//Título
$this->SetFont('Arial','',12);
$this->SetFillColor(0,0,255);
$this->Cell(0,6,"ID__ $num : $label",0,1,'L',1);
$this->Cell(0,6,"ID__CAT $num : $label",0,1,'L',1);
$this->Ln(4);
//Guardar ordenada
$this->y0=$this->GetY();
}*/
function ChapterBody($fichier,$titulo,$autor)
{
//Abrir fichero de texto
$f=fopen($fichier,'r');
$txt=fread($f,filesize($fichier));
fclose($f);
//Fuente
$this->SetFont('Times','',10);
//Imprimir texto en una columna de 6 cm de ancho
$this->Ln();
$this->Cell(0,5,'Categoría: '.$categoria); // categoría ,0,1,'C',0
$this->Ln();
$this->Cell(0,5,'Título: '.$titulo); // título
$this->Ln();
$this->Cell(0,5,"Autor : $autor"); // autor
$this->Ln();
$this->MultiCell(90,5,$txt); // tamaño de las columnas
$this->Ln();
//Cita en itálica
$this->SetFont('','I');
$this->Cell(0,5,'(fin del extracto)');
//Volver a la primera columna
$this->Ln(4);
$this->y0=$this->GetY();
//$this->SetCol(0);
}
function PrintChapter($num,$title,$file)
{
//Añadir capítulo
$this->AddPage();
$server="localhost";
$user="fyazonac_admin";
$password="13189079";
$database="fyazonac_joomla";
$id=2;
mysql_connect("$server","$user","$password");
mysql_select_db("$database");
$descrip = mysql_fetch_array(mysql_query("SELECT * FROM cancionero WHERE id='$id'"));
$rs2 = mysql_query("SELECT * FROM $database.cat_cancionero");
while($row2 = mysql_fetch_array($rs2))
{
$titulo = $descrip["titulo"];
$autor = $descrip["autor"];
$this->ChapterBody($file,$titulo,$autor);
}
}
}
$pdf=new PDF();
$pdf->AliasNbPages(); // total de números de páginas
$title='CANCIONERO ¡QUE CANTE LA VIDA MISMA!';
$pdf->SetTitle($title);
$pdf->SetAuthor('Fe y Alegría');
$pdf->PrintChapter($descrip["id"],'Nombre Archivo: '.$descrip["archivo"].' ','../../archivos/cancionero/1/'.$descrip["archivo"].'.txt');
$pdf->Output();
?>