• 5th 六月 2008 - By Devil

    話說上次我裝完VtigerCRM之後,很開心!

    但開心沒多久我就發現,真的要上線使用還是有一段距離。

    基本上問題都是與中文脫不了關係,很多時候用OpenSource的

    軟體,中文真的是一個很頭痛的問題!

    以VtigerCRM來說問題大致上有以下幾點

    1. WebMail無法正確顯示中文

    2. 圖表中文字無法正確顯示

    3. 各模組轉存pdf時的中文亂碼或無法顯示

    問題大致就以上三點,再來還有修改pdf的layout來符合自己的需求

    接下來就一步一步來修正吧!

     

    Q1:

    WebMail無法正確顯示中文

    A1:

    修改

    1
    
    vtigercrm/modules/Webmails/functions.php

    在第一行新增

    1
    
    $charset = 'utf-8';

    註解以下此行

    1
    
    global $charset;

    完成

     

    Q2:

    圖表中文字無法正確顯示

    A2:

    先下載螢火飛字型

    http://www.study-area.org/apt/firefly-font/fireflysung-1.3.0.tar.gz

    解壓縮後將 fireflysung.ttf 上傳至 vtigercrm/Image/Canvas/Fonts/ 底下

    並在 vtigercrm/Image/Canvas/Fonts/fontmap.txt 中新增

    1
    
    fireflysung,fireflysung.ttf

    修改 include/utils/GraphUtils.php 第27行為

    1
    
    DEFINE("FF_FONT1",'fireflysung');

    完成

     

    Q3:

    各模組轉存pdf時的中文亂碼或無法顯示

    A3:

    先下載 Tcpdf

    http://sourceforge.net/project/showfiles.php?group_id=128076

    我是在WINDOWS下做轉檔動作的,轉字型程式位置

    tcpdf_3_0_004\tcpdf\fonts\ttf2ufm\ttf2ufm.exe

    在命令提示字元底下執行

    1
    
    $ ttf2ufm.exe -a -F fireflysung.ttf

    將產生的檔案上傳至

    /var/www/html/vtigercrm/include/tcpdf/fonts/ttf2ufm

    並在伺服器上執行以下命令

    1
    2
    3
    
    cd /var/www/html/vtigercrm/include/tcpdf/fonts/ttf2ufm
     
    php -q makefontuni.php fireflysung.ttf fireflysung.ufm

    複製.php, .z and ctg.z 到

    /var/www/html/vtigercrm/include/tcpdf/fonts/

    修改 vtigercrm/include/tcpdf 底下的 pdf.php tcpdf.php

    $this->SetFont 後面的字型名稱改為 fireflysung

    到此已經可以轉出中文了,除了檔案很大這個問題,我沒辦法解決

    如果有發現字出不來的,基本上應該是中文翻譯檔的問題

    也就是沒有相對應的中文翻譯詞彙!

    Quotes module 為例子,他的語言檔放在

    vtigercrm/modules/Quotes/language/zh-tw.lang.php

    然後我們看 vtigercrm/modules/Quotes/CreatePDF.php

    以185行為例

    $product_line[$j]["Product Name"] = $list_price[$i];

    我們需要在 zh-tw.lang.php 中新增一行如下

    1
    
    'Product Name' => '產品名稱',

    中文記得要用utf-8編碼喔!

     

    完成

     

    最後如果想要修改pdf的layout的話,以下有一些我修改的過程給大家參考

    修改BODY圓角

    vtigercrm/include/tcpdf/pdf.php

    第179行

    1
    
    $this->RoundedRect($r1, $y1, ($r2 - $r1), $y2, 1(2.54.5), 'D'); //調整後面的數值

    檔案位置

    header

    modules/Quotes/pdf_templates/header.php

    body

    include/tcpdf/templates/body.php

    footer

    modules/Quotes/pdf_templates/footer.php

    關閉最後一頁(endpage)

    vtigercrm/modules/Quotes/CreatePDF.php

    第25行

    1
    
    $endpage="0"; //10

    最後我放我的pdf圖片上來,希望大家VtigerCRM都可以使用愉快喔!

    下篇在po增加Project模組的,或是大家也可以上VtigerCRM的Blog去找喔!

    VtigerCRM  Blog

    Quotes

     塗塗抹抹有點難看,請大家見諒囉!

     

    VN:F [1.8.0_1031]
    Rating: 5.0/5 (1 vote cast)
    VtigerCRM Part Two 修改篇5.051
    與大家分享
    • Print
    • Digg
    • del.icio.us
    • Facebook
    • Google Bookmarks
    • Hemidemi
    • MyShare
    • email
    • RSS
    • Twitter
    • Live
    • MySpace
  • 52 Responses to “VtigerCRM Part Two 修改篇”

    • Vincent Chang on 二月 6, 2010

      vtigercrm pdf中文化 5.1.0 rc版
      pdf中文化方式
      下載fireflysung.gz檔案,解壓後,產生fireflysung.ttf檔,放入tcpdf\fonts\ttf2ufm目錄下
      執行
      ttf2ufm -a -F fireflysung.ttf
      執行
      php -q makefont.php fireflysung.ttf fireflysung.ufm
      copy 產生出來的檔案到TCPDF\fonts目錄下
      複製fireflysung.php 成為fireflysungb.php, fireflysungi.php, fireflysungbi.php
      修改
      Tcpdf.php 將$family字型修改為 $family = ‘fireflysung’;約在-2552行 及2545行即可
      其實在5.1.0 rc版本中TCPDF\fonts\utils下有一個英文版readme.txt,解釋還算清楚,這個檔案也是在tcpdf.php 的header中提到的,各位可以參考

      UN:F [1.8.0_1031]
      Rating: 0.0/5 (0 votes cast)
      UN:F [1.8.0_1031]
      Rating: 0 (from 0 votes)
    • Vincent Chang on 二月 6, 2010

      5.1.0 rc版,中文化的差不多了,發覺一件事,就是那些中文的對照檔有點亂,看起來vtiger有成立一個project 要調整各國語言版的對照方式,應該是可以期待的

      UN:F [1.8.0_1031]
      Rating: 0.0/5 (0 votes cast)
      UN:F [1.8.0_1031]
      Rating: 0 (from 0 votes)

    Leave a Reply


Ad