問卷系統LimeSurvey-pdf內容空白問題

由LimeSurvey系統產生PDF時,會出現空白的狀態。
因為預設語系為簡體,而輸出文字內容為繁體,而且預設字型大小也只有8px,實在有點太小了。
若有相同問題的朋友請依照以下方式修改。

如何變更字型大小

# grep --color -R "pdffontsize" /var/www/html/limesurvey/
  /var/www/html/limesurvey/application/config/config-defaults.php:$config['pdffontsize'] = 8;
# vim /var/www/html/limesurvey/application/config/config-defaults.php
  $config['pdffontsize'] = 16;

如何變更語系

# vim /var/www/html/application/third_party/tcpdf/fonts/chinese.php
  $enc='UniCNS-UTF16-H';  //原始值為UniGB-UTF16-H
  $cidinfo=array('Registry'=>'Adobe', 'Ordering'=>'CNS1','Supplement'=>0);  //原始值為GB1及2

為何我會知道參數值要修改成什麼呢?
因為我搜尋UniGB-UTF16-H字串時,發現他在cid0cs.php內有以下3行文字:
// Chinese Simplified
$enc='UniGB-UTF16-H';
$cidinfo=array('Registry'=>'Adobe', 'Ordering'=>'GB1,'Supplement'=>2);

而在同一個目錄下還有一個cid0ct.php的檔案,內容也有相似的3行文字:
// Chinese Traditional
$enc='UniCNS-UTF16-H';
$cidinfo=array('Registry'=>'Adobe', 'Ordering'=>'CNS1','Supplement'=>0);

問卷系統LimeSurvey-修改按鈕文字內容及字型大小

使用預設的版面時,右下角會有一個"載入未完成問卷"的按鈕,左下角則是"離開並清除問卷"的按鈕。


***字型的大小預設是10px,而文字字串則是存放在繁體中文語系檔(.mo)內。

一開始我搜尋limesurvey目錄下(包含子目錄)所有的php內容,看看是不是有"載入未完成問卷"的字串,但只找到他的變數"Load unfinished survey",之後再用以下的指令找到了這字串的所在檔案位置。

# grep --color -R "載入未完成" /var/www/html/limesurvey/
  二進位格式檔案 /var/www/html/limesurvey/locale/zh-Hant-TW/LC_MESSAGES/zh-Hant-TW.mo 符合

***所以基本上除了按鈕的文字字串,像是limesurvey其他網頁的文字字串也都是存放內在這個檔案內。

如何編輯繁體中文語系檔

我們可以到limesurvey的官網下載最新的繁體中文語系檔(.po)進行編輯並轉換成繁體中文語系檔(.mo)。
  1. 繁體中文語系檔載點:limesurvey2-zh-tw.po
  2. po檔編輯器載點


  3. 存檔後,在同一個路徑下會產生一個limesurvey2-zh-tw.mo檔。將這個檔案複製到路徑/var/www/html/limesurvey/locale/zh-Hant-TW/LC_MESSAGES/底下,記住要先備份原始檔。
  4. # mv zh-Hant-TW.mo zh-Hant-TW.mo.bak20130807
    # wget http://myftp/limesurvey2-zh-tw.mo
    # mv limesurvey2-zh-tw.mo zh-Hant-TW.mo

  5. 按F5重新整理網頁

如何變更字型大小

# vim /var/www/html/limesurvey/upload/templates/test/template.css  //test模板名稱
  279  /* Save All button */
  280  .saveall {
  281  font-size: 16px;
  282  margin: 5px;
  283  }

問卷系統LimeSurvey

最近同事為了教育部問卷系統要暫時停擺的問題而傷透腦筋,本來建議他向計資中心求助,但得到的回應卻大失所望,所以只好親自出馬,LimeSurvey是功能強大的問卷系統,有Windows和Linux版本。

相關資料來源:
LimeSurvey官網
系統需求
LimeSurvey載點
安裝 FAQ

安裝步驟

  1. 安裝必要套件及相關模組
  2. # yum install -y httpd php mysql mysql-server phpMyAdmin  //phpMyAdmin來源為EPEL,repo檔請至EPEL官網下載安裝。
    # yum install -y php-mbstring php-mysql  // Multibyte String Functions及PDO database driver for MySQL模組
    # service httpd start
    # chkconfig httpd on
    # service httpd restart
    # vim /var/www/html/info.php
      <?php
        phpinfo();
      ?>


  3. 初始化MySQL資料庫
  4. # chkconfig mysqld on
    # service mysqld start
    # mysqladmin -u root password 12345
    # /usr/bin/mysql_secure_installation
      Enter current password for root (enter for none): 12345
      Remove anonymous users? [Y/n] Y
      Disallow root login remotely? [Y/n] n
      Remove test database and access to it? [Y/n] Y
      Reload privilege tables now? [Y/n] Y

    產生一個新的資料庫給LimeSurvey使用,可以用指令,也可以用phpMyAdmin。
    # mysql -u root -p
      Enter password:
    mysqld>CREATE DATABASE cc_survey;
      Query OK, 1 row affected (0.00 sec)
    mysqld>quit

  5. 安裝LimeSurvey
  6. # wget http://www.limesurvey.org/en/stable-release/finish/25-latest-stable-release/900-limesurvey200plus-build130708.tar.gz
    # tar zxvf limesurvey200plus-build130708.tar.gz
    # cp -r limesurvey/* /var/www/html/

    進入設定頁面時發生錯誤,因為無寫入權限

    # chmod -R 777 /var/www/html/tmp



    最低要求並未完全滿足

    # chmod 777 /var/www/html/application/config/
    # chmod -R 777 /var/www/html/upload/


    可選擇性模組還有三個未安裝:既然是可選擇性,也就是說可以不安裝就進行下一步,但還是裝一下吧! # yum list | grep --color -Ew 'php-|gd|ldap|imap'
      php-gd
      php-ldap
      php-imap
    # yum install -y php-gd php-ldap php-imap
    # service httpd restart

    這樣是不是好看多了!

    設定資料庫:欄位(資料庫名稱)就是前面資料庫設定時所新增的cc_survey




    管理端網址:http://you.domainname.com/index.php/admin/authentication/sa/login


Q&A

        當你將某一個問題的"必須回應"設定為否時,該問題在問卷畫面上會自動多出一個"不想回答"的選項,而進入所有的頁面都找不到如何讓他消失的設定,這該如何解決呢?


使用phpMyAdmin去搜尋參數值shownoanswer,並將他改為0,就不會出現了。