{"id":278466,"date":"2024-12-18T10:49:10","date_gmt":"2024-12-18T05:49:10","guid":{"rendered":"https:\/\/www.abl.com\/?page_id=278466"},"modified":"2024-12-18T10:50:23","modified_gmt":"2024-12-18T05:50:23","slug":"qr-code-generator","status":"publish","type":"page","link":"https:\/\/www.abl.com\/ur\/services\/other-services\/qr-code-generator\/","title":{"rendered":"\u06a9\u06cc\u0648 \u0622\u0631 \u06a9\u0648\u0688 \u062c\u0646\u0631\u06cc\u0679\u0631"},"content":{"rendered":"         <!--Home-Finance-->\n      <div id=\"home-finance\" class=\"section-pad\">\n         <div class=\"col-12\">\n            <nav class=\"d-flex justify-content-center pt-2 pb-2 home-finance-bg w-100\">\n               <div class=\"nav nav-tab home-finance-tab-pane\" id=\"nav-tab\" role=\"tablist\">\n                                       <button class=\"nav-link active\" id=\"tab-6762625715a46\" data-bs-toggle=\"tab\" data-bs-target=\"#tabs-6762625715a46\" type=\"button\" role=\"tab\" aria-controls=\"6762625715a46\" aria-selected=\"true\">\u06a9\u06cc\u0648 \u0622\u0631 \u06a9\u0648\u0688 \u062c\u0646\u0631\u06cc\u0679\u0631 <\/button>\n                                 <\/div>\n            <\/nav>\n            <!--\/Tab-Menu-->\n         <\/div>\n         <!--\/Col-->\n         <div class=\"tab-content pt-xxl-4 pt-xl-4 pt-lg-4 pt-md-4 pt-sm-3 pt-3\" id=\"nav-tabContent\">\n                           <div class=\"tab-pane fade show active\" id=\"tabs-6762625715a46\" role=\"tabpanel\" aria-labelledby=\"tab-6762625715a46\">\n                  <div class=\"container\">\n                     <p>\u06a9\u06cc\u0648 \u0627\u0653\u0631 \u06a9\u0648\u0688 \u0628\u0646\u0627\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u067e\u0646\u0627 \u0627\u0653\u0626\u06cc \u0628\u06cc\u0646 \u0646\u0645\u0628\u0631 \u062f\u0631\u062c \u06a9\u0631\u06cc\u06ba<\/p>\n<div id=\"qr-code-generator\">\n    <form id=\"qr-form\" style=\"max-width: 600px; margin: 0;\">\n        <label for=\"account-type\" style=\"font-weight: bold;\">Select Account Type:<\/label>\n        <div style=\"margin: 10px 0;\">\n            <input type=\"checkbox\" id=\"personal\" name=\"account-type\" value=\"personal\" onclick=\"toggleCheckbox(this)\" \/>\n            <label for=\"personal\" style=\"margin-right: 20px;\">Personal Use<\/label>\n            <input type=\"checkbox\" id=\"merchant\" name=\"account-type\" value=\"merchant\" onclick=\"toggleCheckbox(this)\" \/>\n            <label for=\"merchant\">Business Use<\/label>\n        <\/div>\n\n        <div id=\"merchant-name-field\" style=\"display: none; margin-top: 10px;\">\n            <input type=\"text\" id=\"merchant-name\" name=\"merchant-name\" maxlength=\"50\" placeholder=\"Merchant Name\" \n                style=\"width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 5px; box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1);\" \/>\n        <\/div>\n\n        <div id=\"iban-field\" style=\"display: none; margin-top: 10px;\">\n            <input type=\"text\" id=\"iban\" name=\"iban\" pattern=\"[A-Za-z0-9]{24}\" title=\"IBAN must be exactly 24 alphanumeric characters.\" \n                required maxlength=\"24\" placeholder=\"Enter IBAN\" \n                style=\"width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 5px; box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1);\" \/>\n        <\/div>\n\n        <button type=\"submit\" style=\"margin-top: 20px; padding: 10px 20px; background-color: #f36f21; color: white; border: none; border-radius: 5px; cursor: pointer; box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.2);\">\n            Generate QR Code\n        <\/button>\n    <\/form>\n\n    <div id=\"qr-code-container\" style=\"margin-top: 20px; display: none;\">\n        <canvas id=\"final-qr-canvas\" style=\"max-width: 100%; border: 1px solid #ccc; border-radius: 5px;\"><\/canvas>\n    <\/div>\n\n    <div>\n        <button id=\"download-qr\" style=\"margin-top: 10px; display: none; padding: 10px 20px; background-color: #f36f21; color: white; border: none; border-radius: 5px; cursor: pointer; box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.2);\">\n            Download QR Code\n        <\/button>\n    <\/div>\n<\/div>\n<script>\n    function toggleCheckbox(clickedCheckbox) {\n        document.querySelectorAll('input[name=\"account-type\"]')\n            .forEach(checkbox => {\n                if (checkbox !== clickedCheckbox) {\n                    checkbox.checked = false;\n                }\n            });\n\n        let isMerchant = document.getElementById('merchant').checked;\n        let isPersonal = document.getElementById('personal').checked;\n\n        document.getElementById('merchant-name-field').style.display = isMerchant ? 'block' : 'none';\n        document.getElementById('iban-field').style.display = isMerchant || isPersonal ? 'block' : 'none';\n    }\n\n    window.onload = function () {\n        document.getElementById('personal').checked = false;\n        document.getElementById('merchant').checked = false;\n        document.getElementById('merchant-name-field').style.display = 'none';\n        document.getElementById('iban-field').style.display = 'none';\n        document.getElementById('merchant-name').value = '';\n        document.getElementById('iban').value = '';\n    };\n<\/script>\n\n<script>\n    jQuery(document).ready(function ($) {\n        function crc16CCITT(input) {\n            let crc = 0xFFFF;\n            const polynomial = 0x1021;\n            const bytes = new TextEncoder().encode(input);\n            for (let byte of bytes) {\n                for (let i = 0; i < 8; i++) {\n                    let bit = (byte >> (7 - i)) & 1;\n                    let c15 = (crc >> 15) & 1;\n                    crc <<= 1;\n                    if (c15 ^ bit) crc ^= polynomial;\n                }\n            }\n            crc &= 0xFFFF;\n            return crc.toString(16).toUpperCase().padStart(4, '0');\n        }\n\n        $('input[name=\"account-type\"]').on('change', function () {\n            if ($('#merchant').is(':checked')) {\n                $('#merchant-name-field').show();\n            } else {\n                $('#merchant-name-field').hide();\n            }\n        });\n\n        $('#qr-form').on('submit', function (event) {\n            event.preventDefault();\n\n            let iban = $('#iban').val();\n            let isMerchant = $('#merchant').is(':checked');\n            let merchantName = isMerchant ? $('#merchant-name').val().trim() : '';\n\n            if (!iban) {\n                alert(\"Please enter a valid IBAN.\");\n                return;\n            }\n\n            let qrContent = `${qrConfig.prefix}${iban}${qrConfig.postfix}`;\n            let crcValue = crc16CCITT(qrContent);\n            qrContent += crcValue;\n\n            if (isMerchant) {\n                generateMerchantQRCode(qrContent, merchantName);\n            } else {\n                generatePersonalQRCode(qrContent);\n            }\n        });\n\n        function generatePersonalQRCode(qrText) {\n            let tempDiv = document.createElement(\"div\");\n            let qrCode = new QRCode(tempDiv, {\n                text: qrText,\n                width: 250,\n                height: 250\n            });\n\n            setTimeout(function () {\n                let qrCanvas = $(tempDiv).find('canvas')[0];\n                if (!qrCanvas) {\n                    alert(\"QR code generation failed.\");\n                    return;\n                }\n\n                let finalCanvas = document.getElementById(\"final-qr-canvas\");\n                let ctx = finalCanvas.getContext(\"2d\");\n\n                finalCanvas.width = 250;\n                finalCanvas.height = 250;\n                ctx.clearRect(0, 0, finalCanvas.width, finalCanvas.height);\n                ctx.drawImage(qrCanvas, 0, 0);\n\n                $('#qr-code-container').show();\n                $('#download-qr').show();\n\n                $('#download-qr').off('click').on('click', function () {\n                    let qrImage = finalCanvas.toDataURL(\"image\/png\");\n                    let downloadLink = document.createElement(\"a\");\n                    downloadLink.href = qrImage;\n                    downloadLink.download = \"Personal_QR_Code.png\";\n                    downloadLink.click();\n                });\n            }, 500);\n        }\n\n        function generateMerchantQRCode(qrText, merchantName) {\n            let tempDiv = document.createElement(\"div\");\n            let qrCode = new QRCode(tempDiv, {\n                text: qrText,\n                width: 230,\n                height: 230\n            });\n\n            setTimeout(function () {\n                let qrCanvas = $(tempDiv).find('canvas')[0];\n                if (!qrCanvas) {\n                    alert(\"QR code generation failed.\");\n                    return;\n                }\n\n                let canvas = document.getElementById(\"final-qr-canvas\");\n                let ctx = canvas.getContext(\"2d\");\n\n                let frontImage = new Image();\n                let backImage = new Image();\n\n                frontImage.src = qrConfig.templateImageUrl;\n                backImage.src = qrConfig.backImageUrl;\n\n                frontImage.onload = function () {\n                    backImage.onload = function () {\n                        let scaleFactor = 650 \/ frontImage.height;\n                        let imageWidth = frontImage.width * scaleFactor;\n                        let imageHeight = frontImage.height * scaleFactor;\n                        let spacing = 20;\n\n                        canvas.width = imageWidth * 2 + spacing;\n                        canvas.height = imageHeight;\n\n                        ctx.clearRect(0, 0, canvas.width, canvas.height);\n                        ctx.scale(scaleFactor, scaleFactor);\n\n                        ctx.drawImage(frontImage, 0, 0, frontImage.width, frontImage.height);\n                        ctx.drawImage(backImage, frontImage.width + spacing \/ scaleFactor, 0, backImage.width, backImage.height);\n\n                        let qrX = 550;\n                        let qrY = 1070;\n                        let qrSize = 650;\n                        ctx.drawImage(qrCanvas, qrX, qrY, qrSize, qrSize);\n\n                        ctx.font = \"bold 140px Arial\";\n                        ctx.fillStyle = \"#f36f21\";\n                        ctx.textAlign = \"center\";\n                        ctx.fillText(merchantName, qrX + qrSize \/ 2, qrY - 430);\n\n                        $('#qr-code-container').show();\n                        $('#download-qr').show();\n\n                        $('#download-qr').off('click').on('click', function () {\n                            let finalImageData = canvas.toDataURL(\"image\/png\");\n                            const { jsPDF } = window.jspdf;\n                            const pdf = new jsPDF(\"landscape\", \"pt\", \"a4\");\n\n                            let pdfWidth = 841.89;\n                            let pdfHeight = (canvas.height * pdfWidth) \/ canvas.width;\n\n                            pdf.addImage(finalImageData, 'PNG', 0, 0, pdfWidth, pdfHeight);\n                            pdf.save('Merchant_QR_Code_Side_By_Side.pdf');\n                        });\n                    };\n                };\n            }, 500);\n        }\n    });\n<\/script>\n    \n                  <\/div>\n                  <!--\/Container-->\n               <\/div>\n               <!--\/Overview-->\n                     <\/div>\n         <!--\/Tab-Content-->\n      <\/div>\n      <!--\/Home-Finance-->\n   \n","protected":false},"excerpt":{"rendered":"","protected":false},"author":14,"featured_media":278464,"parent":262080,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"inline_featured_image":false,"_lmt_disableupdate":"no","_lmt_disable":"","footnotes":""},"page-category":[],"class_list":["post-278466","page","type-page","status-publish","has-post-thumbnail","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.8 (Yoast SEO v21.8) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u06a9\u06cc\u0648 \u0622\u0631 \u06a9\u0648\u0688 \u062c\u0646\u0631\u06cc\u0679\u0631 - Allied Bank<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.abl.com\/ur\/services\/other-services\/qr-code-generator\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u06a9\u06cc\u0648 \u0622\u0631 \u06a9\u0648\u0688 \u062c\u0646\u0631\u06cc\u0679\u0631\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.abl.com\/ur\/services\/other-services\/qr-code-generator\/\" \/>\n<meta property=\"og:site_name\" content=\"Allied Bank\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/alliedbankpk\" \/>\n<meta property=\"article:modified_time\" content=\"2024-12-18T05:50:23+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.abl.com\/wp-content\/uploads\/2024\/12\/QR-Code-Generator.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1366\" \/>\n\t<meta property=\"og:image:height\" content=\"1000\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@ablpk\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 \u0645\u0646\u0679\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.abl.com\/ur\/services\/other-services\/qr-code-generator\/\",\"url\":\"https:\/\/www.abl.com\/ur\/services\/other-services\/qr-code-generator\/\",\"name\":\"\u06a9\u06cc\u0648 \u0622\u0631 \u06a9\u0648\u0688 \u062c\u0646\u0631\u06cc\u0679\u0631 - Allied Bank\",\"isPartOf\":{\"@id\":\"https:\/\/www.abl.com\/ur\/#website\"},\"datePublished\":\"2024-12-18T05:49:10+00:00\",\"dateModified\":\"2024-12-18T05:50:23+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.abl.com\/ur\/services\/other-services\/qr-code-generator\/#breadcrumb\"},\"inLanguage\":\"ur\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.abl.com\/ur\/services\/other-services\/qr-code-generator\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.abl.com\/ur\/services\/other-services\/qr-code-generator\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.abl.com\/ur\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u0633\u0631\u0648\u0633\u0632\",\"item\":\"https:\/\/www.abl.com\/ur\/services\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"\u062f\u06cc\u06af\u0631 \u062e\u062f\u0645\u0627\u062a\",\"item\":\"https:\/\/www.abl.com\/ur\/services\/other-services\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"\u06a9\u06cc\u0648 \u0622\u0631 \u06a9\u0648\u0688 \u062c\u0646\u0631\u06cc\u0679\u0631\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.abl.com\/ur\/#website\",\"url\":\"https:\/\/www.abl.com\/ur\/\",\"name\":\"Allied Bank\",\"description\":\"Aap Key Dil Mein Hamara Account\",\"publisher\":{\"@id\":\"https:\/\/www.abl.com\/ur\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.abl.com\/ur\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"ur\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.abl.com\/ur\/#organization\",\"name\":\"Allied Bank\",\"url\":\"https:\/\/www.abl.com\/ur\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ur\",\"@id\":\"https:\/\/www.abl.com\/ur\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.abl.com\/wp-content\/uploads\/2023\/09\/Allied-Bank-Logo1.png\",\"contentUrl\":\"https:\/\/www.abl.com\/wp-content\/uploads\/2023\/09\/Allied-Bank-Logo1.png\",\"width\":791,\"height\":594,\"caption\":\"Allied Bank\"},\"image\":{\"@id\":\"https:\/\/www.abl.com\/ur\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/alliedbankpk\",\"https:\/\/twitter.com\/ablpk\"]}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u06a9\u06cc\u0648 \u0622\u0631 \u06a9\u0648\u0688 \u062c\u0646\u0631\u06cc\u0679\u0631 - Allied Bank","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.abl.com\/ur\/services\/other-services\/qr-code-generator\/","og_locale":"en_US","og_type":"article","og_title":"\u06a9\u06cc\u0648 \u0622\u0631 \u06a9\u0648\u0688 \u062c\u0646\u0631\u06cc\u0679\u0631","og_url":"https:\/\/www.abl.com\/ur\/services\/other-services\/qr-code-generator\/","og_site_name":"Allied Bank","article_publisher":"https:\/\/www.facebook.com\/alliedbankpk","article_modified_time":"2024-12-18T05:50:23+00:00","og_image":[{"width":1366,"height":1000,"url":"https:\/\/www.abl.com\/wp-content\/uploads\/2024\/12\/QR-Code-Generator.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_site":"@ablpk","twitter_misc":{"Est. reading time":"1 \u0645\u0646\u0679"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.abl.com\/ur\/services\/other-services\/qr-code-generator\/","url":"https:\/\/www.abl.com\/ur\/services\/other-services\/qr-code-generator\/","name":"\u06a9\u06cc\u0648 \u0622\u0631 \u06a9\u0648\u0688 \u062c\u0646\u0631\u06cc\u0679\u0631 - Allied Bank","isPartOf":{"@id":"https:\/\/www.abl.com\/ur\/#website"},"datePublished":"2024-12-18T05:49:10+00:00","dateModified":"2024-12-18T05:50:23+00:00","breadcrumb":{"@id":"https:\/\/www.abl.com\/ur\/services\/other-services\/qr-code-generator\/#breadcrumb"},"inLanguage":"ur","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.abl.com\/ur\/services\/other-services\/qr-code-generator\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.abl.com\/ur\/services\/other-services\/qr-code-generator\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.abl.com\/ur\/"},{"@type":"ListItem","position":2,"name":"\u0633\u0631\u0648\u0633\u0632","item":"https:\/\/www.abl.com\/ur\/services\/"},{"@type":"ListItem","position":3,"name":"\u062f\u06cc\u06af\u0631 \u062e\u062f\u0645\u0627\u062a","item":"https:\/\/www.abl.com\/ur\/services\/other-services\/"},{"@type":"ListItem","position":4,"name":"\u06a9\u06cc\u0648 \u0622\u0631 \u06a9\u0648\u0688 \u062c\u0646\u0631\u06cc\u0679\u0631"}]},{"@type":"WebSite","@id":"https:\/\/www.abl.com\/ur\/#website","url":"https:\/\/www.abl.com\/ur\/","name":"Allied Bank","description":"Aap Key Dil Mein Hamara Account","publisher":{"@id":"https:\/\/www.abl.com\/ur\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.abl.com\/ur\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"ur"},{"@type":"Organization","@id":"https:\/\/www.abl.com\/ur\/#organization","name":"Allied Bank","url":"https:\/\/www.abl.com\/ur\/","logo":{"@type":"ImageObject","inLanguage":"ur","@id":"https:\/\/www.abl.com\/ur\/#\/schema\/logo\/image\/","url":"https:\/\/www.abl.com\/wp-content\/uploads\/2023\/09\/Allied-Bank-Logo1.png","contentUrl":"https:\/\/www.abl.com\/wp-content\/uploads\/2023\/09\/Allied-Bank-Logo1.png","width":791,"height":594,"caption":"Allied Bank"},"image":{"@id":"https:\/\/www.abl.com\/ur\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/alliedbankpk","https:\/\/twitter.com\/ablpk"]}]}},"_links":{"self":[{"href":"https:\/\/www.abl.com\/ur\/wp-json\/wp\/v2\/pages\/278466","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.abl.com\/ur\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.abl.com\/ur\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.abl.com\/ur\/wp-json\/wp\/v2\/users\/14"}],"replies":[{"embeddable":true,"href":"https:\/\/www.abl.com\/ur\/wp-json\/wp\/v2\/comments?post=278466"}],"version-history":[{"count":1,"href":"https:\/\/www.abl.com\/ur\/wp-json\/wp\/v2\/pages\/278466\/revisions"}],"predecessor-version":[{"id":278467,"href":"https:\/\/www.abl.com\/ur\/wp-json\/wp\/v2\/pages\/278466\/revisions\/278467"}],"up":[{"embeddable":true,"href":"https:\/\/www.abl.com\/ur\/wp-json\/wp\/v2\/pages\/262080"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.abl.com\/ur\/wp-json\/wp\/v2\/media\/278464"}],"wp:attachment":[{"href":"https:\/\/www.abl.com\/ur\/wp-json\/wp\/v2\/media?parent=278466"}],"wp:term":[{"taxonomy":"page-category","embeddable":true,"href":"https:\/\/www.abl.com\/ur\/wp-json\/wp\/v2\/page-category?post=278466"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}