Frage

Wenn ich klicke, um eine Rechnung in meinem Magento -Administratorfeld zu drucken, wird eine Datei zwischen 900K und 1,3 MB heruntergeladen (die Variation scheint zufällig, ich kann keinen Grund dafür sehen). Dies ist eine sehr einfache Rechnung mit vielleicht 1 bis 6 Werbebuchungen, daher sollte nichts mehr als 100 km maximal eingehen.

Gibt es eingebettete Schriftarten?

Könnte es etwas auf der Serverside sein?

Gibt es eine einfache Optimierung, die ich vornehmen kann, um es zu reduzieren?

Ich weiß, dass es mit modernem Breitband usw. keine Rolle spielt, aber es scheint nur ein bisschen unnötig zu sein.

War es hilfreich?

Lösung

In der Tat sind die eingebetteten Schriftarten für die Dateigröße verantwortlich.

Wenn Sie die Schriftart durch ein integriertes in einem ersetzen, sinkt die Dateigröße für eine einfache Rechnung auf etwa 4 KB.

Um das zu tun, wird es ein bisschen chaotisch. Sie müssen die Klassen umschreiben, die sich erstrecken Mage_Sales_Model_Order_Pdf_Abstract und Mage_Sales_Model_Order_Pdf_Items_Abstract

Ersetzen Sie dann alle Anrufe an

$font = Zend_Pdf_Font::fontWithPath(Mage::getBaseDir() . '/lib/LinLibertineFont/LinLibertine_Re-4.4.1.ttf');

mit

$font = Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA);

Die integrierten Schriftarten, aus denen Sie auswählen können, sind:

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

Es gibt viele Erweiterungen, die das zum Beispiel für Sie tun https://github.com/firegento/firegento-pdf (auch auf Magento Connect) verwendet das eingebaute in FONT_HELVETICA.
Die Erweiterung von FireGento_PDF macht das Anpassen mit der PDF -Anpassung in mehr als übrigens (plus, der Standard -PDF -Stand der PDF).

Andere Tipps

Dies ist einer dieser Shake-Fists-at-the-Sky-and-Yell- "Magento!" Momente. It's because of that ******* LinLibertine font which gets imbedded. Sehen:

Das Ändern dieser Schriftart ist IMO, eine der seltenen berechtigten Anwendungsfälle von lokalen Codepool -Überschreibungen von Kernklassen. Ich bevorzuge diesen Ansatz zu einem "richtigen" Umschreiben jeder Einzelverkaufs -PDF -Klasse, nur um die Schriftart zurückzusetzen, da sie trocken verstößt.

Es funktioniert für mich !!

Dieser Fehler scheint für mich auf Magento -Installationen auf PHP 5.4 und höher zu sein.

Veränderung

abstract public function __construct();

zu

abstract public function __construct($filePath);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top