跳過到頁腳內容
條碼工具

QR碼庫(開發人員指南)

QR 是一種 2D 條碼,比傳統條碼更小且更易於接觸。 它經常被用來幫助人們獲取資訊或與其喜愛的品牌聯繫。 QR 包含兩個部分 - 左半和右半。 左半通常有黑色像素,而右半是白色。 QR 使用專用的 QR 掃描器在手機或電腦上掃描,該掃描器透過雷射技術以高速捕捉編碼到白色部分圖案中的數據,就像信用卡終端一樣。 QR 可用於多種用途,如顯示商店信息、廣告、促銷、優惠券和新聞文章。 您可能會看到 QR 列印在書籍封面的正面,但更常見於書籍封底,或 QR 可以印在公告板上。 例如,QR 技術可以放置在學校圖書館中,以便訪問書籍。 QR 不僅可以幫助學生了解圖書館內容,還可以提供連結以獲得無限的額外資訊,例如學生的在線測驗。

QR 技術有多種用例,包括營銷和廣告活動、電子商務網站、銷售點系統、非接觸支付等。 雖然它們已經存在了一段時間,但直到最近消費者才在日常生活中使用它們。 QR 在廣告商和消費者中越來越受歡迎。 它們提供了一種無縫的方式以便快速獲取商品或服務的信息,無需輸入地址或電話號碼。 如果您是生成 QR 圖像的程式設計師,請閱讀本指南以了解其簡易性。

本文介紹如何使用不同的語言如 JavaScript、Python 和 C# 程式化掃描和創建 QR。 讓我們開始吧。

QuaggaJS:JavaScript 程式庫

class="content-img-align-center">
class="center-image-wrapper"> Qr Code Library 1 related to QuaggaJS:JavaScript 程式庫

QuaggaJS 是一個用於生成條碼的 JavaScript 程式庫。 它利用現代瀏覽器的功能使其在任何平台和瀏覽器上都能工作。 開發者廣泛使用 QuaggaJS 因為其快速的性能、可攜性和兼容性。 該 JavaScript 程式庫支持多種編碼類型,如 UPC-A、UPC-E、Code 128、Code 39、Interleaved 2 of 5 (ITF) 和 EAN 8/13。使用它無需下載或安裝任何額外的依賴項。 QuaggaJS 使開發者只需幾行代碼即可在網頁上生成複雜的條碼樣輸出。 它提供了一個高層次 API,抽象了底層 HTML5 畫布和 JavaScript API 的所有複雜性,同時提供了合理的預設。

QuaggaJS 被廣泛用於開發者和設計師希望創建數字營銷解決方案,其中包含 QR 的設計。 該程式庫還兼容多個框架如 React Native、Angular、Vue.js、Ionic 4 等。

可使用 NPM 命令安裝 QuaggaJS 程式庫。 以下是項目中使用 QuaggaJS 程式庫的代碼示例:

// Initialize the QuaggaJS library for processing barcodes
Quagga.init({
    inputStream: {
        name: "Live",                // Stream type
        type: "LiveStream",          // Live stream from a webcam
        target: document.querySelector('#yourElement') // Target HTML element for rendering
    },
    decoder: {
        readers: ["code_128_reader"] // Barcode types to decode
    }
}, function(err) {
    if (err) {
        console.log(err);            // Log any initialization errors
        return;
    }
    console.log("Initialization finished. Ready to start");
    Quagga.start();                  // Start processing after initialization
});
// Initialize the QuaggaJS library for processing barcodes
Quagga.init({
    inputStream: {
        name: "Live",                // Stream type
        type: "LiveStream",          // Live stream from a webcam
        target: document.querySelector('#yourElement') // Target HTML element for rendering
    },
    decoder: {
        readers: ["code_128_reader"] // Barcode types to decode
    }
}, function(err) {
    if (err) {
        console.log(err);            // Log any initialization errors
        return;
    }
    console.log("Initialization finished. Ready to start");
    Quagga.start();                  // Start processing after initialization
});
JAVASCRIPT

您可以使用靜態圖像、實時網絡攝像頭或文件 API 掃描條碼。

Segno:Python 程式庫

class="content-img-align-center">
class="center-image-wrapper"> Qr Code Library 2 related to Segno:Python 程式庫

Segno 是一個用於在 Python 中讀取、寫入和生成條碼的程式庫。 使用此程式庫,您可以輕鬆從零創建條碼圖像。 Segno 使用 NumPy 陣列高效地編碼和解碼條碼。 Segno 的語法類似於 Python 的烏龜模塊之一,因此應該很容易迅速掌握。 Segno 是以簡單性為設計理念,使開發者能夠在無需條碼生成的先驗知識的情況下使用它。 然而,它還具有一個強大的 API,開發者可以輕鬆擴展 Segno 的功能,如果他們希望獲得更多的條碼功能。

Segno 的獨特功能包括根據條碼數據字段以多種方式生成相同的條碼圖像; 對固定大小、可變大小或兩者的支持; 對高分辨率光柵輸出的支持; 還有帶有工具提示的側欄,幫助用戶生成他們的圖像。 以下是 Python 項目中使用 Segno 程式庫的代碼示例:

# Import the Segno library
import segno

# Create a QR code with specified data
qrcode = segno.make('Yellow Submarine')

# Save the generated QR code as a PNG file
qrcode.save('yellow-submarine.png')
# Import the Segno library
import segno

# Create a QR code with specified data
qrcode = segno.make('Yellow Submarine')

# Save the generated QR code as a PNG file
qrcode.save('yellow-submarine.png')
PYTHON

您可以使用 PIP 安裝進行安裝。

IronBarcode:C# 條碼庫

class="content-img-align-center">
class="center-image-wrapper"> Qr Code Library 3 related to IronBarcode:C# 條碼庫

IronBarcode 是一組支援條碼標準庫的程式碼物件。 這包括條碼編碼器、條碼生成器和編輯器等等。 它提供了一個適合移動和網絡應用程序的易用 API。 IronBarcode 通過提供一個標準化程式碼對象庫來減少手動編碼的工作,這些對象可以在您的應用程序中重複使用。 這些對象通過自動化特定流程和維護您的應用程序來減少開發時間,因為它們在平臺間是標準化的,使應用程序更加易於訪問。

IronBarcode 是當今增長最快的程式庫之一,因為它易於使用且性能高效。 由於其能在 iOS、Android 和 Web 瀏覽器上運行而無需任何更改或修改,IronBarcode 是您的下一個項目的理想選擇。 此程式庫提供了一個條碼生成的抽象層,同時提供了一組標準的實用程序和程式碼段以簡化開發。 可以導入此程式庫並傳遞生成的代碼來創建條碼。 讓我們看看代碼示例以了解程式庫程序。

代碼示例

using IronBarCode;

//*******     WRITE A QR CODE      *******/

// Create a Barcode in 1 Line of Code
BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode", BarcodeWriterEncoding.QRCode).SaveAsJpeg("QuickStart.jpg");

//*******    READ A QR CODE    *******/

// Read a Barcode in 1 Line of Code. Gets text, numeric codes, binary data, and an image of the barcode
BarcodeResult result = BarcodeReader.QuicklyReadOneBarcode("QuickStart.jpg");

// Check the result of reading the QR code
if (result != null && result.Text == "https://ironsoftware.com/csharp/barcode")
{
    System.Console.WriteLine("Success!"); // Confirm the text matches
}
using IronBarCode;

//*******     WRITE A QR CODE      *******/

// Create a Barcode in 1 Line of Code
BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode", BarcodeWriterEncoding.QRCode).SaveAsJpeg("QuickStart.jpg");

//*******    READ A QR CODE    *******/

// Read a Barcode in 1 Line of Code. Gets text, numeric codes, binary data, and an image of the barcode
BarcodeResult result = BarcodeReader.QuicklyReadOneBarcode("QuickStart.jpg");

// Check the result of reading the QR code
if (result != null && result.Text == "https://ironsoftware.com/csharp/barcode")
{
    System.Console.WriteLine("Success!"); // Confirm the text matches
}
Imports IronBarCode

'*******     WRITE A QR CODE      *******/

' Create a Barcode in 1 Line of Code
BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode", BarcodeWriterEncoding.QRCode).SaveAsJpeg("QuickStart.jpg")

'*******    READ A QR CODE    *******/

' Read a Barcode in 1 Line of Code. Gets text, numeric codes, binary data, and an image of the barcode
Dim result As BarcodeResult = BarcodeReader.QuicklyReadOneBarcode("QuickStart.jpg")

' Check the result of reading the QR code
If result IsNot Nothing AndAlso result.Text = "https://ironsoftware.com/csharp/barcode" Then
	System.Console.WriteLine("Success!") ' Confirm the text matches
End If
$vbLabelText   $csharpLabel

上面的代碼是使用 IronBarcode 程式庫創建和讀取 QR 的範例。 它非常簡單易用。 您需要導入程式庫,寫下一些代碼行,您的條碼即可使用和讀取。

using IronBarCode;

/*** EXPORTING BARCODES AS HTML FILES OR TAGS ***/

// Create a barcode object
GeneratedBarcode myBarCode = BarcodeWriter.CreateBarcode("1234567890", BarcodeWriterEncoding.Code128);

// Save as a stand-alone HTML file with no image assets required
myBarCode.SaveAsHtmlFile("MyBarCode.html");

// Save as a stand-alone HTML image tag which can be served in HTML files, ASPX, or MVC Views. No image assets required, the tag embeds the entire image in its src contents
string imgTag = myBarCode.ToHtmlTag();

// Turn the image into an HTML/CSS Data URI
string dataURI = myBarCode.ToDataUrl();
using IronBarCode;

/*** EXPORTING BARCODES AS HTML FILES OR TAGS ***/

// Create a barcode object
GeneratedBarcode myBarCode = BarcodeWriter.CreateBarcode("1234567890", BarcodeWriterEncoding.Code128);

// Save as a stand-alone HTML file with no image assets required
myBarCode.SaveAsHtmlFile("MyBarCode.html");

// Save as a stand-alone HTML image tag which can be served in HTML files, ASPX, or MVC Views. No image assets required, the tag embeds the entire image in its src contents
string imgTag = myBarCode.ToHtmlTag();

// Turn the image into an HTML/CSS Data URI
string dataURI = myBarCode.ToDataUrl();
Imports IronBarCode

'''* EXPORTING BARCODES AS HTML FILES OR TAGS **

' Create a barcode object
Private myBarCode As GeneratedBarcode = BarcodeWriter.CreateBarcode("1234567890", BarcodeWriterEncoding.Code128)

' Save as a stand-alone HTML file with no image assets required
myBarCode.SaveAsHtmlFile("MyBarCode.html")

' Save as a stand-alone HTML image tag which can be served in HTML files, ASPX, or MVC Views. No image assets required, the tag embeds the entire image in its src contents
Dim imgTag As String = myBarCode.ToHtmlTag()

' Turn the image into an HTML/CSS Data URI
Dim dataURI As String = myBarCode.ToDataUrl()
$vbLabelText   $csharpLabel

IronBarcode 支持導出 QR 到 HTML 文件或標籤。 它可以導出到一個表格標籤。 上面的代碼展示了 QR 到 HTML 的轉換。 您可以使用這個 連結 獲取更多來自 IronBarcode 程式庫網站的詳細信息。

授權

IronBarcode 在開發階段是免費的。 您可以獲得免費試用以進行商業用途或生產級別的應用。 IronBarcode 擁有三個定價方案,以符合開發者的需求。 您可以選擇最適合您需求的選項。 您還可以以兩個 Iron 產品的價格購買 5 個 Iron 軟體產品的套件。 從這個 連結獲取更多信息。

Jordi Bardia
軟體工程師
Jordi 在 Python、C# 和 C++ 上最得心應手,當他不在 Iron Software 展現技術時,便在做遊戲編程。在分担产品测测试,产品开发和研究的责任时,Jordi 为持续的产品改进增值。他说这种多样化的经验使他受到挑战并保持参与, 而这也是他与 Iron Software 中工作一大乐趣。Jordi 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。