Ik probeer middels TCPDF enkele .PDF bestanden te genereren en op te slaan op de server. Nu heb ik een eigen functie gemaakt die het .PDF bestand genereert en vervolgens de content van het .PDF bestand in een array zet. Vervolgens loop ik door de array heen om de bestanden 1 voor 1 op de server te zetten.
Nu krijg ik altijd om één of andere reden dat het 1e bestand gewoon goed werkt en het 2e aangemaakte bestand alleen een blanco pagina toont.
Als ik de content van het PDF bestand bekijk (Wat voor een overgroot deel onleesbaar is) zie ik ook geen opvallende afwijkingen.
Wie weet wat ik nu dus fout doe?
Overigens staat in "pdf_brief.php" alleen het woordje "Hoi". Bij het 1e aangemaakte .PDF bestand staat dit wel in het document. Bij het 2e aangemaakte bestand krijg ik dus niets te zien (blanco).
Nu krijg ik altijd om één of andere reden dat het 1e bestand gewoon goed werkt en het 2e aangemaakte bestand alleen een blanco pagina toont.
Als ik de content van het PDF bestand bekijk (Wat voor een overgroot deel onleesbaar is) zie ik ook geen opvallende afwijkingen.
Wie weet wat ik nu dus fout doe?
Overigens staat in "pdf_brief.php" alleen het woordje "Hoi". Bij het 1e aangemaakte .PDF bestand staat dit wel in het document. Bij het 2e aangemaakte bestand krijg ik dus niets te zien (blanco).
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
| session_start(); function createPDF($content='',$output='',$author='',$title='',$subject='',$keywords='', $secured) { require_once('tcpdf/config/lang/eng.php'); require_once('tcpdf/tcpdf.php'); // create new PDF document $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, 'A4', true, 'UTF-8', false); // set document information $pdf->SetCreator(PDF_CREATOR); $pdf->SetAuthor($author); $pdf->SetTitle($title); $pdf->SetSubject($subject); $pdf->SetKeywords($keywords); // Set PDF protection (encryption) if ($secured == true) { $pdf->SetProtection($permissions=array('modify', 'copy', 'annot-forms', 'fill-forms', 'extract', 'assemble'), $user_pass='', $owner_pass=null, $mode=1, $pubkeys=null); } // remove default header/footer $pdf->setPrintHeader(false); $pdf->setPrintFooter(false); // set default monospaced font $pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); //set margins $pdf->SetMargins(20, PDF_MARGIN_TOP, 20); $pdf->SetHeaderMargin(PDF_MARGIN_HEADER); $pdf->SetFooterMargin(PDF_MARGIN_FOOTER); //set auto page breaks $pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); //set image scale factor $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); //set some language-dependent strings $pdf->setLanguageArray($l); // add a page $pdf->AddPage(); // Get HTML content ob_start(); switch ($content) { case "brief": require_once('pdf_brief.php'); break; } // Ophalen en opruimen $html = ob_get_contents(); ob_end_clean(); // output the HTML content $pdf->writeHTML($html, true, false, true, false, ''); // reset pointer to the last page $pdf->lastPage(); //Close and output PDF document switch ($output) { case "stream": return $pdf->Output('', 'S'); break; case "inline": return $pdf->Output(''.$subject.'.pdf', 'I'); break; case "download": return $pdf->Output(''.$subject.'.pdf', 'D'); break; } } // Brief 1 if ($_SESSION['brief_1'] == "Ja") { $pdf = createPDF('brief','stream','','Brief 1','','',true); $bijlagen[] = array("content"=>$pdf, "naam"=>"Brief 1.pdf", "type"=>"stream"); } // Brief 2 if ($_SESSION['brief_2'] == "Ja") { $pdf = createPDF('brief','stream','','Brief 2','','',true); $bijlagen[] = array("content"=>$pdf, "naam"=>"Brief 2.pdf", "type"=>"stream"); } //echo '<pre>', print_r($bijlagen) ,'</pre>'; foreach($bijlagen as $bijlage) { if ($bijlage['type'] == "stream") { //echo "<pre>".$bijlage['content']."</pre>"; $dir = strtolower($_SERVER['DOCUMENT_ROOT']."/test_pdf/"); if (!file_exists($dir)) { mkdir(str_replace('//','/',$dir), 0777, true); } $filename = str_replace('//','/',strtolower($dir."/".$bijlage['naam'])); $fp = fopen($filename, "a"); fwrite($fp, $bijlage['content']); fclose($fp); } } |