I am working in SmartJobBoard with TCPDF. PDF was generated properly on the old server.
After we moved the site to a new server, it began to show errors while creating PDF invoices. The following error is shown by the TCPDF library.
Notice: Undefined index: cols in /home/pb_admin/public_html/pb/system/ext/tcpdf/tcpdf.php on line 22174
Notice: Undefined index: thead in /home/pb_admin/public_html/pb/system/ext/tcpdf/tcpdf.php on line 21705
Notice: Undefined index: rows in /home/pb_admin/public_html/pb/system/ext/tcpdf/tcpdf.php on line 22162
Warning: array_push() expects parameter 1 to be array, null given in /home/pb_admin/public_html/pb/system/ext/tcpdf/tcpdf.php on line 22164
Warning: array_push() expects parameter 1 to be array, null given in /home/pb_admin/public_html/pb/system/ext/tcpdf/tcpdf.php on line 22164
Warning: array_push() expects parameter 1 to be array, null given in /home/pb_admin/public_html/pb/system/ext/tcpdf/tcpdf.php on line 22164
Notice: Undefined index: thead in /home/pb_admin/public_html/pb/system/ext/tcpdf/tcpdf.php on line 21718
Exception Object
(
[message:protected] => PDF generation failed: Some data has already been output, can't send PDF file
[string:Exception:private] =>
[code:protected] => 0
[file:protected] => /home/pb_admin/public_html/pb/system/ext/tcpdf/tcpdf.php
[line:protected] => 29841
[trace:Exception:private] => Array
(
[0] => Array
(
[file] => /home/pb_admin/public_html/pb/system/ext/tcpdf/tcpdf.php
[line] => 9062
[function] => Error
[class] => ExceptionThrowingTCPDF
[type] => ->
[args] => Array
(
[0] => Some data has already been output, can't send PDF file
)
)
[1] => Array
(
[file] => /home/pb_admin/public_html/pb/system/lib/payment/Invoices/InvoiceManager.php
[line] => 141
[function] => Output
[class] => TCPDF
[type] => ->
[args] => Array
(
[0] => invoice_3284.pdf
[1] => D
)
)
[2] => Array
(
[file] => /home/pb_admin/public_html/pb/system/user-scripts/payment/view_invoice.php
[line] => 55
[function] => generatePDFVersion
[class] => SJB_InvoiceManager
[type] => ::
[args] => Array
(
[0] =>
Rechnung
Datum: 01.10.2014
Rechnung #3284
Status der Rechnung: In Bearbeitung (Zahlung auf Rechnung (Abonnement wird freigeschalten, sobald Zahlungseingang erfolgt ist.))
Rechnungsempfänger
Zahlungsempfänger
Ocean Harvest GmbH
Ruessenstrasse 18
6340 Baar
Konto:
Bank: UBS AG, Zug
IBAN: CH81 0027 3273 1186 8701 T
Beschreibung Betrag
PlacementBooster.ch
Firmen-Abonnement: 12 Monate
50 Mitarbeiter (51 Accounts) CHF 13,808.00
Zwischensumme CHF 13,808.00
MWST-Nr. CHE-108.643.082 MWST MWST Ref.-Nr. 417985 CHF 1,104.64
Insgesamt CHF 14,912.64
[1] => 3284
)
)
[3] => Array
(
[file] => /home/pb_admin/public_html/pb/system/core/ModuleManager.php
[line] => 127
[function] => execute
[class] => SJB_Payment_ViewInvoice
[type] => ->
[args] => Array
(
)
)
[4] => Array
(
[file] => /home/pb_admin/public_html/pb/system/core/System.php
[line] => 140
[function] => executeFunction
[class] => SJB_ModuleManager
[type] => ->
[args] => Array
(
[0] => payment
[1] => view_invoice
[2] =>
[3] => /view-invoice/
)
)
[5] => Array
(
[file] => /home/pb_admin/public_html/pb/system/core/PageConstructor.php
[line] => 29
[function] => executeFunction
[class] => SJB_System
[type] => ::
[args] => Array
(
[0] => payment
[1] => view_invoice
[2] =>
[3] => /view-invoice/
)
)
[6] => Array
(
[file] => /home/pb_admin/public_html/pb/system/core/System.php
[line] => 193
[function] => getPage
[class] => SJB_PageConstructor
[type] => ::
[args] => Array
(
[0] => SJB_UserPageConfig Object
(
[uri] => /view-invoice/
[module] => payment
[function] => view_invoice
[template] =>
[title] => View Invoice
[parameters] =>
[keywords] =>
[page_exists] => 1
[page_id] => 539
[has_raw_output] =>
[numberOfViews] =>
[description] =>
)
)
)
[7] => Array
(
[file] => /home/pb_admin/public_html/pb/system/core/Request.php
[line] => 209
[function] => getPage
[class] => SJB_System
[type] => ::
[args] => Array
(
[0] => SJB_UserPageConfig Object
(
[uri] => /view-invoice/
[module] => payment
[function] => view_invoice
[template] =>
[title] => View Invoice
[parameters] =>
[keywords] =>
[page_exists] => 1
[page_id] => 539
[has_raw_output] =>
[numberOfViews] =>
[description] =>
)
)
)
[8] => Array
(
[file] => /home/pb_admin/public_html/pb/index.php
[line] => 72
[function] => execute
[class] => SJB_Request
[type] => ->
[args] => Array
(
)
)
)
[previous:Exception:private] =>
)
Why is this error happening?
Try inserting...
//Change To Avoid the PDF Error
ob_end_clean();
if this doesnt work, try using ob_clean(); instead.
just before you do:
$pdf->Output($filename, $output_dest);
The error occures because TCPDF is throwing errors before the final rendering has been completed. In order to prevent TCPDF from creating non working PDFs it rather decides to crash.
Just in case TCPDF doesnt like you anymore, take a look at DomPDF :)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With