[Java]QRCode產生VCard

在行動條碼QRCode的內容上,可以是電話號碼、手機號碼、電子信箱、網址、文字內容等等,如果將這些資訊整合起來時,就產生了VCard,二維條碼式的名片條碼,其實條碼內的資訊還是英文、數字或是文字組合而成,只是利用公制定的規則來組合,在解QRCode時,就會啟動相對應的程式來承接這些資訊。

行動上網聯盟OMIA(Open Mobile Internet Alliace)就負責此規則的制定,DeCode或是EnCode都需依規則來處理,規範的內容可以由行動上網聯盟下載區取得,選寫此文時規範版本為3.1

QRcode產生器

如上圖,給於所要提供的欄位資訊,就可以產生需要的QRCode,欄位可以包含姓名、電話、手機、公司電話、公司傳真、公司名稱、EMail、網址、經緯度及地址等等,詳細的用法請參考行動上網聯盟所制定的規範書。

如果使用行動設備(手機等)解碼上圖QRCode可以得到如下圖資訊,直接可以存入通訊錄,省下手動輸入的麻煩。在某些先進的手機或PDA上,還可以直接利用給於的經緯度,透過地圖(Google Map等)直接進行定位、導航等,像商家的名片就可以提供有經緯度的名片,讓客戶更容易找到商家所在地點。

手機解譯QRcode

附上此程式,跟上一篇的 [Java]如何產生Qrocde二維條碼?其實是類似的,只是增加了一個JButton ActionListener動作,而做了一些調整。

VCard測試資料內容:(請記得分行)

BEGIN:VCARD
N:Wang;Eric
TEL;CELL:0923-123456
TEL;WORK:Tel:04-2222222
TEL;WORK;FAX:Fax: 04-2223332
ORG:yslifes;工程師
EMAIL:[email protected]
URL:http://blog.yslifes.com
END:VCARD

增加的程式碼重點內容:

            jButton.addActionListener(new java.awt.event.ActionListener() {
                   
                public void actionPerformed(java.awt.event.ActionEvent e)
                {
                    getJPanel().paintMakeQrcode(getJTextArea().getText().trim().length()==0?null:getJTextArea().getText());
                }
            }
            );

原始碼下載

使用Android手機解碼QRCode的結果

使用Android手機解碼QRCode的結果

17 thoughts to “[Java]QRCode產生VCard”

  1. 我用NOTEBOOK的WEBCAM可以,,
    但外置的WEBCAM,,出了ERROR,,POP-UP了一個 ALERT
    an error ocurred while capturing the video image. The video capture will now be terminated.

    1. 那是硬碟的問題,並不是解碼器的問題
      請問您使用的是那一個webcam capture?

    1. 那個有點不好用…我後來也沒用了
      你可以去找DShowNET這個來使用應該會速度快很多又好用喔

        1. 我是用它的SampleGrabberNET這個範例去改的
          你可以參考它的作法看看

          1. 謝謝你,,我正在做畢業專題HAHA,,
            要用QR CODE連去MYSQL,,

  2. 說真的,我不太懂怎麼改-__-
    我看到有很多一樣格式的FILES,但不知道是要開啟出來改?

  3. 真的??太好了,
    你不是之前有的嗎?!
    用那個不行嗎?
    p.s.
    qr code的大小有限制的嗎?
    我用之前那個,200*200是可以decode的,
    一改成150*150就不可以decode了

發表迴響