{"id":1788,"date":"2023-02-17T11:15:07","date_gmt":"2023-02-17T11:15:07","guid":{"rendered":"https:\/\/www.tools.keywordfinder.us\/?page_id=1788"},"modified":"2023-02-17T11:15:07","modified_gmt":"2023-02-17T11:15:07","slug":"qr-code-maker","status":"publish","type":"page","link":"https:\/\/tools.billionsideas.com\/de\/qr-code-maker\/","title":{"rendered":"QR Code Maker"},"content":{"rendered":"<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column has-base-3-background-color has-background is-layout-flow wp-block-column-is-layout-flow\">\n<section><header class=\"jumbotron\">\n  <div class=\"container\">\n    <h1 class=\"text-center\">\n     QR Code Generator\n    <\/h1>\n  <\/div>\n<\/header>\n\n  <form action=\"\" id=\"form\" data-trp-original-action=\"\">\n    <label for=\"input-text\">Enter some text below to generate QR code:<\/label>\n      <input type=\"text\" class=\"form-control\" placeholder=\"Enter any text\" name=\"input-text\" required=\"\" autocomplete=\"off\" id=\"input-text\" oninput=\"setCustomValidity('')\"><br>\n    <div class=\"text-center\"><br>\n    <button type=\"submit\" class=\"btn btn-primary mt-3 align-center\">Submit<\/button>\n     <\/div>\n    <input type=\"hidden\" name=\"trp-form-language\" value=\"de\"\/><\/form>\n  \n    <div class=\"d-none\" id=\"result\">\n      <p id=\"qr-code-for\" class=\"mr-auto\"><\/p>\n      <a type=\"button\" class=\"btn btn-primary\" id=\"download\">\n        Export\n      <\/a>\n    <\/div><br>\n    <img decoding=\"async\" id=\"qr-code\" src=\"\" alt=\"\" class=\"mx-auto d-block\">\n    <canvas id=\"img-canvas\" class=\"d-none\" width=\"150\" height=\"150\"><\/canvas>\n  <\/section>\n  \n\n\n\n<style>\n\nbody{text-align:center}\n\n\/* Button Styles *\/\nbutton, .button, #button, btn, .btn, #btn, downloadlink,  #download-button, #button-copy, button-copy, copy-button, #copy-button, #copy, copy, #download-html-button{\n  display: inline-block;\n  padding: 12px 24px;\n  font-size: 16px;\n  font-weight: 500;\n  color: #ffffff;\n  text-transform: uppercase;\n  text-decoration: none;\n  text-align: center;\n  border-radius: 30px;\n  background-image: linear-gradient(to right, #0088FF, #0088FF);\n  border: 3px solid #fff;\n  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);\n  transition: all 0.3s ease;\n  margin:0 auto;\n  margin-top:11px;\n  margin-bottom:11px;\n  text-shadow: 2px 2px 4px #333;\n}\n\n\/* Button Hover State *\/\nbutton:hover {\n  background-image: linear-gradient(to right, #FF1493, #FF1493);\n  border: 3px solid #ffffff;\n  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);\n}\n\n -input{\n  width: 25%;\n  height: 100%;\n  padding: 5px;\n  font-size: 16px;\n  font-family: Arial, sans-serif;\n  border: 2px solid;\n  border-image: linear-gradient(to right, #06c, #f90) 1;\n  border-radius: 5px;\n  box-shadow: 2px 2px 5px #ccc;\n  transition: all 0.2s ease-in-out;\n  margin-top:10px;margin-bottom:10px;\n  margin:0 auto;\n}\n\ninput[type=file]::file-selector-button {\n  display: inline-block;\n  padding: 1.0rem 1rem;\n  font-size: 1.125rem;\n  font-weight: bold;\n  color: #fff;\n  text-align: center;\n  text-transform: uppercase;\n  background-color: #0088FF;\n  border-radius: 0rem;\n  cursor: pointer;\n  transition: background-color 0.2s ease-in-out;\n  border: 0px solid #fff;\n  width:100%;\n  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);\n}\n\ninput[type=file]::file-selector-button:hover {\n  background-color: #5b52d6;\n}\n\ninput[type=file]::file-selector-button:active {\n  background-color: #4a41ad;\n}\n\ninput[type=file]::file-selector-button:focus {\n  outline: none;\n  box-shadow: 0 0 0 2px #fff, 0 0 0 4px #6c63ff;\n}\n\ninput[type=file]::file-selector-button::before {\n  content: \"Select File\";\n}\n\ninput[type=file]::file-selector-button::before,\ninput[type=file]::file-selector-button::before {\n  content: \"\\2193 Browse Files\";\n}\n\n\ninput[type=\"file\"] {\n  display: yes;\n}\ninput[type=\"text\"], input[type=\"url\"] {\n  width: 80%;\n  height: 50px;\n  padding: 5px;\n  font-size: 16px;\n  font-family: Arial, sans-serif;\n  border: 2px solid;\n  border-image: linear-gradient(to right, #06c, #f90) 1;\n  border-radius: 5px;\n  box-shadow: 2px 2px 5px #ccc;\n  transition: all 0.2s ease-in-out;\n  margin-top:10px;margin-bottom:10px;\n  margin:0 auto;\n}\ninput[type=\"number\"], select {\n  width: 30%;\n  height: 50px;\n  padding: 5px;\n  font-size: 16px;\n  font-family: Arial, sans-serif;\n  border: 2px solid;\n  border-image: linear-gradient(to right, #06c, #f90) 1;\n  border-radius: 5px;\n  box-shadow: 2px 2px 5px #ccc;\n  transition: all 0.2s ease-in-out;\n  margin-top:10px;margin-bottom:10px;\n  margin:0 auto;\n}\n\ntextarea {\n  width: 100%;\n  height: 170px;\n  padding: 10px;\n  font-size: 16px;\n  font-family: Arial, sans-serif;\n  border: 2px solid;\n  border-image: linear-gradient(to right, #06c, #f90) 1;\n  border-radius: 5px;\n  box-shadow: 2px 2px 5px #ccc, -2px -2px 5px #ccc;  \n  transition: all 0.2s ease-in-out;\n  margin-top:10px;margin-bottom:10px;\n  margin:0 auto;\n}\n\ntextarea:hover {\n  border-color: #06c;\n  box-shadow: 2px 2px 10px #06c;\n}\n\ntextarea:focus {\n  outline: none;\n  border-color: #06c;\n  box-shadow: 2px 2px 10px #06c;\n}\n\ncanvas, #image-container, .img, #img, image, .image, #image, #convertedImage, #preview-image {\n  border: 5px solid;\n  border-image: linear-gradient(to bottom, #007bff, #00f260);\n  border-image-slice: 1;\n  box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.3);\n  margin-top:10px;margin-bottom:10px;\n  width:90%;\n  margin:0 auto;padding:15px;\n\n}\n\n#image-container img {\n  max-width: 100%;\n  }\n\ncode, pre, .result, output, #output, .output {\n  font-family: Monaco, Consolas, \"Andale Mono\", \"DejaVu Sans Mono\", monospace;\n  font-size: 0.9em;\n  color: #333;\n  background-color: #f9f9f9;\n  padding: 0.2em 0.4em;\n  border: 2px solid;\n  border-image: linear-gradient(to right, #06c, #f90) 1;\n  border-radius: 5px;\n  box-shadow: 2px 2px 5px #ccc, -2px -2px 5px #ccc;  \n  transition: all 0.2s ease-in-out;\n  white-space: pre-wrap;\n  margin-top:10px;margin-bottom:10px;\n  margin:0 auto;\n  width:100%;\n  padding:15px;\n\n}\n\n\ninput[type=\"range\"] {\n  -webkit-appearance: none;\n  width: 80%;\n  background: transparent;\n  height: 10px;\n  border-radius: 5px;\n  outline: none;\n  padding: 0;\n  margin: 0;\n  box-shadow: inset 0 0 5px #333;\n  transition: box-shadow 0.2s;\n  margin-top:10px;\n\n}\n\ninput[type=\"range\"]:focus {\n  box-shadow: inset 0 0 5px #888;\n}\n\ninput[type=\"range\"]::-webkit-slider-thumb {\n  -webkit-appearance: none;\n  height: 20px;\n  width: 20px;\n  border-radius: 50%;\n  background: #4CAF50;\n  cursor: pointer;\n  transition: background 0.2s;\n  margin-top:-5px;\n}\n\ninput[type=\"range\"]::-webkit-slider-thumb:hover {\n  background: #3e8e41;\n}\n\ninput[type=\"range\"]::-webkit-slider-runnable-track {\n  height: 10px;\n  background: #ddd;\n  border-radius: 5px;\n  border: none;\n}\ninput[type=\"checkbox\"] {\n  appearance: none;\n  width: 45px;\n  height: 25px;\n  background: transparent;\n  border: 2px solid;\n  border-image: linear-gradient(to right, #06c, #f90) 1;  border-radius: 5px;\n  margin: 10px;\n  outline: none;\n  cursor: pointer;\n  position: relative;\n}\n\ninput[type=\"checkbox\"]:before {\n  content: \"\";\n  width: 15px;\n  height: 15px;\n  background: #D209A4;\n  border-radius: 100px;\n  position: absolute;\n  left: 2px;\n  \n  top: 3px;\n  transition: all 0.2s;\n}\n\ninput[type=\"checkbox\"]:checked:before {\n  transform: translateX(20px);\n}\n\ninput[type=\"checkbox\"]:focus {\n  border: 2px solid #888;\n}\ninput[type=\"radio\"] {\n  appearance: none;\n  width: 20px;\n  height: 20px;\n  border-radius: 50%;\n  border: 2px solid #333;\n  margin-right: 10px;\n  outline: none;\n  position: relative;\n  cursor: pointer;\n}\n\ninput[type=\"radio\"]:after {\n  content: \"\";\n  width: 10px;\n  height: 10px;\n  border-radius: 50%;\n  background: #333;\n  position: absolute;\n  top: 5px;\n  left: 5px;\n  opacity: 0;\n  transition: all 0.2s;\n}\n\ninput[type=\"radio\"]:checked:after {\n  opacity: 1;\n}\n\ninput[type=\"radio\"]:focus {\n  border-color: #888;\n}\n\n\ninput[type=\"radio\"] {\n  display: inline-block;\n  margin-right: 10px;\n  vertical-align: middle;\n}\n\nlabel {\n  display: block; \/* makes each label appear on a new line *\/\n  font-size: 16px;\n  font-weight: bold;\n  margin-bottom: 5px; \/* adds a small gap below each label *\/\n  color:#55555e;\n  margin-top:11px;margin-bottom:11px;\n}\n\ninput[type=\"color\"]{width:17.2%;}\n.form-control {\n    display: block;\n    margin:0 auto;\n    width: 70%;\n    padding: 0.375rem 0.75rem;\n    font-size: 1rem;\n    font-weight: 400;\n    line-height: 1.5;\n    color: #212529;\n    background-color: #fff;\n    background-clip: padding-box;\n    border: 1px solid #ced4da;\n    -webkit-appearance: none;\n    -moz-appearance: none;\n    appearance: none;\n    border-radius: 0.25rem;\n    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;\n}\nsection{\n         margin-top:60px;\n        width: 100%;\n        max-width: 970px;\n        background-color: #fff;\n        border: 1px solid #ddd;\n        padding: 25px;\n      }\n<\/style>\n\n\n<script>\nconst textEl = document.getElementById(\"input-text\");\nconst formEl = document.getElementById('form');\nconst qrCodeEl = document.getElementById('qr-code');\nconst qrCodeForEl = document.getElementById('qr-code-for');\nconst resultEl = document.getElementById('result');\nconst downloadBtn = document.getElementById('download');\nconst canvasEl = document.getElementById(\"img-canvas\");\nconst ctx = canvasEl.getContext(\"2d\");\nconst MIME_TYPE = \"image\/png\";\n\nconst URL = \"https:\/\/quickchart.io\/qr?text=\";\n\nwindow.onload = function() {\n  textEl.focus();\n};\n\nform.addEventListener('submit', generateQRCode);\n\nfunction generateQRCode(e) {\n  \/\/reset qr code\n  qrCodeEl.src = '';\n  qrCodeEl.alt = '';\n  qrCodeForEl.innerHTML = '';\n  resultEl.classList.remove('d-flex');\n  resultEl.classList.add('d-none');\n  \/\/prevent default\n  e.preventDefault();\n  if(textEl.value == \"\" || textEl.value == null) return;\n  let reg = new RegExp(\/([\\u2700-\\u27BF]|[\\uE000-\\uF8FF]|\\uD83C[\\uDC00-\\uDFFF]|\\uD83D[\\uDC00-\\uDFFF]|[\\u2011-\\u26FF]|\\uD83E[\\uDD10-\\uDDFF])\/g);\n  let res = reg.test(textEl.value);\n  if(res == true) {\n    textEl.setCustomValidity(\"Invalid field value.\");\n    textEl.reportValidity();\n    return;\n  }\n  let input = encodeURI(textEl.value);\n  \/\/create qr code\n  let qrcodeUrl = URL+input;\n  \/\/set qr code and heading\n  qrCodeForEl.innerHTML = `QR Code Generated for: <strong>${textEl.value}<\/strong>`;\n  resultEl.classList.remove('d-none');\n  resultEl.classList.add('d-flex');\n  downloadBtn.addEventListener(\"click\", download);\n  qrCodeEl.src = qrcodeUrl;\n  qrCodeEl.alt = textEl.value ;\n  qrCodeEl.setAttribute('crossorigin', 'anonymous')\n  \/\/clear input\n  textEl.value = null;\n  \/\/focus input\n  textEl.focus();\n}\n\nfunction download() {\n  ctx.drawImage(qrCodeEl, 0, 0);\n  var imgBase64 = canvasEl.toDataURL();\n  var imgURL = \"data:image\/\" + imgBase64;\n  var dlLink = document.createElement('a');\n  dlLink.download = 'qrdownload.png';\n  dlLink.href = imgURL;\n  dlLink.dataset.downloadurl = [MIME_TYPE, dlLink.download, dlLink.href].join(':');\n  document.body.appendChild(dlLink);\n  dlLink.click();\n  document.body.removeChild(dlLink);\n}\n\n\n<\/script><\/section>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>QR Code Generator Enter some text below to generate QR code: Submit Export<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","footnotes":""},"class_list":["post-1788","page","type-page","status-publish"],"taxonomy_info":[],"featured_image_src_large":false,"author_info":{"display_name":"Billions Ideas","author_link":"https:\/\/tools.billionsideas.com\/de\/author\/loginbillionsideas-com\/"},"comment_info":0,"jetpack-related-posts":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/tools.billionsideas.com\/de\/wp-json\/wp\/v2\/pages\/1788","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tools.billionsideas.com\/de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/tools.billionsideas.com\/de\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/tools.billionsideas.com\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tools.billionsideas.com\/de\/wp-json\/wp\/v2\/comments?post=1788"}],"version-history":[{"count":0,"href":"https:\/\/tools.billionsideas.com\/de\/wp-json\/wp\/v2\/pages\/1788\/revisions"}],"wp:attachment":[{"href":"https:\/\/tools.billionsideas.com\/de\/wp-json\/wp\/v2\/media?parent=1788"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}