La classe TCPDF permette di creare documenti PDF ed implementarli su siti web a seconda delle proprie esigenze. Avevo difficoltà nell'invio del PDF creato direttamente via email, ma ho superato questa difficoltà considerando come allegato direttamente il file appena creato. Ovviamente il parametro DESTINATION è stato impostato su "F"
Codice PHP:
$text_name_pdf = 'ID_FILE';
$Pdf_Document_Destination_Type = 'F';
$pdf->Output($DocumentRoot."p_".$text_name_pdf."_.pdf", $Pdf_Document_Destination_Type);
# E: Non crea il pdf sul server continua con lo script
# I: Scarica il pdf sul dispositivo del client
# F: Crea il PDF su server e continua lo script
# D: Download, apre finestra e salva con nome
# FI: Crea PDF su server lo visualizza ed interrompe lo script
if($Pdf_Document_Destination_Type == 'I' || $Pdf_Document_Destination_Type == 'D') {
$Output_Name = "p_".$text_name_pdf."_.pdf";
$config_tcpdf = 1;
}
if($Pdf_Document_Destination_Type == 'E') {
$Output_Name = "p_".$text_name_pdf."_.pdf";
// IN QUESTO MODO COMUNQUE NON RIESCO A INVIARE L'ALLEGATO
$Attach_mail = $pdf->Output($Output_Name, 'E');
$config_tcpdf = 1;
}
if(!isset($config_tcpdf)) {
$Output_Name = $DocumentRoot."p_".$text_name_pdf."_.pdf";
$pdf->Output($Output_Name, $Pdf_Document_Destination_Type);
if(file_exists($Output_Name)) {
$SendMail = 1;
}
}
if(isset($SendMail) && $SendMail == 1) {
$mail->AddAttachment($Output_Name);
if(!$mail->Send()) {
echo"Messaggio inviato!";
}
}
Come è facile intuire impostando il valore di DESTINATION su "E" non riesco ad inviare la mail. Questa scelta dovrebbe restituire il documento come tipo MIME Base64 multi-part RFC 2045. Al momento sono comunque soddisfatto del risultato.