Feed Tiendas Virtuales
LEE TAMBIÉN:Zen Cart

Magento error al imprimir la factura en PDF – PDF Invoice Blank Page

magento pdf invoice 206x300 Magento error al imprimir la factura en PDF   PDF Invoice Blank PageEl aspecto de la codificación suele ser un factor a tener muy en cuenta en todos los Frameworks para e-commerce (codificación de archivos excel a importar, descripciones de la tienda, documentos PDF…). En Magento, se suelen producir errores de codificación a la hora de generar las facturas en PDF con caracteres españoles, chinos… En algunas ocasiones, lo único que conseguiremos ver al generar la factura en PDF será un página en blanco.

Ante un error en la generación de las facturas en PDF, siempre deberemos hacer una revisión del archivo app/code/core/Mage/Sales/Model/Order/Pdf/Abstract.php En muchos casos, como bien comentaba antes, deberemos realizar ajustes en la codificación, utilizando funciones del tipo: iconv("UTF-8", “ISO-8859-1//TRANSLIT”, $str) En otros casos, el problema se encuentra en la fuente utilizada, por defecto, LinLibertine y por tanto, la solución pasa por sustituirla y realizar los ajustes necesarios (este caso lo hemos detectado tiendas Magento sobre servidores Windows).

 

Cambiar fuente por defecto en Magento

  • Para realizar el cambio de fuente que emplearemos a la hora de generar la factura en PDF, deberemos realizar los siguientes pasos:
  • Buscaremos los archivos TTF de la nueva fuente y los subiremos en el directorio lib/<nueva_fuente>/. Por ejemplo:
    • lib/TuffyFont/Tuffy.ttf
    • lib/TuffyFont/TuffyBold.ttf
    • lib/TuffyFont/TuffyItalic.ttf
  • Copiaremos el archivo app/code/core/Mage/Sales/Model/Order/Pdf/Abstract.php dentro del directorio app/code/local/Mage/Sales/Model/Order/Pdf/ para sobreecribir el comportamiento por defecto y evitar que el archivo sea borrado al actualizar Magento.
  • Finalmente, cambiaremos la fuente que se utiliza para generar el PDF

Código original:

protected function _setFontRegular($object, $size = 7)
{
  $font = Zend_Pdf_Font::fontWithPath(Mage::getBaseDir() . &#39;/lib/LinLibertineFont/LinLibertineC_Re-2.8.0.ttf&#39;);
  $object-&gt;setFont($font, $size);
  return $font;
}
 
protected function _setFontBold($object, $size = 7)
{
  $font = Zend_Pdf_Font::fontWithPath(Mage::getBaseDir() . &#39;/lib/LinLibertineFont/LinLibertine_Bd-2.8.1.ttf&#39;);
  $object-&gt;setFont($font, $size);
  return $font;
}
 
protected function _setFontItalic($object, $size = 7)
{
  $font = Zend_Pdf_Font::fontWithPath(Mage::getBaseDir() . &#39;/lib/LinLibertineFont/LinLibertine_It-2.8.2.ttf&#39;);
  $object-&gt;setFont($font, $size);
  return $font;
}

Nuevo Código:

protected function _setFontRegular($object, $size = 7)
{
  $font = Zend_Pdf_Font::fontWithPath(Mage::getBaseDir() . &#39;/lib/TuffyFont/Tuffy.ttf&#39;);
  $object-&gt;setFont($font, $size);
  return $font;
}
protected function _setFontBold($object, $size = 7)
{
  $font = Zend_Pdf_Font::fontWithPath(Mage::getBaseDir() . &#39;/lib/TuffyFont/TuffyBold.ttf&#39;);
  $object-&gt;setFont($font, $size);
  return $font;
}
 
protected function _setFontItalic($object, $size = 7)
{
  $font = Zend_Pdf_Font::fontWithPath(Mage::getBaseDir() . &#39;/lib/TuffyFont/TuffyItalic.ttf&#39;);
  $object-&gt;setFont($font, $size);
  return $font;
}
Comparte esta entrada:
  • facebook Magento error al imprimir la factura en PDF   PDF Invoice Blank Page
  • twitter Magento error al imprimir la factura en PDF   PDF Invoice Blank Page
  • linkedin Magento error al imprimir la factura en PDF   PDF Invoice Blank Page

Entradas relacionadas

Tags: , , ,



Comentar