[工具] 批次產生 QR Code 電子名片

QRCode 電子名片是什麼? 

QRCode 電子名片是一種方便快捷的方式,讓您可以將您的聯絡方式以 QRCode 的形式分享給他人。這個 QRCode 可以包含您的姓名、職稱、公司名稱、電話號碼、電子郵件地址等聯絡資訊。當他人掃描這個QR碼時,這些資訊就會自動地添加到他們的手機聯絡人中,而無需手動輸入。

它的技術術語稱為 "MeCard" 二維條碼,是一種標準的電子名片格式,不知道這是什麼的人請自行 Google 一下,它可以包含各種聯絡資訊。通常,這個格式可以被大多數智能手機和電子郵件客戶端所識別和使用。

目前訪間已經有許多現有的 Web 服務,上傳人員的名片資料後會產生類似下圖的電子名片,但大多數是要註冊會員,大量使用甚至需要收費,而且可能會把員工的個資留在這些 SaaS 廠商的平台上。


開發小工具的念頭

前幾天朋友提到說有沒有串接過 QRCode 電子名片的服務,經過了解後,發現他們只是想要將公司員工的名片電子化,但卻缺乏開發能力,所以想說借助外部平台來產生,跟他們確認過後,他們不需要華麗的外表,只要能批次產生 QRCode 即可,並且他們會自行分派給各員工,所以貢獻一下開源的小工具的時候又到了。


如何使用

底下這張圖是小工具的執行畫面,使用 NET Core 8 開發的,支援產生多語系的 QRCode 名片,但如果你什麼都不管的情況下,預設已經包含了繁體中文和英文語系的名片欄位了,理論上直接執行VcardQRCodeGenerator.exe 就可以使用了,但如果你想要自行調整呈現的欄位(當然你可能要先 Google 一下 MeCard 支援的欄位名稱),可以繼續看下去。


Excel 樣板說明

下載 Excel 檔案後,打開來會看到下圖的欄位,請記住第一列的標題列是必填欄位,並且這裡的欄位名稱會對應後面說明的參數設定,因此請先詳讀參數設定的說明後再回頭調整這個欄位,第二列之後就是你的名片資料了,可以自行增減。



參數說明

  1. 如果你想要調整增減語系,或者修改名片的欄位,必須先勾選修改參數欄位,接著底下的設定檔欄位會開啟編輯模式。
  2. 此設定檔是一個 JSON 的格式,很抱歉如果你不知道的話也請自行 Google 一下,因為我有檢查格式是否為 JSON 格式,如果你不太確定修改是否正確的話,可以利用一些小工具來進行檢查。
  3. 資料夾內會有一個 logo.png 的檔案,如果要調整 QRCode 中央的圖片,請自行替換該圖片即可(請在關閉程式的條件下進行更換)。
  4. 接著要說明重點了,請對照底下的程式碼來看,此設定檔是一個 JSON 的陣列,每一個物件代表著一個語系。
    • lang : 辨識二維碼是什麼語系用,例如繁中,產生出來的檔案就會顯示 XXXX_繁中.png。
    • fields : 設定 Excel 與 vCard 欄位的對應關係。
      • excle : Execl樣板中標題欄位名稱。
      • vcard : 對應的名片欄位(不能亂填寫)。
      • key : 至少要選擇一個欄位,產生的檔案會使用設定為 true 的欄位當作檔案名稱。
[
  {
    "lang": "繁中",
    "fields": [
        { "excel": "姓名", "vcard": "FN:", "key": true },
        { "excel": "公司", "vcard": "ORG:" },
        { "excel": "職稱", "vcard": "TITLE:" },
        { "excel": "地址", "vcard": "ADR:;;" },
        { "excel": "手機", "vcard": "TEL;WORK;VOICE:" },
        { "excel": "電話", "vcard": "TEL;CELL:" },
        { "excel": "傳真", "vcard": "TEL;FAX:" },
        { "excel": "電子郵件", "vcard": "EMAIL;WORK;INTERNET:" },
        { "excel": "網站", "vcard": "URL:" }
    ]
  },
  {
    "lang": "英文",
    "fields": [
        { "excel": "Name", "vcard": "FN:", "key": true },
        { "excel": "Company", "vcard": "ORG:" },
        { "excel": "JobTitle", "vcard": "TITLE:" },
        { "excel": "Address", "vcard": "ADR:;;" },
        { "excel": "手機", "vcard": "TEL;WORK;VOICE:" },
        { "excel": "電話", "vcard": "TEL;CELL:" },
        { "excel": "傳真", "vcard": "TEL;FAX:" },
        { "excel": "電子郵件", "vcard": "EMAIL;WORK;INTERNET:" },
        { "excel": "網站", "vcard": "URL:" }
    ]
  }
]


執行結果

  1. 會在你指定的輸出資料夾產生 QRCode,我指定了兩個語系和一位員工的名片資訊,所以產生了兩個 QRCode 檔案在指定的資料夾內,如下圖所示。 


  2. 使用訪間的 QRCode 工具下去掃描,可以看到你建立的 vCard 格式的檔案。


  3. 使用手機的相機下去掃描(各家手機呈現的方式可能不同,請自己找一下),可以看到找到一個電子名片,右上角處有一個頭像的 icon,點下去則會跳出加入通訊錄的設定畫面。


  4. 通訊錄編輯畫面可以看到,把我們在 Excel 上面建立的名片資料都協助帶入欄位當中了。


寫在最後

因為現在晚上在上碩專班,實在沒有太多時間可以把它做到完美,本來還有很多想做的,例如可以透過介面來更換公司 logo、變更邊框的底色、設定檔更直覺得設定等等,很多很多的想法,但~~~~就先醬吧,反正我公開程式碼了,有興趣的人請到我的GitHub下載在自行調整吧,或者你也可以幫我把它做得更完美,pull 新版本給我也行。

什麼,你不知道怎麼編譯執行程式 !? 如果是這樣的話,我有編譯一個 windows x64 的版本,需要的人到這邊下載 windows-x64.zip 吧。


本文範例下載 : Github,使用 NetCore 8。

留言