PDF bestand maken en versturen via cronjob

Status
Niet open voor verdere reacties.

klaaspeter

Gebruiker
Lid geworden
20 nov 2010
Berichten
377
Hallo Allemaal,

Ik heb in mijn database roosters staan van verschillende mensen deze wil ik graag versturen in een PDF bestand.

Graag wil ik een 2 weken overzicht uitgeplits per dag. Daarna wil ik het aangemaakte PDF bestand versturen naar de e-mail als een bijlage. Dit wil ik graag via een cronjob laten doen zodat het automatisch elke week wordt uitgevoerd.

Is dit mogelijk? zo ja zou iemand mij hiermee opweg kunnen helpen.

Alvast bedankt :)
 
Bedankt voor je antwoord alleen is dit niet helemaal wat ik zoek.

Ik wil graag dat de gegevens uit mijn mysql database worden gehaald en daarvan een pdf wordt gemaakt en daarna wordt verstuurd naar de juiste persoon van wie het rooster is.
 
Ik neem aan dat je alles automatisch wilt gaan doen?

Je kunt de data ophalen met PHP(classes) uit je MySQL database en deze dan met FPDF opslaan in een PDF. En dan de PDF gaan vesturen naar de juiste persoon. Dit heb ik zelf ook al een keer gemaakt maar dan met html2pdf
 
Woutertjuh88 Deed je de pdf opslaan op je pc? want dat wil ik juist niet. Ik wil dat het pdf bestand wordt gemaakt en wordt verstuurd. Opzich het probleem zal het hem niet inzitten om de gegevens uit de database te halen want dat kan ik wel. Alleen het maken van een pdf, en deze versturen elke week op automatisch is een anders verhaal.

Heb je hier misschien een voorbeeld van?
 
Het automatisch versturen zal via de cronjob moeten. Via je cronjob open je gewoon een php bestandje die je wilt gebruiken. In dit bestandje haal je je data op, zet je het in een PDF en verstuur je de PDF per mail.

De PDF moet inderdaad opgeslagen worden op de server. Maar wat je kan doen is, zodra je de pdf verstuurd hebt per mail(als bijlage), dat je zegt in PHP: verwijder het pdf bestand. Op manier maak je toch je pdf maar staat hij maar even(waarschijnlijk enkele secondens) op je server.

Ik zal even kijken of ik snel wat kan vinden.
 
Heb genoeg ruimte dus dat is een geen probleem als het er even opstaat.

Alvast bedankt voor je moeite :)
 
Zelf maak ik gebruik van classes binnen PHP en dit stukje komt uit een class die ik zelf ooit gebruikt heb. Ik heb hem alleen even aangepast zodat het meer op jouw verhaal gaat lijken.

PHP:
<?php
class PDFmailer{

function dataophalenuitdatabase(){
//mysql blablabl data ophalen en netjes neerzetten in een htmltabel. Ik heb hem dan weer opgeslagen in $data.
$data = "
<table>
<tr>
<td>hier staat iets</td>
<td>hier staat nog iets</td>
</tr>
<tr>
<td>blablabla</td>
<td>hoi</td>
</tr>
</table>
";
return $data;
}

function pdfmaken($data){
include_once("html2pdf.class.php"); //dit is het de classe die je nodig hebt om een pdf te maken. In mijn geval gebruik ik html2pdf

$pdf = new HTML2PDF('P','A4','nl');
$pdf->WriteHTML($data);
$pdf->Output("pad_waar_ik_hem_wil_opslaan(deze_moet_wel_schrijf_rechten_hebben)/bestandsnaam.pdf", "F");
}

fucntion mailen(){
include_once("class.phpmailer.php"); // Hier haal ik de mail classe op om te mailen. 

$mail = new PHPMailer();
$mail->AddAddress("emailadres ontvanger","naam ontvanger");
$mail->AddAttachment("pad_waar_ik_hem_heb_opslaangeslagen)/bestandsnaam.pdf", "bestandsnaam.pdf"); // bijlage toevoegen
$mail->Subject = "onderwerp van je mail";
$mail->Body = "leuk verhaaltje voor je mail";
$mail->isHTML(true);
$mail->Send();
}

function pdfverwijderen(){
unlink("pad_waar_ik_hem_heb_opslaangeslagen)/bestandsnaam.pdf");
//of
delete("pad_waar_ik_hem_heb_opslaangeslagen)/bestandsnaam.pdf");
}
}

//alles uitvoeren...
PDFmailer::pdfmaken(PDFmailer::dataophalenuitdatabase());
PDFmailer::mailen();
PDFmailer::pdfverwijderen();
?>
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan