Почему мой счет PDF> 1 МБ
Вопрос
Когда я нажимаю, чтобы распечатать счет на моей панели администратора Magento, он загружает файл между 900K и 1,3 МБ (вариация кажется случайной, я не вижу причин для него). Это очень простой счета -фактуры, возможно, с 1 - 6 позициями, поэтому ничего, что не должно занять более 100 тысяч или около того максимум.
Есть ли встроенные шрифты?
Может ли это быть что -то на сервере?
Есть ли простая настройка, которую я могу сделать, чтобы уменьшить его?
Я знаю, что с современной широкополосной и т. Д. Это не имеет значения, но это кажется немного ненужным.
Решение
Действительно, встроенные шрифты отвечают за размер файла.
Если вы замените шрифт встроенным в одном, размер файла для простого счета -фактуру снижается примерно до 4 КБ.
Для этого это становится немного грязным. Вам нужно переписать классы, простирающиеся от Mage_Sales_Model_Order_Pdf_Abstract
а также Mage_Sales_Model_Order_Pdf_Items_Abstract
Затем замените все вызовы на
$font = Zend_Pdf_Font::fontWithPath(Mage::getBaseDir() . '/lib/LinLibertineFont/LinLibertine_Re-4.4.1.ttf');
с
$font = Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA);
Встроенные шрифты, которые вы можете выбрать, являются:
Zend_Pdf_Font::FONT_COURIER
Zend_Pdf_Font::FONT_COURIER_BOLD
Zend_Pdf_Font::FONT_COURIER_OBLIQUE
Zend_Pdf_Font::FONT_COURIER_ITALIC
Zend_Pdf_Font::FONT_COURIER_BOLD_OBLIQUE
Zend_Pdf_Font::FONT_COURIER_BOLD_ITALIC
Zend_Pdf_Font::FONT_HELVETICA
Zend_Pdf_Font::FONT_HELVETICA_BOLD
Zend_Pdf_Font::FONT_HELVETICA_OBLIQUE
Zend_Pdf_Font::FONT_HELVETICA_ITALIC
Zend_Pdf_Font::FONT_HELVETICA_BOLD_OBLIQUE
Zend_Pdf_Font::FONT_HELVETICA_BOLD_ITALIC
Zend_Pdf_Font::FONT_SYMBOL
Zend_Pdf_Font::FONT_TIMES_ROMAN (or Zend_Pdf_Font::FONT_TIMES)
Zend_Pdf_Font::FONT_ZAPFDINGBATS
Есть много расширений, которые делают это для вас, например, https://github.com/firegento/firegento-pdf (также на Magento Connect) использует встроенный FONT_HELVETICA
.
Расширение Firegento_pdf делает настройку с более приятным PDF в более чем то, кстати, кстати (плюс, уже лучше PDF -по умолчанию).
Другие советы
Это один из тех, кто коктейль-коктейль-коктейль и жгучий-«Magento!» моменты. Это из -за того, что ******* Linlibertine шрифт, который встраивается. Видеть:
Изменение этого шрифта, IMO, один из редких оправданных вариантов использования локальных переопределений пула кодов основных классов. Я предпочитаю этот подход к «правильному» переписыванию каждого класса PDF -файлов только для сброса шрифта, поскольку он нарушает сухой.
Это работает для меня !!
Эта ошибка, по -видимому, происходит для меня на установке Magento на PHP 5.4 и выше.
Изменять
abstract public function __construct();
к
abstract public function __construct($filePath);