> For the complete documentation index, see [llms.txt](https://docs.roboflow.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboflow.com/workflows/hi/blocks/blocks/transformations/qr-code-generator.md).

# क्यूआर कोड जनरेटर

पाठ इनपुट (URL, टेक्स्ट सामग्री, या अन्य डेटा) से अनुकूलन योग्य त्रुटि-सुधार स्तरों, दृश्य शैलीकरण (रंग, बॉर्डर), और स्वचालित आकार अनुकूलन के साथ QR कोड छवियाँ उत्पन्न करें, PNG छवियाँ बनाते हुए जो एम्बेड करने, प्रिंट करने, या वर्कफ़्लो में आगे छवि प्रसंस्करण के लिए उपयुक्त हों।

## यह ब्लॉक कैसे काम करता है

यह ब्लॉक qrcode लाइब्रेरी का उपयोग करके पाठ इनपुट से QR कोड छवियाँ बनाता है, और दिए गए पाठ को एक स्कैनेबल QR कोड पैटर्न में एन्कोड करता है। यह ब्लॉक:

1. पाठ इनपुट (एन्कोड करने के लिए URLs, स्ट्रिंग्स, या अन्य डेटा) और QR कोड कॉन्फ़िगरेशन पैरामीटर प्राप्त करता है
2. समान पैरामीटर वाले पहले से जनरेट किए गए QR कोड के लिए एक आंतरिक LRU कैश की जाँच करता है (कैशिंग दोहराए जाने वाले QR कोड जनरेशन के लिए प्रदर्शन बेहतर बनाती है)
3. fill और background रंगों के लिए रंग विनिर्देशों को पार्स करता है (hex कोड, RGB स्ट्रिंग्स, मानक रंग नाम, और CSS3 रंग नामों का समर्थन करता है) एक सामान्य रंग उपयोगिता का उपयोग करके
4. त्रुटि-सुधार स्तर स्ट्रिंग को qrcode लाइब्रेरी के संबंधित कॉन्स्टेंट से मैप करता है (निम्न, मध्यम, क्वार्टाइल, या उच्च त्रुटि-सुधार)
5. निर्दिष्ट पैरामीटरों के साथ एक QRCode ऑब्जेक्ट बनाता है:
   * version None होने पर डेटा लंबाई के आधार पर संस्करण (आकार) स्वतः निर्धारित करता है
   * चयनित विकल्प के आधार पर त्रुटि-सुधार स्तर सेट करता है
   * प्रति मॉड्यूल 10 पिक्सेल के निश्चित box\_size का उपयोग करता है
   * निर्दिष्ट बॉर्डर चौड़ाई लागू करता है
6. पाठ डेटा को QR कोड पैटर्न में एन्कोड करता है
7. निर्दिष्ट fill और background रंगों के साथ QR कोड से एक PIL Image उत्पन्न करता है
8. छवि को RGB प्रारूप में, फिर NumPy array में परिवर्तित करता है
9. वर्कफ़्लो छवि प्रसंस्करण के साथ संगतता के लिए RGB (PIL प्रारूप) से BGR (OpenCV/WorkflowImageData प्रारूप) में परिवर्तित करता है
10. QR कोड छवि और मेटाडेटा के साथ एक WorkflowImageData ऑब्जेक्ट बनाता है
11. परिणाम को भविष्य में पुन: उपयोग के लिए कैश में संग्रहीत करता है (कैश में 100 प्रविष्टियों की क्षमता और 1 घंटे का TTL है)
12. QR कोड छवि लौटाता है

ब्लॉक डेटा लंबाई के आधार पर QR कोड के आकार को स्वतः अनुकूलित करता है (ऑटो-साइज़िंग), यह सुनिश्चित करते हुए कि QR कोड डेटा एन्कोड करने के लिए पर्याप्त बड़ा हो, लेकिन अनावश्यक रूप से बड़ा न हो। त्रुटि-सुधार स्तर डेटा क्षमता और त्रुटि पुनर्प्राप्ति के बीच संतुलन बनाते हैं: उच्च त्रुटि-सुधार QR कोड को आंशिक रूप से क्षतिग्रस्त या ढका होने पर भी स्कैन करने योग्य बनाता है, लेकिन अधिकतम डेटा क्षमता कम करता है। ब्लॉक एक ही QR कोड को कई बार जनरेट करते समय प्रदर्शन सुधारने के लिए कैशिंग का उपयोग करता है, जो उन वर्कफ़्लोज़ में सामान्य है जो एक ही URLs या डेटा के लिए बार-बार QR कोड जनरेट करते हैं।

## सामान्य उपयोग के मामले

* **URL और लिंक एन्कोडिंग**: URL और वेब लिंक के लिए QR कोड जनरेट करें (उदाहरण के लिए, उत्पाद पृष्ठों के लिए QR कोड बनाना, दस्तावेज़ लिंक के लिए QR कोड जनरेट करना, आसान मोबाइल एक्सेस के लिए URLs एन्कोड करना), जिससे QR कोड स्कैनिंग के माध्यम से वेब संसाधनों तक त्वरित पहुँच संभव हो
* **डेटा एन्कोडिंग और साझा करना**: पाठ डेटा, पहचानकर्ता, या जानकारी को QR कोड में एन्कोड करें (उदाहरण के लिए, उत्पाद IDs के लिए QR कोड जनरेट करना, सीरियल नंबर एन्कोड करना, इन्वेंटरी ट्रैकिंग के लिए QR कोड बनाना), जिससे मशीन-पठनीय डेटा एन्कोडिंग और साझाकरण संभव हो
* **दस्तावेज़ और रिपोर्ट निर्माण**: उत्पन्न दस्तावेज़ों या रिपोर्टों में QR कोड शामिल करें (उदाहरण के लिए, विस्तृत डेटा से लिंक करने वाली PDF रिपोर्टों में QR कोड जोड़ना, उत्पन्न छवियों में QR कोड एम्बेड करना, स्वरूपित आउटपुट में QR कोड शामिल करना), जिससे स्कैनेबल लिंक के साथ इंटरैक्टिव दस्तावेज़ सुविधाएँ संभव हों
* **वर्कफ़्लो परिणाम साझा करना**: वर्कफ़्लो परिणामों या आउटपुट्स से जुड़े QR कोड जनरेट करें (उदाहरण के लिए, डिटेक्शन परिणामों की ओर इशारा करने वाले QR कोड बनाना, विश्लेषण रिपोर्टों के लिंक एन्कोड करना, वर्कफ़्लो आउटपुट साझा करने के लिए QR कोड जनरेट करना), जिससे वर्कफ़्लो-जनित सामग्री को आसानी से साझा और एक्सेस किया जा सके
* **लेबल और टैग निर्माण**: लेबलिंग और पहचान उद्देश्यों के लिए QR कोड बनाएं (उदाहरण के लिए, एसेट टैग्स के लिए QR कोड जनरेट करना, उत्पाद लेबल के लिए QR कोड बनाना, पहचान जानकारी एन्कोड करना), जिससे स्वचालित लेबल और टैग निर्माण वर्कफ़्लो संभव हों
* **एकीकरण और स्वचालन**: स्वचालित वर्कफ़्लोज़ के हिस्से के रूप में QR कोड जनरेट करें (उदाहरण के लिए, स्वचालित दस्तावेज़ प्रसंस्करण के लिए QR कोड बनाना, वर्कफ़्लो स्वचालन ट्रिगर्स के लिए QR कोड जनरेट करना, सिस्टम एकीकरण के लिए डेटा एन्कोड करना), जिससे स्वचालित प्रक्रियाओं के हिस्से के रूप में QR कोड जनरेशन संभव हो

## अन्य ब्लॉक्स से कनेक्ट करना

यह ब्लॉक पाठ इनपुट प्राप्त करता है और QR कोड छवियाँ उत्पन्न करता है:

* **डेटा प्रोसेसिंग ब्लॉकों के बाद** (उदाहरण के लिए, Expression, Property Definition) जो पाठ आउटपुट उत्पन्न करते हैं ताकि गणना किए गए मान, URLs, या प्रोसेस्ड डेटा को QR कोड में एन्कोड किया जा सके, जिससे वर्कफ़्लो-जनित डेटा का मशीन-पठनीय एन्कोडिंग संभव हो
* **विज़ुअलाइज़ेशन ब्लॉकों से पहले** जो QR कोड को अन्य छवियों के साथ ओवरले या संयोजित कर सकते हैं (उदाहरण के लिए, छवियों पर QR कोड ओवरले करना, QR कोड को डिटेक्शन विज़ुअलाइज़ेशन के साथ संयोजित करना, समग्र छवियों में QR कोड एम्बेड करना), जिससे QR कोड को दृश्य आउटपुट में एकीकृत किया जा सके
* **फ़ॉर्मैटर ब्लॉकों से पहले** (उदाहरण के लिए, CSV Formatter) ताकि स्वरूपित आउटपुट में QR कोड संदर्भ या लिंक शामिल किए जा सकें, जिससे संरचित डेटा निर्यात में QR कोड एकीकरण संभव हो
* **सिंक ब्लॉकों से पहले** (उदाहरण के लिए, Local File Sink, Webhook Sink) ताकि उत्पन्न QR कोड छवियाँ सहेजी या भेजी जा सकें, जिससे QR कोड वितरण और संग्रहण संभव हो
* **दस्तावेज़ निर्माण वर्कफ़्लोज़ में** जहाँ QR कोडों को दस्तावेज़ों या रिपोर्टों में एम्बेड करने की आवश्यकता होती है, जिससे स्कैनेबल कोड के साथ इंटरैक्टिव दस्तावेज़ सुविधाएँ संभव होती हैं
* **detection या analysis ब्लॉकों के बाद** डिटेक्शन परिणामों या विश्लेषण आउटपुट्स से जुड़े QR कोड जनरेट करने के लिए, जिससे QR कोड स्कैनिंग के माध्यम से वर्कफ़्लो परिणामों को आसानी से साझा और एक्सेस किया जा सके

### प्रकार पहचानकर्ता

स्टेप में निम्नलिखित पहचानकर्ता का उपयोग करें `"type"` फ़ील्ड: `roboflow_core/qr_code_generator@v1` अपने वर्कफ़्लो में ब्लॉक को एक स्टेप के रूप में जोड़ने के लिए।

### गुण

| **नाम**         | **प्रकार** | **विवरण**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | संदर्भ |
| --------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ |
| `name`          | `str`      | इस स्टेप के लिए एक विशिष्ट पहचानकर्ता दर्ज करें..                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | ❌      |
| `पाठ`           | `str`      | QR कोड में एन्कोड करने के लिए पाठ, URL, या डेटा। यह कोई भी स्ट्रिंग सामग्री हो सकती है, जिसमें URLs (उदाहरण के लिए, '<https://roboflow.com>'), पाठ संदेश, पहचानकर्ता, सीरियल नंबर, या अन्य डेटा शामिल हैं। QR कोड डेटा लंबाई के आधार पर स्वतः अपना आकार निर्धारित करेगा। लंबे पाठ के लिए बड़े QR कोड या फिट होने के लिए निम्न त्रुटि-सुधार स्तरों की आवश्यकता होती है। अधिकतम डेटा क्षमता चुने गए त्रुटि-सुधार स्तर पर निर्भर करती है..                                                                                                                                                                                                                                 | ✅      |
| `error_correct` | `str`      | त्रुटि-सुधार स्तर जो निर्धारित करता है कि QR कोड स्कैनेबल रहते हुए कितना नुकसान या आड़ सहन कर सकता है। उच्च त्रुटि-सुधार QR कोड को आंशिक रूप से क्षतिग्रस्त, ढका हुआ, या परिवर्तित होने पर भी स्कैन करने की अनुमति देता है, लेकिन अधिकतम डेटा क्षमता (पाठ लंबाई) कम कर देता है। जब QR कोड स्पष्ट रूप से दिखाई देंगे और क्षतिग्रस्त नहीं होंगे, तब अधिकतम डेटा क्षमता के लिए 'Low' चुनें। संतुलित क्षमता और त्रुटि पुनर्प्राप्ति के लिए 'Medium' (डिफ़ॉल्ट) चुनें। जब QR कोड आंशिक रूप से ढके, क्षतिग्रस्त, या कठिन कोणों से स्कैन किए जाने की आवश्यकता हो, तब 'Quartile' या 'High' चुनें। समझौता: उच्च त्रुटि-सुधार = बेहतर त्रुटि पुनर्प्राप्ति लेकिन कम डेटा क्षमता.. | ❌      |
| `border`        | `int`      | मॉड्यूलों में बॉर्डर की मोटाई (QR कोड इकाइयाँ)। डिफ़ॉल्ट 4 मॉड्यूल है। बॉर्डर QR कोड पैटर्न के चारों ओर एक शांत क्षेत्र है जो QR कोड स्कैनरों को कोड की पहचान और डिकोड करने में मदद करता है। बड़े बॉर्डर स्कैनिंग विश्वसनीयता बढ़ाते हैं लेकिन छवि आकार भी बढ़ाते हैं। न्यूनतम अनुशंसित बॉर्डर 4 मॉड्यूल है। बॉर्डर को QR कोड मॉड्यूलों में मापा जाता है (पिक्सेल में नहीं - वास्तविक पिक्सेल बॉर्डर आकार box\_size पर निर्भर करता है, जो प्रति मॉड्यूल 10 पिक्सेल पर निश्चित है)..                                                                                                                                                                                     | ✅      |
| `fill_color`    | `str`      | QR कोड पैटर्न ब्लॉकों का रंग (QR कोड में गहरे वर्ग)। डिफ़ॉल्ट 'BLACK' है। कई रंग प्रारूपों का समर्थन करता है: hex कोड (उदाहरण के लिए, लाल के लिए '#FF0000', काले के लिए '#000000'), RGB स्ट्रिंग्स (उदाहरण के लिए, 'rgb(255, 0, 0)'), मानक रंग नाम (उदाहरण के लिए, 'BLACK', 'WHITE', 'RED', 'BLUE'), या CSS3 रंग नाम। विश्वसनीय स्कैनिंग के लिए fill रंग को background रंग के साथ अच्छा कंट्रास्ट होना चाहिए। पारंपरिक काला-पर-सफेद सर्वोत्तम स्कैनिंग विश्वसनीयता प्रदान करता है..                                                                                                                                                                                     | ✅      |
| `back_color`    | `str`      | QR कोड का background रंग (पैटर्न ब्लॉकों के बीच के हल्के क्षेत्र)। डिफ़ॉल्ट 'WHITE' है। कई रंग प्रारूपों का समर्थन करता है: hex कोड (उदाहरण के लिए, सफेद के लिए '#FFFFFF', काले के लिए '#000000'), RGB स्ट्रिंग्स (उदाहरण के लिए, 'rgb(255, 255, 255)'), मानक रंग नाम (उदाहरण के लिए, 'BLACK', 'WHITE', 'RED', 'BLUE'), या CSS3 रंग नाम। विश्वसनीय स्कैनिंग के लिए background रंग को fill रंग के साथ अच्छा कंट्रास्ट होना चाहिए। पारंपरिक काले fill के साथ सफेद background सर्वोत्तम स्कैनिंग विश्वसनीयता प्रदान करता है..                                                                                                                                              | ✅      |

यह **संदर्भ** स्तंभ यह इंगित करता है कि संपत्ति को वर्कफ़्लो रनटाइम में उपलब्ध गतिशील मानों के साथ पैरामीटराइज़ किया जा सकता है `वर्कफ़्लो` रनटाइम। देखें *बाइंडिंग्स* अधिक जानकारी के लिए।

### इनपुट और आउटपुट बाइंडिंग्स

उपलब्ध कनेक्शन उसके बाइंडिंग प्रकारों पर निर्भर करते हैं। देखें कि कौन-से बाइंडिंग प्रकार `QR कोड जनरेटर` संस्करण `v1` है।

<details>

<summary>इनपुट और आउटपुट बाइंडिंग्स</summary>

* इनपुट
  * `पाठ` ([*`string`*](/workflows/hi/developer-guide/developer-guide/kinds/string.md)): QR कोड में एन्कोड करने के लिए पाठ, URL, या डेटा। यह कोई भी स्ट्रिंग सामग्री हो सकती है, जिसमें URLs (उदाहरण के लिए, '<https://roboflow.com>'), पाठ संदेश, पहचानकर्ता, सीरियल नंबर, या अन्य डेटा शामिल हैं। QR कोड डेटा लंबाई के आधार पर स्वतः अपना आकार निर्धारित करेगा। लंबे पाठ के लिए बड़े QR कोड या फिट होने के लिए निम्न त्रुटि-सुधार स्तरों की आवश्यकता होती है। अधिकतम डेटा क्षमता चुने गए त्रुटि-सुधार स्तर पर निर्भर करती है..
  * `border` ([*`पूर्णांक`*](/workflows/hi/developer-guide/developer-guide/kinds/integer.md)मॉड्यूलों में बॉर्डर की मोटाई (QR कोड इकाइयाँ)। डिफ़ॉल्ट 4 मॉड्यूल है। बॉर्डर QR कोड पैटर्न के चारों ओर एक शांत क्षेत्र है जो QR कोड स्कैनरों को कोड की पहचान और डिकोड करने में मदद करता है। बड़े बॉर्डर स्कैनिंग विश्वसनीयता बढ़ाते हैं लेकिन छवि आकार भी बढ़ाते हैं। न्यूनतम अनुशंसित बॉर्डर 4 मॉड्यूल है। बॉर्डर को QR कोड मॉड्यूलों में मापा जाता है (पिक्सेल में नहीं - वास्तविक पिक्सेल बॉर्डर आकार box\_size पर निर्भर करता है, जो प्रति मॉड्यूल 10 पिक्सेल पर निश्चित है)..
  * `fill_color` ([*`string`*](/workflows/hi/developer-guide/developer-guide/kinds/string.md)QR कोड पैटर्न ब्लॉकों का रंग (QR कोड में गहरे वर्ग)। डिफ़ॉल्ट 'BLACK' है। कई रंग प्रारूपों का समर्थन करता है: hex कोड (उदाहरण के लिए, लाल के लिए '#FF0000', काले के लिए '#000000'), RGB स्ट्रिंग्स (उदाहरण के लिए, 'rgb(255, 0, 0)'), मानक रंग नाम (उदाहरण के लिए, 'BLACK', 'WHITE', 'RED', 'BLUE'), या CSS3 रंग नाम। विश्वसनीय स्कैनिंग के लिए fill रंग को background रंग के साथ अच्छा कंट्रास्ट होना चाहिए। पारंपरिक काला-पर-सफेद सर्वोत्तम स्कैनिंग विश्वसनीयता प्रदान करता है..
  * `back_color` ([*`string`*](/workflows/hi/developer-guide/developer-guide/kinds/string.md)QR कोड का background रंग (पैटर्न ब्लॉकों के बीच के हल्के क्षेत्र)। डिफ़ॉल्ट 'WHITE' है। कई रंग प्रारूपों का समर्थन करता है: hex कोड (उदाहरण के लिए, सफेद के लिए '#FFFFFF', काले के लिए '#000000'), RGB स्ट्रिंग्स (उदाहरण के लिए, 'rgb(255, 255, 255)'), मानक रंग नाम (उदाहरण के लिए, 'BLACK', 'WHITE', 'RED', 'BLUE'), या CSS3 रंग नाम। विश्वसनीय स्कैनिंग के लिए background रंग को fill रंग के साथ अच्छा कंट्रास्ट होना चाहिए। पारंपरिक काले fill के साथ सफेद background सर्वोत्तम स्कैनिंग विश्वसनीयता प्रदान करता है..
* आउटपुट
  * `क्यूआर कोड` ([`छवि`](/workflows/hi/developer-guide/developer-guide/kinds/image.md)): कार्यप्रवाहों में इमेज।

</details>

<details>

<summary>उदाहरण JSON परिभाषा</summary>

```json
{
	    "name": "<your_step_name_here>",
	    "type": "roboflow_core/qr_code_generator@v1",
	    "text": "https://roboflow.com",
	    "error_correct": "Low (~7% शब्द पुनर्प्राप्ति / उच्चतम डेटा क्षमता)",
	    "border": 2,
	    "fill_color": "BLACK",
	    "back_color": "WHITE"
	}
```

</details>
