0

こんにちは、Magento では、請求書とパッケージの詳細ページで大きなロゴを使用したいと考えています。

それは200 * 50にスケーリングされ、これを解決する方法がわかりません..

誰か助けて

4

2 に答える 2

1

こんにちは、請求書のpdfは/app/code/core/Mage/Sales/Model/Order/invoice.pdfによって印刷されます。ロゴ印刷機能は関数insertLogoのabstract.pdfにあります。

protected function insertLogo(&$page, $store = null)
{
    $image = Mage::getStoreConfig('sales/identity/logo', $store);
    if ($image) {
        $image = Mage::getBaseDir('media') . '/sales/store/logo/' . $image;
        if (is_file($image)) {
            $image = Zend_Pdf_Image::imageWithPath($image);
            $page->drawImage($image, 25, 800, 125, 825);
        }
    }
    //return $page;
}

もちろん、そこからローカルovverideを開始して、ロゴのサイズと位置を変更します。アップロード中にロゴのスケーリングが行われたかどうかはわかりません。行われた場合は、最初に「アップロード中のスケーリング」の問題に対処する必要があります。

さようならジュゼッペ

于 2012-05-05T09:07:08.573 に答える
0

次のコードを使用して画像のヘッダーとフッターを追加します。

画像パス: /media/sales/store/logo/default/pdf_invoice_header.png /media/sales/store/logo/default/pdf_invoice_footer.png

ファイルパス: app/code/local/Mage/Sales/Model/Order/Pdf/Invoice.php (app/code/core/Mage/Sales/Model/Order/Pdf/Invoice.php からコピー)

    ...
    protected function _drawHeader(Zend_Pdf_Page $page)
{
    /* Add table head */
    /* Custom Code Start */
    $header_image = Mage::getConfig()->getOptions()->getMediaDir().DS.'sales/store/logo/default/pdf_invoice_header.png';             
    if (is_file($header_image)) {
        $header_image = Zend_Pdf_Image::imageWithPath($header_image);
        $page->drawImage($header_image, 0, 767, 595, 842);
    }
    $footer_image = Mage::getConfig()->getOptions()->getMediaDir().DS.'sales/store/logo/default/pdf_invoice_footer.png';             
    if (is_file($footer_image)) {
        $footer_image = Zend_Pdf_Image::imageWithPath($footer_image);
        $page->drawImage($footer_image, 0, 10, 595, 60);
    }
    /* Custom Code End */
    ...
于 2013-06-09T14:54:25.427 に答える