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

批次 QR Code 產生器能做什麼
批次 QR Code 產生器接受一份數值清單,並在一次執行中,為每一個數值產生一張 PNG,取代原本需要重複二十次「複製、貼上、下載」的流程。批次 QR Code 產生器把這整套流程留在同一個瀏覽器分頁中:每一行貼上一段文字或一個網址,選擇像素尺寸與容錯等級,頁面就會產生最多二十個獨特的 PNG 圖片,附上各自的預覽小圖與各自的下載連結。
這個工具的限制是刻意設計的。批次上限是二十個獨特數值,每一行限制在 2,000 個 JavaScript 字元以內,而輸入解析器會去除前後多餘的空白、捨棄空白行,並把完全重複的行合併,只保留第一次出現的那一行,同時保留最初出現的順序。因為每一張預覽圖都有各自固定的檔名與各自的下載按鈕,所以不需要壓縮檔步驟,也不會自動一次下載全部;要保留哪些 PNG,由你點擊選擇。
這個編碼器和單一符號版的QR Code Generator用的是同一套 qrcode 1.5.4 瀏覽器函式庫,所以容量表、最佳化編碼區段,以及 PNG 資料網址輸出,在兩個工具上的行為完全一致。批次流程並沒有引入第二套 QR 實作,這樣就能避免兩個編碼器的行為逐漸出現落差。
如何使用批次 QR Code 產生器
整個操作是一個簡短的三階段流程:貼上、設定、驗證並下載。開啟工具、準備好你的清單,然後依照下面的步驟進行。
- 在輸入區中,每一行貼上一段文字或一個網址,經過去除空白與去重之後,行數不超過二十行。
- 選擇 128、256 或 512 像素的 PNG 畫布尺寸,以及 L、M、Q 或 H 其中一個容錯等級,然後選擇「產生 QR code」。
- 用目標裝置與讀取應用程式,逐一掃描每張預覽小圖,個別下載已驗證過的 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 頁面大小分析結果的常見錯誤。