FPDF error: Certaines données ont déjà été sortie, ne peut pas envoyer de PDF
Je suis en utilisant le fpdf bibliothèque pour mon projet, et je suis en utilisant ce afin de prolonger l'un des module drupal. Ces lignes
$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'Hello World!');
$pdf->Output();
me donne une erreur: FPDF error: Certaines données ont déjà été sortie, ne peut pas envoyer de PDF
J'ai essayé de créer ce dans un fichier séparé à l'extérieur de l'drupal nom de la zone test.php et vu que ça a fonctionné. Quelqu'un ici sait pourquoi cela ne fonctionne pas? Ou que quelqu'un ici peut m'indiquer un droit pdf library qui je peux utiliser drupal pour afficher du HTML au format PDF.
Vous devez vous connecter pour publier un commentaire.
Pour fpdf fonctionne correctement, il ne peut pas être tout sortie à côté de ce qui fpdf génère. Par exemple, cela fonctionne:
Alors que ce ne sera pas (remarque le premier espace avant l'ouverture
<?
tag)Aussi, cela ne fonctionnera pas (l'
echo
cassera):Je ne suis pas sûr de l'drupal côté des choses, mais je sais que c'est absolument zéro non fpdf de sortie est une exigence pour fpdf de travail.
echo
brisera aussi fpdf (je vais modifier ma réponse à montrer que). Les balises courtes ou longue balises ne devrait pas faire une différence, mais vous aurez à vous assurer qu'il n'est même pas un caractère unique à l'extérieur de vos balises php.echo
avait un problème dans mon cas! Merciajouter
ob_start ();
au sommet et à la fin, ajouterob_end_flush();
me donne une erreur comme ci-dessous:
FPDF error: Some data has already been output, can't send PDF
à venir cette erreur:
aller à
fpdf.php
en ce que,aller à la ligne numéro 996après que faire de tels changements:
/tcpdf/tcpdf.php
Essayez d'enregistrer le fichier sans l'option: "compilation de NOMENCLATURE "commentaire", c'est à dire dans Adobe Dreamweaver, vous devez Enregistrer le Fichier sous..., décochez l'encadré ci-dessous le nom du fichier qui dit, "Inclure signature Unicode(BOM)".
Sur Notepad++, vous devez sélectionner dans le menu: Encodage, "Encoder en UTF-8 sans BOM".
Et de le rendre par défaut pour les autres fichiers que vous créez, il peut vous éviter beaucoup de maux de tête à l'avenir.
Salut avez-vous une séance d'en-tête en haut de votre page.
ou tout inclut
Si vous avez alors essayez d'ajouter ce codes sur le dessus pf votre page fonctionne très bien.
cheers 🙂
La FPDF Message d'Erreur vous indiquera la Ligne PHP qui envoie un peu de contenu.
Si vous n'obtenez pas de soupçon de ce Fichier & Ligne envoyer certains contenus vous avez probablement un encodage de décalage dans votre include ou require Fichiers.
Pour moi
fpdf.php
était ANSI-codé,pdf-generator.php
a été codé en UTF-8 etDans mon cas, j'avais mis:
Quand j'ai fait la demande pour générer le rapport, certaines mises en garde ont été affichés dans le navigateur (comme l'utilisation de l'obsolète fonctions).
Tournant
off
ladisplay_errors
option, le rapport a été généré avec succès.Première étape
vérifiez les autorisations sur les dossiers
deuxième étape
mettre cette
avant la ligne
si vous êtes le code avis de sorties/mises en garde avant la génération de PDF, essayez de le désactiver.
error_reporting(0)
. Ensuite, travailler sur les mises en garde ci-aprèsJ'ai utilisé la commande suivante et il a travaillé pour moi
Vous devez appeler la bibliothèque
http://www.fpdf.org/
http://www.fpdf.org/es/tutorial/tuto1.htm