tutorial servidor que plantillas nada muestra funciona ejemplos con php drupal fpdf

php - servidor - plantillas fpdf



Error de FPDF: algunos datos ya se han generado, no se puede enviar PDF (11)

Estoy usando la biblioteca fpdf para mi proyecto, y estoy usando esto para extender uno de los módulos de drupal. Estas líneas

$pdf = new FPDF(); $pdf->AddPage(); $pdf->SetFont(''Arial'',''B'',16); $pdf->Cell(40,10,''Hello World!''); $pdf->Output();

Dame un error: error FPDF: algunos datos ya se han emitido, no se puede enviar PDF

Intenté crear esto en un archivo separado fuera del nombre de la zona drupal test.php y cuando lo vi funcionó. ¿Alguien aquí sabe por qué esto no funciona? O cualquiera aquí puede indicarme una biblioteca pdf correcta que puedo usar en drupal para ver el formato HTML a PDF.


Hola, tienes un encabezado de sesión en la parte superior de tu página. o cualquiera incluye Si tiene entonces intente agregar estos códigos en la parte superior de su página, debería funcionar bien.

<? while (ob_get_level()) ob_end_clean(); header("Content-Encoding: None", true); ?>

aplausos :-)


Para que fpdf funcione correctamente, no puede haber ningún resultado al lado de lo que genera fpdf. Por ejemplo, esto funcionará:

<?php $pdf = new FPDF(); $pdf->AddPage(); $pdf->SetFont(''Arial'',''B'',16); $pdf->Cell(40,10,''Hello World!''); $pdf->Output(); ?>

Si bien esto no será (tenga en cuenta el espacio inicial antes de la apertura <? Etiqueta)

<?php $pdf = new FPDF(); $pdf->AddPage(); $pdf->SetFont(''Arial'',''B'',16); $pdf->Cell(40,10,''Hello World!''); $pdf->Output(); ?>

Además, esto tampoco funcionará (el echo lo romperá):

<?php echo "About to create pdf"; $pdf = new FPDF(); $pdf->AddPage(); $pdf->SetFont(''Arial'',''B'',16); $pdf->Cell(40,10,''Hello World!''); $pdf->Output(); ?>

No estoy seguro del lado drupal de las cosas, pero sé que absolutamente cero salida no-fpdf es un requisito para que fpdf funcione.


El mensaje de error FPDF lo dirigirá a la línea PHP que está enviando contenido.

Si no obtiene ninguna pista de qué File & Line envía algún contenido, es probable que tenga una falta de coincidencia de codificación en sus archivos include / require.

Para mi

  • fpdf.php tenía codificación ANSI,
  • mi pdf-generator.php estaba codificado en UTF-8 y
  • mi base de datos-connect-inlude estaba codificada en UTF-8 (esta codificación UTF-8 levantó el error FPDF. Tuve que volver a ANSI)

Intente guardar el archivo sin la opción: "Comentario BOM", es decir, en Adobe Dreamweaver, Guardar archivo como ..., desmarque la casilla debajo del nombre de archivo que dice " Incluir firma Unicode (BOM) ".

En Notepad ++ debe seleccionar el menú: Codificación , " Codificar en UTF-8 sin BOM ".

Y hazlo predeterminado para otros archivos que crees, te ahorrará muchos dolores de cabeza en el futuro.


dame un error como a continuación:
FPDF error: Some data has already been output, can''t send PDF

para superar este error: ve a fpdf.php en eso, pasa al número de línea 996

function Output($name='''', $dest='''')

después de eso, haga cambios como este:

function Output($name='''', $dest='''') { ob_clean(); //Output PDF to so


En mi caso, yo había establecido:

ini_set(''display_errors'', ''on''); error_reporting(E_ALL | E_STRICT);

Cuando hice la solicitud para generar el informe, se mostraron algunas advertencias en el navegador (como el uso de funciones en desuso).
off la opción display_errors , el informe fue generado con éxito.



agregar ob_start (); en la parte superior y al final, agregue ob_end_flush();

<?php ob_start(); require(''fpdf.php''); $pdf = new FPDF(); $pdf->AddPage(); $pdf->SetFont(''Arial'',''B'',16); $pdf->Cell(40,10,''Hello World!''); $pdf->Output(); ob_end_flush(); ?>


Primer paso comprueba los permisos en el segundo paso de las carpetas pon esto

ob_start();

antes de la línea

$pdf->Output();


si tiene avisos o avisos de salidas de código antes de la generación de PDF, intente apagarlos. error_reporting(0) . Luego trabaja en las advertencias allí después


Usé lo siguiente y funcionó para mí

require_once (''pdf/fpdf.php''); $pdf = new FPDF(); $pdf->AddPage(); $pdf->SetFont(''Arial'',''B'',16); $pdf->Cell(40,10,''Hello World!''); $pdf->Output(F,''/var/www/html/PATH/filename.pdf''); ob_end_flush();