{"id":5140,"date":"2024-10-04T22:00:40","date_gmt":"2024-10-05T01:00:40","guid":{"rendered":"https:\/\/matematicasaomiguel.com.br\/?page_id=5140"},"modified":"2025-02-10T19:07:32","modified_gmt":"2025-02-10T22:07:32","slug":"leitor-de-gabarito","status":"publish","type":"page","link":"https:\/\/matematicasaomiguel.com.br\/?page_id=5140","title":{"rendered":"Gerador de Gabarito"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"5140\" class=\"elementor elementor-5140\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4e6ed43 e-flex e-con-boxed e-con e-parent\" data-id=\"4e6ed43\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-41969ac elementor-widget elementor-widget-html\" data-id=\"41969ac\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\r\n<!DOCTYPE html>\r\n<html lang=\"pt-BR\">\r\n<head>\r\n    <meta charset=\"UTF-8\">\r\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n    <title>Gerador de Folha de Respostas<\/title>\r\n    <style>\r\n        body {\r\n            font-family: Arial, sans-serif;\r\n            margin: 10px;\r\n            text-align: center;\r\n        }\r\n        .container {\r\n            max-width: 800px;\r\n            margin: 10px;\r\n            text-align: left;\r\n        }\r\n        .form-group {\r\n            margin: 10px 0;\r\n        }\r\n        .form-group label {\r\n            display: block;\r\n            margin-bottom: 5px;\r\n        }\r\n        .form-group input, .form-group select {\r\n            width: 100%;\r\n            padding: 5px;\r\n            font-size: 16px;\r\n        }\r\n        canvas {\r\n            border: 1px solid #000000;\r\n            margin-top: 20px;\r\n        }\r\n        button {\r\n            margin: 10px 5px;\r\n            padding: 10px 20px;\r\n            font-size: 16px;\r\n            cursor: pointer;\r\n        }\r\n    <\/style>\r\n<\/head>\r\n<body>\r\n    <div class=\"container\">\r\n        <h1>Gerador de Folha de Respostas<\/h1>\r\n        <div class=\"form-group\">\r\n            <label for=\"school-name\">Nome da escola:<\/label>\r\n            <input type=\"text\" id=\"school-name\" placeholder=\"Digite o nome da escola\">\r\n        <\/div>\r\n        <div class=\"form-group\">\r\n            <label for=\"student-name\">Nome do(a) aluno(a):<\/label>\r\n            <input type=\"text\" id=\"student-name\" placeholder=\"\">\r\n        <\/div>\r\n        <div class=\"form-group\">\r\n            <label for=\"disciplina-name\">Disciplina:<\/label>\r\n            <input type=\"text\" id=\"disciplina-name\" placeholder=\"\">\r\n        <\/div>\r\n        <div class=\"form-group\">\r\n            <label for=\"school-logo\">\u00cdcone da escola:<\/label>\r\n            <input type=\"file\" id=\"school-logo\" accept=\"image\/*\">\r\n        <\/div>\r\n        <div class=\"form-group\">\r\n            <label for=\"paper-size\">Tamanho da folha:<\/label>\r\n            <select id=\"paper-size\">\r\n                <option value=\"a4\">A4<\/option>\r\n                <option value=\"oficio\">Of\u00edcio<\/option>\r\n            <\/select>\r\n        <\/div>\r\n        <div class=\"form-group\">\r\n            <label for=\"questions\">N\u00famero de quest\u00f5es (5 a 90):<\/label>\r\n            <input type=\"number\" id=\"questions\" min=\"5\" max=\"90\" value=\"10\">\r\n        <\/div>\r\n        <div class=\"form-group\">\r\n            <label for=\"bubbles\">N\u00famero de bolhas (4 ou 5):<\/label>\r\n            <select id=\"bubbles\">\r\n                <option value=\"4\">4 (A-D)<\/option>\r\n                <option value=\"5\">5 (A-E)<\/option>\r\n            <\/select>\r\n        <\/div>\r\n        <div class=\"form-group\">\r\n            <label for=\"case\">Formato das letras:<\/label>\r\n            <select id=\"case\">\r\n                <option value=\"upper\">Mai\u00fasculas<\/option>\r\n                <option value=\"lower\">Min\u00fasculas<\/option>\r\n            <\/select>\r\n        <\/div>\r\n        <div class=\"form-group\">\r\n            <label for=\"bubble-color\">Cor das bolhas:<\/label>\r\n            <select id=\"bubble-color\">\r\n                <option value=\"white\">Branco<\/option>\r\n                <option value=\"red\">Vermelho<\/option>\r\n            <\/select>\r\n        <\/div>\r\n        <button onclick=\"generateSheet()\">Gerar Folha de Respostas<\/button>\r\n        <button onclick=\"downloadSheet()\">Download<\/button>\r\n        <canvas id=\"answer-sheet\"><\/canvas>\r\n    <\/div>\r\n\r\n    <script>\r\n        let schoolLogoImage = null;\r\n\r\n        document.getElementById('school-logo').addEventListener('change', (event) => {\r\n            const file = event.target.files[0];\r\n            if (file) {\r\n                const reader = new FileReader();\r\n                reader.onload = (e) => {\r\n                    const img = new Image();\r\n                    img.src = e.target.result;\r\n                    img.onload = () => {\r\n                        schoolLogoImage = img;\r\n                    };\r\n                };\r\n                reader.readAsDataURL(file);\r\n            }\r\n        });\r\n\r\n        function generateSheet() {\r\n    const schoolName = document.getElementById('school-name').value || 'Nome da Escola';\r\n    const studentName = document.getElementById('student-name').value || '';\r\n    const disciplinaName = document.getElementById('disciplina-name').value || '';\r\n    const paperSize = document.getElementById('paper-size').value;\r\n    const questions = parseInt(document.getElementById('questions').value);\r\n    const bubbles = parseInt(document.getElementById('bubbles').value);\r\n    const caseType = document.getElementById('case').value;\r\n    const bubbleColor = document.getElementById('bubble-color').value;\r\n\r\n    const canvas = document.getElementById('answer-sheet');\r\n    const ctx = canvas.getContext('2d');\r\n\r\n    const dimensions = paperSize === 'a4' ? { width: 595, height: 842 } : { width: 612, height: 1008 };\r\n    canvas.width = dimensions.width;\r\n    canvas.height = dimensions.height;\r\n\t\r\n\t\/\/ Limpar e preencher o fundo com branco\r\n    ctx.clearRect(0, 0, canvas.width, canvas.height);\r\n    ctx.fillStyle = '#FFFFFF'; \/\/ Fundo branco\r\n    ctx.fillRect(0, 0, canvas.width, canvas.height);\r\n\r\n            ctx.fillStyle = '#000';\r\n            ctx.font = '12px Arial';\r\n\r\n            ctx.textAlign = 'left';\r\n            ctx.fillText(`Escola: ${schoolName}`, 60, 50);\r\n            ctx.fillText(`Aluno(a): ${studentName}`, 60, 70);\r\n            ctx.fillText(`Disciplina: ${disciplinaName}`, 60, 90);\r\n\r\n            if (schoolLogoImage) {\r\n                ctx.drawImage(schoolLogoImage, dimensions.width - 120, 50, 60, 60);\r\n            }\r\n\r\n            ctx.textAlign = 'center';\r\n            ctx.fillText('Folha de Respostas', dimensions.width \/ 2, 110);\r\n\r\n            \/\/ Desenhar quadrados de refer\u00eancia\r\n            const squareSize = 12;\r\n            ctx.fillRect(60, 100, squareSize, squareSize); \/\/ Quadrado esquerdo\r\n            ctx.fillRect(dimensions.width - 50, 100, squareSize, squareSize); \/\/ Quadrado direito\r\n            ctx.fillRect(60, 820, squareSize, squareSize); \/\/ Quadrado esquerdo abaixo\r\n            ctx.fillRect(dimensions.width - 50, 820, squareSize, squareSize); \/\/ Quadrado direito abaixo\r\n\r\n            \/\/ Configura\u00e7\u00e3o din\u00e2mica para bolhas\r\n            const bubbleSize = questions > 30 ? 16 : 18;\r\n            const spacingY = bubbleSize + 8;\r\n            const spacingX = bubbleSize + 6;\r\n\r\n            const columns = questions <= 10 ? 1 : (questions <= 30 ? 2 : 3);\r\n            const maxRows = Math.ceil(questions \/ columns);\r\n            const columnSpacing = dimensions.width \/ (columns + 1);\r\n            const startX = Array.from({ length: columns }, (_, i) => columnSpacing * (i + 1));\r\n\r\n            let y = 130;\r\n            for (let i = 0; i < questions; i++) {\r\n                const columnIndex = Math.floor(i \/ maxRows);\r\n                const columnX = startX[columnIndex];\r\n                const questionY = y + (i % maxRows) * spacingY;\r\n\r\n                ctx.textAlign = 'left';\r\n                ctx.fillText(`Q${i + 1}`, columnX - 40, questionY + 5);\r\n\r\n                for (let j = 0; j < bubbles; j++) {\r\n                    const x = columnX + j * spacingX;\r\n                    ctx.beginPath();\r\n                    ctx.arc(x, questionY, bubbleSize \/ 2, 0, 2 * Math.PI);\r\n                    ctx.fillStyle = bubbleColor === 'red' ? '#FF0000' : '#FFFFFF';\r\n                    ctx.fill();\r\n                    ctx.strokeStyle = '#000000';\r\n                    ctx.stroke();\r\n\r\n                    const letter = String.fromCharCode(65 + j);\r\n                    ctx.fillStyle = '#000000';\r\n                    ctx.font = '9px Arial';\r\n                    ctx.fillText(caseType === 'lower' ? letter.toLowerCase() : letter, x - 4, questionY + 4);\r\n                }\r\n            }\r\n        }\r\n\r\n        function downloadSheet() {\r\n            const canvas = document.getElementById('answer-sheet');\r\n            const link = document.createElement('a');\r\n            link.download = 'folha_de_respostas.jpg';\r\n            link.href = canvas.toDataURL();\r\n            link.click();\r\n        }\r\n    <\/script>\r\n<\/body>\r\n<\/html>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Gerador de Folha de Respostas Gerador de Folha de Respostas Nome da escola: Nome do(a) aluno(a): Disciplina: \u00cdcone da escola: [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-5140","page","type-page","status-publish","hentry"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/matematicasaomiguel.com.br\/index.php?rest_route=\/wp\/v2\/pages\/5140","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/matematicasaomiguel.com.br\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/matematicasaomiguel.com.br\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/matematicasaomiguel.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/matematicasaomiguel.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5140"}],"version-history":[{"count":47,"href":"https:\/\/matematicasaomiguel.com.br\/index.php?rest_route=\/wp\/v2\/pages\/5140\/revisions"}],"predecessor-version":[{"id":5424,"href":"https:\/\/matematicasaomiguel.com.br\/index.php?rest_route=\/wp\/v2\/pages\/5140\/revisions\/5424"}],"wp:attachment":[{"href":"https:\/\/matematicasaomiguel.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5140"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}