質問

クリックしてMagentoの管理パネルに請求書を印刷すると、900Kから1.3MBの間のファイルをダウンロードします(バリエーションはランダムに見えますが、その理由はわかりません)。これは非常に単純な請求書であり、おそらく1〜6回のラインアイテムが上にあるため、最大100k以上を占めるべきものはありません。

埋め込まれたフォントはありますか?

それはサーバーサイドの何かでしょうか?

それを減らすために私ができる簡単な調整はありますか?

私は現代のブロードバンドなどではそれが本当に重要ではありませんが、それは少し不必要なようです。

役に立ちましたか?

解決

実際、埋め込まれたフォントはファイルサイズに責任があります。

フォントを組み込まれた1つに置き換えると、単純な請求書のファイルサイズが約4kbになります。

それをするために、それは少し乱雑になります。拡張されたクラスを書き直す必要があります Mage_Sales_Model_Order_Pdf_AbstractMage_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の外観はすでに良くなります)。

他のヒント

これは、スキーとイエルの「マゼント!」のシェイクフィストの1つです。瞬間。それは、その******* linlibertineフォントが埋め込まれるためです。見る:

このフォントを変更することは、コアクラスのローカルコードプールオーバーライドのまれな正当なユースケースの1つであるIMOです。私は、フォントが乾燥しているため、フォントをリセットする目的で、すべての販売PDFクラスの「適切な」書き換えに対するそのアプローチを好みます。

それは私のために働いています!!

このバグは、PHP 5.4以降のMagentoインストールで私のために起こっているようです。

変化する

abstract public function __construct();

abstract public function __construct($filePath);
ライセンス: CC-BY-SA帰属
所属していません magento.stackexchange
scroll top