Jump to content

Error TCPDF facturas 1.5.2 (Solucionado)


Recommended Posts

Pues eso, que al intentar descargar la factura PDF desde mi historial de pedidos (con usuario creado para comprobar funcionamiento) la pagina de resultados me da el error

 

TCPDF ERROR: Some data has already been output, can't send PDF file

 

Alguna idea? que tengo que cambiar o retocar?

Edited by tri_ta (see edit history)
Link to comment
Share on other sites

Pues eso, que al intentar descargar la factura PDF desde mi historial de pedidos (con usuario creado para comprobar funcionamiento) la pagina de resultados me da el error

 

TCPDF ERROR: Some data has already been output, can't send PDF file

 

Alguna idea? que tengo que cambiar o retocar?

 

Pásate por aquí: http://www.prestashop.com/forums/topic/194740-solucionado-error-pdf-invoice/ (Mismo problema con solución)

Link to comment
Share on other sites

Pásate por aquí: http://www.prestasho...or-pdf-invoice/ (Mismo problema con solución)

 

Hola Nadie,

Estas en todas partes!!! jajajaja

 

Nada, ya vi ese post y comprobe el archivo que se menciona y esta correcto. Me sigue generando el mismo error. Alguna otra idea?

La verdad que actualice ayer la tienda y no teng mas que dolores de cabeza con la ultima version...

 

Gracia!

Link to comment
Share on other sites

Aqui tenía el mismo error y lo solucioné así:

 

controllers\front\PdfInvoiceController.php

 

Localiza en la linea 67:

 

$pdf = new PDF($order_invoice_list, PDF::TEMPLATE_INVOICE, $this->context->smarty, $this->context->language->id);
$pdf->render();

 

y subtitúyelo por:

 

 

$pdf = new PDF($order_invoice_list, PDF::TEMPLATE_INVOICE, $this->context->smarty, $this->context->language->id);
ob_clean();
$pdf->render();

  • Like 2
Link to comment
Share on other sites

Lo siento pero no me sirve. Acabo de generar un nuevo pedido, el cliente rcibe el e-mail on la factura pdf.

Si trato de ver yo la factura en back office me vuelve a indicar:

TCPDF ERROR: Some data has already been output, can't send PDF file

 

Alguien mas con este problema?

 

Muchas gracias

Link to comment
Share on other sites

Aqui tenía el mismo error y lo solucioné así:

 

controllers\front\PdfInvoiceController.php

 

Localiza en la linea 67:

 

$pdf = new PDF($order_invoice_list, PDF::TEMPLATE_INVOICE, $this->context->smarty, $this->context->language->id);
$pdf->render();

 

y subtitúyelo por:

 

 

$pdf = new PDF($order_invoice_list, PDF::TEMPLATE_INVOICE, $this->context->smarty, $this->context->language->id);
ob_clean();
$pdf->render();

 

Solucionado!!! muchisimas gracias!!! Como cierro el tema y lo doy por solucionado?

Link to comment
Share on other sites

Solucionado!!! muchisimas gracias!!! Como cierro el tema y lo doy por solucionado?

Si das el tema como solucionado, edita el titulo del tema, editando el primer mensaje, pulsando en editar, y después en "Usar editor completo", añadiendo la palabra "Solucionado" al titulo, esto ayudara, a mantener una mayor organización en el foro.

Link to comment
Share on other sites

Pues no hay manera. Creo que he hecho todo lo que recomendais, pero sigo recibiendo: TCPDF ERROR: Some data has already been output, can't send PDF file.

 

Además, ayer comentaba mi otro problema, de que la factura que sale por e-mail al cliente despues del pedido (esa si funciona),

tiene interrogaciones antes de cata título. Adjunto screeshot. Ejemplo: ?Artikel ?Rabatt ?Produkte

Práctiamente, cada título de la factura tiene la ? antes de comenzar.

Alguna idea?

Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...

Hola Mromanl.

 

Te aconsejo que hagas esto: Buscar el fichero siguiebnte: /config/config.inc.php

y configurarlo para que muestro los errores al tratar de abrir el pdf

/* Debug only */

@ini_set('display_errors', 'on');

define('_PS_DEBUG_SQL_', true);

$start_time = microtime(true);

/* Compatibility warning */

define('_PS_DISPLAY_COMPATIBILITY_WARNING_', true);

Sim te muestra lo mismo que a mi: Cannot modify header information - headers already sent by (output started at /var/www/web94/html/myshop/translations/de/pdf.php:1) in /var/www/web94/html/myshop/tools/tcpdf/tcpdf.php on line 8940

 

Entonces tienes un problema con /translations/es/pdf.php y probablemente con /tools/tcpdf/tcpdf.php

 

Lo mejor es copiar esos 2 archivos de una instalación nueva y sustituir los tuyos. El problema parece que se produce cuando desde "translations" o "traducciones" quieres modificar algun texto el los pdf.

 

Yo sustituí los ficheros y funciona. Luego trate de modificar las traducciones y la "cague" otra vez. Entonces volví a instalar los archivos "virgenes" nuevamente y funciona otra vez.

 

Suerte

 

Prestashop 1.5.2

Link to comment
Share on other sites

Hola Derivo

 

He configurado el config como me has dicho y me sale este error:

 

Warning: MemcachePool::getextendedstats(): No servers added to memcache connection in /var/www/vhosts/triathlondreams.com/httpdocs/classes/cache/CacheMemcache.php on line 50

 

Warning: Invalid argument supplied for foreach() in /var/www/vhosts/triathlondreams.com/httpdocs/classes/cache/CacheMemcache.php on line 52

TCPDF ERROR: Some data has already been output, can't send PDF file

 

 

Alguna idea de como lo puedo solucionar!?

Link to comment
Share on other sites

Hola. Tienes muchos productos en la tienda o es que funcionada lenta? Esto se utiliza para agilizar las páginas cuando alquien las busca. Yo tengo como 90 productos y no lo utilizo. No he tenido ese problema. Lo que te sugiero es que mires la configuración que tienes el "Caching". Entra al back-office >Avanced Parameters>Performance. Casi al final del todo aparecen las opciones de "Caching" . Yo las tengo puestas como dice abajo, es decir, desactivado el Memcached.

 

 

Caching systems are used to speed up your store by caching data into the server's memory, avoiding the exhausting task of querying the database.

Use cache

enabled.gifdisabled.gif

Enable or disable caching system

Caching system

 

 

add.gifAdd server

Link to comment
Share on other sites

Gracias por responder!

 

He hecho lo que me has dicho.

He desactivado la cache. Pero me sigue sin funcionar.

 

Ahora me sale otra vez el mensaje de antes:

TCPDF ERROR: Some data has already been output, can't send PDF file

 

Uffff! Ya no se que mas puedo hacer.

Link to comment
Share on other sites

OK, pero entonces, si sigues con el config como antes, ademas del error TCPDF debe mostrarte algún archivo o algo mas. Llegaste a sustituir los 2 ficheros /translations/es/pdf.php y /tools/tcpdf/tcpdf.php

En que idioma tienes tu tienda?

Y veo que sale esto cuando trato de entrar: "No puede acceder a nuestra tienda desde su país. Le pedimos disculpas".

Tienes paises bloqueados? Yo resido concretamente en Suiza.

No te desesperes, que sale :rolleyes:

Link to comment
Share on other sites

Los he sustituido como me dijiste. Ademas tambien hice esto:

/* Debug only */

@ini_set('display_errors', 'on');

define('_PS_DEBUG_SQL_', true);

$start_time = microtime(true);

/* Compatibility warning */

define('_PS_DISPLAY_COMPATIBILITY_WARNING_', true)

 

Pero ahora solo me sale como error : TCPDF ERROR: Some data has already been output, can't send PDF file

 

Tengo la pagina en español e ingles.

Si! la tengo restringida a varios paises pero no creo que sea ese el problema

Link to comment
Share on other sites

Supongo que sale cuando tratas de ver una factura desde el back-office?

Haz una prueba mas: Tendrás creado un cliente de pruebas? Cuando se instala viene como Jon Doe, pero puedes crear otro o darle a ese un e-mail nuevo y password.

Trata de hacer un pedido hasta el final. Siempre puedes luego anular el pedido. Mira si el Jon Doe recibe el e-mail de confirmación con la factura pdf como anexo. Luego, como Jon Doe trata der ver "mis facturas" desde mi cuenta. Si te da el mismo error TCPDF, entonces debes tener básicamente el mismo error que tenía yo y que lo solucioné sustituyendo los 2 ficheros indicados por unos "virgenes" de una tienda sin instalar aún.

Es muy extraño que en config no de dé ningún error adicional. Borra toda la historia de tu browser, cookies, cache, etc., cierra el broser lo abres y prueba otra vez y ver lo que te dice el config.

Acado de ver tu comentario de la geo. Yo no lo utilizo por que en la parte de administración, paises, divisas puedes definir de que pais te pueden hacer pedidos. Prefiero no eliminarlo via geolocalización, por que pienso que me quito posibilidades en google.

  • Like 1
Link to comment
Share on other sites

Gracias por responder!

 

El tema es que ya tengo alguna venta hecha. Me voy al pedido de un cliente intento "ver factura" y me sale el dichoso error de siempre.

Pero creo que el problema es global porque intento generar facturas en "facturas" y tampoco me deja.

 

Ya he hecho eso de sustituir los archivos que me indicas por los de una copia original y nada de nada!!

 

Y si es raro lo del config. Desde que he quitado la cache solo me sale el error de TCPDF. Nada mas!

Pffff!!!!

Link to comment
Share on other sites

  • 2 months later...

Solucionado!!! muchisimas gracias!!! Como cierro el tema y lo doy por solucionado?

 

Hola a todos, les comento que yo tenía el mismo problema para generar la factura, vales y notas de crédito. Lo que hice fue quitar la última línea en blanco que aparece en config/settings.inc.php y además agregar la linea ob_clean(); en los siguientes archivos de la carpeta /controllers: PdfInvoiceController.php, PdfOrderReturnController.php y PdfOrderSlipController.php.

 

Con esto tus clientes deben poder ver su PDF al dar clic sobre la factura, vale y/o nota de crédito.

 

Un saludo a todos.

Link to comment
Share on other sites

Pues eso, que al intentar descargar la factura PDF desde mi historial de pedidos (con usuario creado para comprobar funcionamiento) la pagina de resultados me da el error

 

TCPDF ERROR: Some data has already been output, can't send PDF file

 

Alguna idea? que tengo que cambiar o retocar?

 

 

En classes/pdf/pdf.php añade la linea que pone Michel ( luego puedes borrarla). Está sobre la linea 80

 

if ($render){

ob_end_clean(); //Michel

return $this->pdf_renderer->render($this->filename, $display);

}

 

Gracias por responder!

 

El tema es que ya tengo alguna venta hecha. Me voy al pedido de un cliente intento "ver factura" y me sale el dichoso error de siempre.

Pero creo que el problema es global porque intento generar facturas en "facturas" y tampoco me deja.

 

Ya he hecho eso de sustituir los archivos que me indicas por los de una copia original y nada de nada!!

 

Y si es raro lo del config. Desde que he quitado la cache solo me sale el error de TCPDF. Nada mas!

Pffff!!!!

 

 

En classes/pdf/pdf.php añade la linea que pone Michel ( luego puedes borrarla). Está sobre la linea 80

 

if ($render){

ob_end_clean(); //Michel

return $this->pdf_renderer->render($this->filename, $display);

}

  • Like 1
Link to comment
Share on other sites

  • 3 weeks later...

En classes/pdf/pdf.php añade la linea que pone Michel ( luego puedes borrarla). Está sobre la linea 80

 

if ($render){

ob_end_clean(); //Michel

return $this->pdf_renderer->render($this->filename, $display);

}

 

 

 

 

En classes/pdf/pdf.php añade la linea que pone Michel ( luego puedes borrarla). Está sobre la linea 80

 

if ($render){

ob_end_clean(); //Michel

return $this->pdf_renderer->render($this->filename, $display);

}

 

Muchísimas gracias!!!! tenia el mismo problema.

Link to comment
Share on other sites

  • 2 weeks later...
Guest
This topic is now closed to further replies.
×
×
  • Create New...