Ignore:
Timestamp:
2012/05/14 00:32:52 (12 years ago)
Author:
Seasoft
Message:

#1794 (data/module/fpdi/japanese.php のカスタマイズを分離する)
#1802 (PDF 納品書の備考欄に背景色が塗られる場合がある)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_12-dev/data/class/SC_Fpdf.php

    r21767 r21826  
    2222 */ 
    2323 
    24 /*---------------------------------------------------------------------- 
    25  * [名称] SC_Fpdf 
    26  * [概要] pdfファイルを表示する。 
    27  *---------------------------------------------------------------------- 
     24/** 
     25 * PDF 納品書を出力する 
     26 * 
     27 * TODO ページクラスとすべき要素を多々含んでいるように感じる。 
    2828 */ 
    2929 
    30 require DATA_REALDIR . 'module/fpdf/fpdf.php'; 
    31 require DATA_REALDIR . 'module/fpdi/japanese.php'; 
    3230define('PDF_TEMPLATE_REALDIR', TEMPLATE_ADMIN_REALDIR . 'pdf/'); 
    3331 
    34 class SC_Fpdf extends PDF_Japanese { 
     32class SC_Fpdf extends SC_Helper_FPDI { 
    3533    function __construct($download, $title, $tpl_pdf = 'nouhinsyo1.pdf') { 
    3634        $this->FPDF(); 
     
    4442        $this->width_cell = array(110.3,12,21.7,24.5); 
    4543 
    46         $this->label_cell[] = $this->lfConvSjis('商品名 / 商品コード / [ 規格 ]'); 
    47         $this->label_cell[] = $this->lfConvSjis('数量'); 
    48         $this->label_cell[] = $this->lfConvSjis('単価'); 
    49         $this->label_cell[] = $this->lfConvSjis('金額(税込)'); 
     44        $this->label_cell[] = '商品名 / 商品コード / [ 規格 ]'; 
     45        $this->label_cell[] = '数量'; 
     46        $this->label_cell[] = '単価'; 
     47        $this->label_cell[] = '金額(税込)'; 
    5048 
    5149        $this->arrMessage = array( 
     
    5452            'ご確認くださいますよう、お願いいたします。' 
    5553        ); 
    56  
    57         $this->lfAddGothicFont(); 
    5854 
    5955        // SJISフォント 
     
    163159 
    164160        $this->SetFont('Gothic', 'B', 15); 
    165         $this->Cell(0, 10, $this->lfConvSjis($this->tpl_title), 0, 2, 'C', 0, '');  //文書タイトル(納品書・請求書) 
     161        $this->Cell(0, 10, $this->tpl_title, 0, 2, 'C', 0, '');  //文書タイトル(納品書・請求書) 
    166162        $this->Cell(0, 66, '', 0, 2, 'R', 0, ''); 
    167163        $this->Cell(5, 0, '', 0, 0, 'R', 0, ''); 
    168164        $this->SetFont('SJIS', 'B', 15); 
    169         $this->Cell(67, 8, $this->lfConvSjis(number_format($this->arrDisp['payment_total']).' 円'), 0, 2, 'R', 0, ''); 
     165        $this->Cell(67, 8, number_format($this->arrDisp['payment_total']).' 円', 0, 2, 'R', 0, ''); 
    170166        $this->Cell(0, 45, '', 0, 2, '', 0, ''); 
    171167 
    172168        $this->SetFont('SJIS', '', 8); 
    173169 
    174         $monetary_unit = $this->lfConvSjis('円'); 
    175         $point_unit = $this->lfConvSjis('Pt'); 
     170        $monetary_unit = '円'; 
     171        $point_unit = 'Pt'; 
    176172 
    177173        // 購入商品情報 
     
    187183            $data[2] = $data[0] * $data[1]; 
    188184 
    189             $arrOrder[$i][0]  = $this->lfConvSjis($this->arrDisp['product_name'][$i].' / '); 
    190             $arrOrder[$i][0] .= $this->lfConvSjis($this->arrDisp['product_code'][$i].' / '); 
     185            $arrOrder[$i][0]  = $this->arrDisp['product_name'][$i].' / '; 
     186            $arrOrder[$i][0] .= $this->arrDisp['product_code'][$i].' / '; 
    191187            if ($this->arrDisp['classcategory_name1'][$i]) { 
    192                 $arrOrder[$i][0] .= $this->lfConvSjis(' [ '.$this->arrDisp['classcategory_name1'][$i]); 
     188                $arrOrder[$i][0] .= ' [ '.$this->arrDisp['classcategory_name1'][$i]; 
    193189                if ($this->arrDisp['classcategory_name2'][$i] == '') { 
    194190                    $arrOrder[$i][0] .= ' ]'; 
    195191                } else { 
    196                     $arrOrder[$i][0] .= $this->lfConvSjis(' * '.$this->arrDisp['classcategory_name2'][$i].' ]'); 
     192                    $arrOrder[$i][0] .= ' * '.$this->arrDisp['classcategory_name2'][$i].' ]'; 
    197193                } 
    198194            } 
     
    211207        $arrOrder[$i][0] = ''; 
    212208        $arrOrder[$i][1] = ''; 
    213         $arrOrder[$i][2] = $this->lfConvSjis('商品合計'); 
     209        $arrOrder[$i][2] = '商品合計'; 
    214210        $arrOrder[$i][3] = number_format($this->arrDisp['subtotal']).$monetary_unit; 
    215211 
     
    217213        $arrOrder[$i][0] = ''; 
    218214        $arrOrder[$i][1] = ''; 
    219         $arrOrder[$i][2] = $this->lfConvSjis('送料'); 
     215        $arrOrder[$i][2] = '送料'; 
    220216        $arrOrder[$i][3] = number_format($this->arrDisp['deliv_fee']).$monetary_unit; 
    221217 
     
    223219        $arrOrder[$i][0] = ''; 
    224220        $arrOrder[$i][1] = ''; 
    225         $arrOrder[$i][2] = $this->lfConvSjis('手数料'); 
     221        $arrOrder[$i][2] = '手数料'; 
    226222        $arrOrder[$i][3] = number_format($this->arrDisp['charge']).$monetary_unit; 
    227223 
     
    229225        $arrOrder[$i][0] = ''; 
    230226        $arrOrder[$i][1] = ''; 
    231         $arrOrder[$i][2] = $this->lfConvSjis('値引き'); 
     227        $arrOrder[$i][2] = '値引き'; 
    232228        $arrOrder[$i][3] = '- '.number_format(($this->arrDisp['use_point'] * POINT_VALUE) + $this->arrDisp['discount']).$monetary_unit; 
    233229 
     
    235231        $arrOrder[$i][0] = ''; 
    236232        $arrOrder[$i][1] = ''; 
    237         $arrOrder[$i][2] = $this->lfConvSjis('請求金額'); 
     233        $arrOrder[$i][2] = '請求金額'; 
    238234        $arrOrder[$i][3] = number_format($this->arrDisp['payment_total']).$monetary_unit; 
    239235 
     
    249245            $arrOrder[$i][0] = ''; 
    250246            $arrOrder[$i][1] = ''; 
    251             $arrOrder[$i][2] = $this->lfConvSjis('利用ポイント'); 
     247            $arrOrder[$i][2] = '利用ポイント'; 
    252248            $arrOrder[$i][3] = number_format($this->arrDisp['use_point']).$point_unit; 
    253249 
     
    255251            $arrOrder[$i][0] = ''; 
    256252            $arrOrder[$i][1] = ''; 
    257             $arrOrder[$i][2] = $this->lfConvSjis('加算ポイント'); 
     253            $arrOrder[$i][2] = '加算ポイント'; 
    258254            $arrOrder[$i][3] = number_format($this->arrDisp['add_point']).$point_unit; 
    259255        } 
     
    265261        $this->Cell(0, 10, '', 0, 1, 'C', 0, ''); 
    266262        $this->SetFont('Gothic', 'B', 9); 
    267         $this->MultiCell(0, 6, $this->lfConvSjis('< 備 考 >'), 'T', 2, 'L', 0, '');  //備考 
     263        $this->MultiCell(0, 6, '< 備 考 >', 'T', 2, 'L', 0, '');  //備考 
    268264        $this->Ln(); 
    269265        $this->SetFont('SJIS', '', 8); 
    270         $this->MultiCell(0, 4, $this->lfConvSjis($this->arrData['etc1']."\n".$this->arrData['etc2']."\n".$this->arrData['etc3']), '', 2, 'L', 0, '');  //備考 
     266        $this->MultiCell(0, 4, $this->arrData['etc1']."\n".$this->arrData['etc2']."\n".$this->arrData['etc3'], '', 2, 'L', 0, '');  //備考 
    271267    } 
    272268 
     
    296292 
    297293        $this->SetFont('', $style, $size); 
    298         $this->Text($x, $y, $this->lfConvSjis($text)); 
     294        $this->Text($x, $y, $text); 
    299295 
    300296        // 復元 
     
    335331        return $arrRet; 
    336332    } 
    337  
    338     // 文字コードSJIS変換 -> japanese.phpで使用出来る文字コードはSJIS-winのみ 
    339     function lfConvSjis($conv_str) { 
    340         return mb_convert_encoding($conv_str, 'SJIS-win', CHAR_CODE); 
    341     } 
    342  
    343     /** 
    344      * ゴシックフォントを定義 
    345      * 
    346      * @return void 
    347      */ 
    348     function lfAddGothicFont() { 
    349         $cw = $GLOBALS['SJIS_widths']; 
    350         $c_map = '90msp-RKSJ-H'; 
    351         $registry = array('ordering'=>'Japan1','supplement'=>2); 
    352         $this->AddCIDFonts('Gothic', 'KozGoPro-Medium-Acro,MS-PGothic,Osaka', $cw, $c_map, $registry); 
    353     } 
    354  
    355     /** 
    356      * フッター 
    357      * 
    358      * 現状の PDF_Japanese#Footer の動作によって、生成される PDF がエラーとなるケースがあり、 
    359      * そのエラーを抑える意図。 
    360      * @return void 
    361      */ 
    362     function Footer() { 
    363     } 
    364333} 
Note: See TracChangeset for help on using the changeset viewer.