1

Bonjour,
Je suis face a un petit problème et je ne trouve pas la solution, c'est pour cela que je viens vous demander un peu d'aide.
En effet, lorsque je veux envoyer des mails avec un PDF propre à chaque mail envoyé j'obtiens des messages d'erreur de ce style :
Warning: in_array() [function.in-array]: Wrong datatype for second argument in /html2pdf/_tcpdf_5.0.002/tcpdf.php on line 17162

Warning: Division by zero in /html2pdf/_tcpdf_5.0.002/tcpdf.php on line 3710

Warning: Division by zero in /html2pdf/_tcpdf_5.0.002/tcpdf.php on line 2017

Warning: Division by zero in /html2pdf/_tcpdf_5.0.002/tcpdf.php on line 2018

Warning: Division by zero in /html2pdf/_tcpdf_5.0.002/tcpdf.php on line 2031

Warning: Division by zero in /html2pdf/_tcpdf_5.0.002/tcpdf.php on line 3710

Warning: Division by zero in /html2pdf/_tcpdf_5.0.002/tcpdf.php on line 3710
Warning: array_shift() [function.array-shift]: The argument should be an array in /html2pdf/_tcpdf_5.0.002/tcpdf.php on line 8302


Malgré les erreurs générées sur la page, ça n'empêche pas de m'envoyer mes emails avec un PDF attaché. Le problème est que mes PDF attachés dans les mails sont différents. En général le 1er mail parti marche bien (1 seule page dans le PDF comme c'est demandé dans mon code), ensuite le reste des mails j'ai des PDF attachés qui font le nombre total de pages que fait ma boucle, avec rien dedans (toujours 1 erreur page 14 peut importe le nombre de page même si 1 sur 1, j'ai ce message), le PDF est grossi en 3000%.
Voici mon code:

<?php
// fichiers de connexion a la base de données
require_once(dirname(__FILE__).'/html2pdf/html2pdf.class.php');
require("class.phpmailer.php");

$sql="ma requête sql";

$query_sql = mysql_query($sql) or die (print_r(mysql_error()));

$sub_nb_resultat = mysql_num_rows($query_sql);

$html2pdf = new HTML2PDF('P','A4','fr','UTF-8');
$html2pdf->pdf->SetProtection(array('print'), ''); // protection
$nb_page = $sub_nb_resultat;

for($page=0; $page<$nb_page; $page++)
{
$myrow = mysql_fetch_array($query_sql);
$content = '<page>';
$content .= "Invoice N°:".$myrow["NUMERO_FACTURE"]."";
$content .= "</page>";

$html2pdf->WriteHTML($content);
$content_PDF = $html2pdf->Output('', 'S');

$mail = new PHPMailer();
$mail->Host = 'localhost';
$mail->SMTPAuth = false;
$mail->IsHTML(true);
$mail->IsSMTP();
$mail->CharSet='UTF-8';
$mail->From = "contact@...";
$mail->FromName = "Relance Facture";
$mail->Subject = "Relance sur facture n°".$myrow["NUMERO_FACTURE"]."";
$mail->AddAddress("...@...fr");
$mail->AddReplyTo("...@...fr", "...");
$mail->WordWrap = 50;
$mail->AddStringAttachment($content_PDF, 'facture'.$myrow["NUMERO_FACTURE"].'.pdf', 'base64', 'application/pdf');
$mail->send();
}
?>


Mon souci est donc que même si je reçois bien les mails les PDF associés ont des problèmes, est ce déjà arrivé à quelqu'un ? Voyez vous d'ou cela peut il venir ?
Merci d'avance de votre réponse.

PS: je suis en version 4.03

2

J'ai trouvé, si ça peut en aider quelques uns qui feraient la même boulette que moi.

En fait cette partie n'était pas dans ma boucle et c'était ça le problème :
$html2pdf = new HTML2PDF('P','A4','fr','UTF-8');
$html2pdf->pdf->SetProtection(array('print'), ''); // protection $nb_page = $sub_nb_resultat;


Résolu.