2023年12月31日 星期日

利用電子名片(vCard)格式使用Python產生QR Code

vCard:https://zh.wikipedia.org/zh-tw/VCard

以下程式是利用ChaGPT產生:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import qrcode
import vobject
import matplotlib.pyplot as plt

def generate_qr_code(vcard_data, output_filename="qrcode.png"):
    # 創建一個vCard對象
    vcard = vobject.readOne(vcard_data)

    # 創建一個QR Code實例
    qr = qrcode.QRCode(
        version=1,
        error_correction=qrcode.constants.ERROR_CORRECT_L,
        box_size=10,
        border=4,
    )

    # 將vCard數據添加到QR Code中
    qr.add_data(vcard.serialize())
    qr.make(fit=True)

    # 從QR Code實例創建一個圖片
    img = qr.make_image(fill_color="black", back_color="white")

    # 將圖片保存為文件
    img.save(output_filename)

    # 顯示QR Code
    plt.imshow(img)
    plt.axis('off')
    plt.show()

if __name__ == "__main__":
    # 範例vCard數據
    sample_vcard = """BEGIN:VCARD
VERSION:3.0
FN:John Doe
ORG:Example Inc.
TEL:123456789
EMAIL:john.doe@example.com
END:VCARD
"""

    # 生成包含範例vCard數據的QR Code並顯示
    generate_qr_code(sample_vcard)
    print("成功生成並顯示QR Code。")

執行結果:

成功生成並顯示QR Code。

沒有留言:

張貼留言