批次 QR Code 產生器,是指一次操作就能從一份輸入清單,產生出多個 QR Code PNG 檔案,而批次 QR Code 產生器完全在瀏覽器中,就能從逐行分隔的文字或網址,產生最多 20 個獨特的符號。這個工具在用戶端執行:不會上傳、不會縮短,也不會被追蹤,而且每一張預覽圖都會附上各自獨立的 PNG 下載連結,而不是打包成單一壓縮檔。輸入內容會先去除前後多餘的空白,空白行會被捨棄,完全重複的行只會保留第一次出現的那一行,所以一份含有二十五行原始內容、其中五行重複的清單,最後會剛好產生二十個 PNG,達到批次上限。每一行的內容也被限制在 2,000 個 JavaScript 字元以內,如果任何一筆內容超出 QR 容量,整個批次就會顯示錯誤,而不是悄悄只產生一部分結果。這個編碼器和單一符號版的 QR Code Generator 用的是同一套 qrcode 1.5.4 瀏覽器函式庫,所以兩個工具的容量表與區段編碼行為完全一致。

batch qr code generator
批次 QR Code 產生器

批次 QR Code 產生器能做什麼

批次 QR Code 產生器接受一份數值清單,並在一次執行中,為每一個數值產生一張 PNG,取代原本需要重複二十次「複製、貼上、下載」的流程。批次 QR Code 產生器把這整套流程留在同一個瀏覽器分頁中:每一行貼上一段文字或一個網址,選擇像素尺寸與容錯等級,頁面就會產生最多二十個獨特的 PNG 圖片,附上各自的預覽小圖與各自的下載連結。

這個工具的限制是刻意設計的。批次上限是二十個獨特數值,每一行限制在 2,000 個 JavaScript 字元以內,而輸入解析器會去除前後多餘的空白、捨棄空白行,並把完全重複的行合併,只保留第一次出現的那一行,同時保留最初出現的順序。因為每一張預覽圖都有各自固定的檔名與各自的下載按鈕,所以不需要壓縮檔步驟,也不會自動一次下載全部;要保留哪些 PNG,由你點擊選擇。

這個編碼器和單一符號版的QR Code Generator用的是同一套 qrcode 1.5.4 瀏覽器函式庫,所以容量表、最佳化編碼區段,以及 PNG 資料網址輸出,在兩個工具上的行為完全一致。批次流程並沒有引入第二套 QR 實作,這樣就能避免兩個編碼器的行為逐漸出現落差。

如何使用批次 QR Code 產生器

整個操作是一個簡短的三階段流程:貼上、設定、驗證並下載。開啟工具、準備好你的清單,然後依照下面的步驟進行。

  1. 在輸入區中,每一行貼上一段文字或一個網址,經過去除空白與去重之後,行數不超過二十行。
  2. 選擇 128、256 或 512 像素的 PNG 畫布尺寸,以及 L、M、Q 或 H 其中一個容錯等級,然後選擇「產生 QR code」。
  3. 用目標裝置與讀取應用程式,逐一掃描每張預覽小圖,個別下載已驗證過的 PNG,並在任何後續版面配置中,保留它們周圍的靜空區。

更改輸入內容或選項,會讓前一個批次失效。一個非同步的作業識別碼,可以避免較舊的產生結果覆蓋掉較新的結果,所以就算你編輯了一行內容並很快重新產生,也不會看到過期的預覽混入目前的輸出結果中。

選擇 PNG 尺寸與容錯等級

有兩個設定會決定每一張輸出 PNG 的樣子:像素畫布尺寸與容錯等級。它們作用在符號的不同屬性上,不能互相替代調整。

像素尺寸控制的是,在特定實體尺寸下顯示或列印時,這張 PNG 看起來會是什麼樣子,而不是這個 QR 符號能承載多少資料。緊湊的擺放場合,像是嵌入文件說明、螢幕上的小型清單,或名片尺寸的用途,選擇 128 像素。投影片、海報與標籤這類預期會有中等印量的場合,選擇 256 像素。當一個符號會出現在告示牌、大型印刷品,或需要在觀看距離之外,每個模組仍要維持視覺清晰的展覽會場素材上時,選擇 512 像素。增加像素能改善外觀,但不會增加資料容量,所以不要把加大 PNG 尺寸,當成能塞進更長網址的方法。

容錯等級控制的是,這個符號在受損或被遮蔽多少的情況下,仍然能成功掃描。這四個等級,分別對應到DENSO WAVE所描述的大約碼字還原比率:

等級大約碼字還原比率實際適用場合
L~7%在乾淨的室內顯示條件下承載密集資料
M~15%一般乾淨顯示條件下的通用預設值
Q~25%戶外印刷,或可能有輕微磨損的表面
H~30%惡劣環境、品牌疊層,或在符號上加上標誌的情況

容錯等級並不是愈高愈好。每往上調一級,還原能力就會提升,但可用的資料容量也會跟著減少,這可能會迫使編碼器產生更密集、更大的符號。對大多數日常用途來說,M 等級是實用的預設值。如果你需要在符號上放置標誌、預期會有實體磨損,或要印在有紋理的表面上,就往上調到 Q 或 H,並確認原本的內容仍然放得下。

為什麼每一個批次都需要一個掃描驗證步驟

產生出來的圖片,並不能證明每一台掃描器都能讀出你想要的內容。同一張 PNG,可能在一支手機上掃描成功,卻在另一支手機上失敗,而失敗的原因通常和編碼器本身無關。過長的 UTF-8 文字與表情符號內容,會對容量與區段選擇造成壓力。列印尺寸、對比度與相機對焦,在辦公室螢幕和印出來的標籤之間都會不一樣。螢幕反光、實體損傷,以及讀取器本身的行為,也都各自帶來變化。qrcode 1.5.4 這套函式庫的說明中提到,它並未完整實作 ECI 支援,所以有些 QR 讀取器,可能會用不同的方式解讀網址、聯絡資訊文字,或其他內容。

正因為有這些變數,用目標裝置與應用程式掃描每一張最終的 PNG,是整個工作流程的一部分,而不是可有可無的收尾步驟。逐字解碼這個符號,確認你貼上的內容,就是讀取器顯示出來的內容。請不要把未經檢查的 QR code,用在付款、驗證憑證、安全指示,或任何不可逆的動作上。同樣的原則,也適用於庫存標籤、活動告示牌,以及任何要在現場取代既有代碼的情況。

檔名、限制與邊界情況

產生出來的檔名,開頭是兩位數的批次位置,接著是依照內容衍生出來的一小段 ASCII 字根。像 https://example.com 這樣的網址,會變成 01-example-com.png,下一筆獨特的輸入則會變成 02-something.png。如果某一行內容不含任何 ASCII 字母或數字,備援字根就會是 qr-code。這些檔名只是方便辨識用的標籤;它們絕不會改變已編碼的內容,你也可以重新命名下載下來的檔案,而不會影響掃描器讀到的內容。

兩個彼此相關的限制,是最多二十行的上限,以及每行最多 2,000 個字元的上限。這兩者合起來,限制了 CPU、記憶體、版面配置的運算量,也限制了在手機與一般筆電上意外一次下載大量檔案的情況。如果有一筆內容超出 QR 容量,整個批次就會顯示錯誤,而不是把一份未完成的結果,當成已完成的批次呈現出來,所以絕不會把一份只算完成一半的結果,誤認為完整批次。重複偵測只在去除空白之後做完全比對,所以 https://example.com 和 https://example.com/ 會被視為兩行不同的內容;這個解析器不會對網址做正規化處理。

因為沒有壓縮檔這道步驟,瀏覽器政策可能會針對每一個檔案,跳出下載點擊提示,或要求下載權限。這個產生器不會一次觸發二十次自動下載,這樣可以讓選取出來的輸出結果保持明確,也能避免在共用裝置上出現令人意外的行為。

隱私與本機處理

所有的內容與 PNG 資料網址,都只留在目前的瀏覽器分頁中。編碼與 PNG 繪製都在本機完成,所以網址、聯絡人卡片,以及任何其他輸入內容,都不會被上傳到遠端服務、被縮短,或被記錄下來。這讓這個工具很適合用在含有私人連結、內部庫存識別碼,或不該離開裝置的素材網址的代碼上。想更全面了解純本機 QR 工作流程的讀者,可以參考不上傳資料就能產生 QR code 的完整說明作為對照。

有兩個實作細節支持這項保證。第一,這個編碼器是用戶端函式庫呼叫,而不是伺服器端點,所以內容本身不會有任何網路來回傳輸。第二,這個非同步的作業識別碼,會在你更改輸入內容或選項時,讓前一個批次失效,這代表較舊的產生結果,不可能覆蓋較新的結果,把一張過期的 PNG 洩漏到你的下載內容中。

什麼時候批次產生器不是正確的工具

不同的批次規模,需要不同的工具。如果只需要一個 QR code,單一符號版的 QR Code Generator 是更簡單的選擇,也能避開解析器的額外負擔。在中等規模的範圍內,批次 QR Code 產生器涵蓋了一個很實用的甜蜜點,因為二十個獨特符號,對大多數活動識別證、課堂講義套組、桌卡,以及小型庫存作業來說已經足夠,也不會讓頁面或下載步驟不堪負荷。對於數以百計或數以千計的更大規模作業,就需要不同的工作流程,而這個工具刻意把上限設定在遠低於那個規模的範圍,好讓一般筆電與手機上的 CPU、記憶體,以及逐檔點擊的次數,都維持在可控範圍內。

在支援的範圍之內,取捨在於各項設定之間。如果列印尺寸下的外觀,比資料密度更重要,就傾向選用更大的像素畫布,搭配 M 或 Q 容錯等級。如果這個符號會出現在乾淨的室內顯示環境中,而且內容很短,L 等級就能讓模組維持小巧、PNG 保持整潔。如果某筆內容的長度,剛好接近這個符號的極限,請先調低容錯等級,而不是先刪減內容,並在每次更動之後重新驗證一次。任何特定的內容長度、像素尺寸與容錯等級組合,實際的確切數字,都以產生器本身呈現的結果為準;請把這篇文章當成方向上的參考,而不是取代這個工具產生出來的預覽小圖。

延伸閱讀:會扭曲你的 HTML 頁面大小分析結果的常見錯誤