{"id":6466,"date":"2026-05-03T02:00:53","date_gmt":"2026-05-03T08:00:53","guid":{"rendered":"https:\/\/www.amitai.com\/es\/?page_id=6466"},"modified":"2026-05-03T09:45:40","modified_gmt":"2026-05-03T15:45:40","slug":"generador-de-hoja-de-venta-fija-test","status":"publish","type":"page","link":"https:\/\/www.amitai.com\/es\/generador-de-hoja-de-venta-fija-test\/","title":{"rendered":"Generador de Hoja de venta fija test"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"6466\" class=\"elementor elementor-6466\"> \t\t\t\t<div class=\"elementor-element elementor-element-299ea8b e-con-full e-flex e-con e-parent\" data-id=\"299ea8b\" data-element_type=\"container\" data-e-type=\"container\"> \t\t\t\t<div class=\"elementor-element elementor-element-6efac05 elementor-widget elementor-widget-html\" data-id=\"6efac05\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\"> \t\t\t\t\t<div id=\"amitai-sales-app\">   <style>     #amitai-sales-app *{box-sizing:border-box}     #amitai-sales-app{       font-family:'Montserrat',Arial,sans-serif;       background:linear-gradient(135deg,#003f7f 0%,#006fb8 45%,#eaf6fb 100%);       color:#fff;       padding:70px 5%;       border-radius:20px;     }     #amitai-sales-app .as-container{max-width:1180px;margin:0 auto}     #amitai-sales-app .as-header{max-width:780px;margin-bottom:42px}     #amitai-sales-app .as-eyebrow{       display:inline-block;margin-bottom:14px;padding:8px 14px;border-radius:999px;       background:rgba(255,255,255,.16);font-size:12px;letter-spacing:.08em;       text-transform:uppercase;font-weight:700;     }     #amitai-sales-app h1{       margin:0 0 18px;font-size:clamp(38px,6vw,70px);line-height:1;font-weight:800;     }     #amitai-sales-app .as-header p{       margin:0;max-width:680px;font-size:18px;line-height:1.6;color:rgba(255,255,255,.82);     }     #amitai-sales-app .as-grid{       display:grid;grid-template-columns:420px 1fr;gap:24px;align-items:start;     }     #amitai-sales-app .as-card{       background:rgba(255,255,255,.94);color:#1f2933;border-radius:28px;padding:28px;       box-shadow:0 24px 70px rgba(0,0,0,.16);     }     #amitai-sales-app .as-card h2{       margin:0 0 22px;color:#003f7f;font-size:24px;line-height:1.2;     }     #amitai-sales-app label{       display:block;margin-bottom:7px;font-size:12px;font-weight:800;letter-spacing:.06em;       text-transform:uppercase;color:#003f7f;     }     #amitai-sales-app input,     #amitai-sales-app select{       width:100%;margin-bottom:16px;padding:14px 15px;border:1px solid #d6dde6;       border-radius:14px;font-family:inherit;font-size:15px;color:#1f2933;background:#fff;outline:none;     }     #amitai-sales-app input:focus,     #amitai-sales-app select:focus{       border-color:#006fb8;box-shadow:0 0 0 4px rgba(0,111,184,.12);     }     #amitai-sales-app button{       width:100%;border:none;border-radius:14px;padding:15px 18px;font-family:inherit;       font-weight:800;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;       background:#003f7f;color:#fff;box-shadow:0 14px 28px rgba(0,63,127,.22);     }     #amitai-sales-app button:hover{transform:translateY(-2px)}     #amitai-sales-app #statusMsg{       min-height:20px;margin:16px 0 0;font-weight:800;font-size:13px;     }     #amitai-sales-app .as-preview-header{       display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:22px;     }     #amitai-sales-app .as-preview-header h2{margin:0}     #amitai-sales-app .as-preview-tag{       padding:8px 12px;border-radius:999px;background:#eaf3fb;color:#006fb8;       font-size:12px;font-weight:800;white-space:nowrap;     }     #amitai-sales-app .as-preview-box{       background:#003f7f;border-radius:24px;padding:26px;color:white;min-height:320px;       position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;     }     #amitai-sales-app .as-preview-box:before{       content:\"\";position:absolute;width:230px;height:230px;right:-80px;top:-80px;       border-radius:50%;background:rgba(255,255,255,.14);     }     #amitai-sales-app .as-preview-top{       position:relative;z-index:1;display:flex;justify-content:space-between;gap:20px;       border-bottom:1px solid rgba(255,255,255,.18);padding-bottom:18px;     }     #amitai-sales-app .as-preview-top strong{font-size:18px}     #amitai-sales-app .as-preview-top small{color:#eaf6fb;font-weight:800;white-space:nowrap}     #amitai-sales-app .as-preview-lines{position:relative;z-index:1}     #amitai-sales-app .as-preview-lines p{       margin:0 0 18px;color:rgba(255,255,255,.88);line-height:1.6;font-size:14px;     }     #amitai-sales-app .as-preview-lines b{color:#ffffff}     #amitai-sales-app .as-helper{       margin-top:20px;padding:22px;border-radius:22px;background:#eaf3fb;color:#1f2933;     }     #amitai-sales-app .as-helper h3{margin:0 0 8px;color:#003f7f;font-size:20px}     #amitai-sales-app .as-helper p{margin:0;color:#5d6670;line-height:1.6;font-size:14px}     @media(max-width:980px){#amitai-sales-app .as-grid{grid-template-columns:1fr}}     @media(max-width:640px){       #amitai-sales-app{padding:52px 5%}       #amitai-sales-app .as-card{padding:22px}       #amitai-sales-app .as-preview-header{align-items:flex-start;flex-direction:column}       #amitai-sales-app .as-preview-top{flex-direction:column}     }   <\/style>    <div class=\"as-container\">     <header class=\"as-header\">       <span class=\"as-eyebrow\">Brand Center<\/span>       <h1>Generador de hoja de venta<\/h1>       <p>Personaliza una sales sheet AMITAI con datos del asesor y del prospecto. Genera un PDF listo para compartir en segundos.<\/p>     <\/header>      <div class=\"as-grid\">       <section class=\"as-card\">         <h2>Datos del documento<\/h2>          <label>Soluci\u00f3n \/ documento<\/label>         <select id=\"producto\">           <option value=\"suite\">Suite AMITAI<\/option>           <option value=\"honestidad\">Infograf\u00eda Honestidad<\/option>         <\/select>          <label>Nombre del asesor<\/label>         <input id=\"asesor\" type=\"text\" placeholder=\"Ej. Juan Palao Garc\u00eda\">          <label>Puesto del asesor<\/label>         <input id=\"puestoAsesor\" type=\"text\" placeholder=\"Ej. Gerente de Marketing\">          <label>Email<\/label>         <input id=\"email\" type=\"email\" placeholder=\"Ej. marketing@amitai.com\">          <label>Tel\u00e9fono \/ WhatsApp<\/label>         <input id=\"telefono\" type=\"text\" placeholder=\"Ej. +52 55 1234 5678\">          <label>Empresa prospecto<\/label>         <input id=\"empresa\" type=\"text\" placeholder=\"Ej. Google\">          <label>Nombre del contacto<\/label>         <input id=\"contacto\" type=\"text\" placeholder=\"Ej. Se\u00f1or \u00c1lvarez\">          <label>Puesto del contacto<\/label>         <input id=\"puestoContacto\" type=\"text\" placeholder=\"Ej. Director de Recursos Humanos\">          <label>Pa\u00eds<\/label>         <input id=\"pais\" type=\"text\" placeholder=\"Ej. M\u00e9xico\">          <button id=\"generatePdfBtn\" type=\"button\">Generar PDF personalizado<\/button>         <p id=\"statusMsg\"><\/p>       <\/section>        <section class=\"as-card\">         <div class=\"as-preview-header\">           <h2>Vista previa<\/h2>           <span class=\"as-preview-tag\" id=\"prevProductoTag\">Suite AMITAI<\/span>         <\/div>          <div class=\"as-preview-box\">           <div class=\"as-preview-top\">             <strong id=\"prevProductoNombre\">Hoja de venta AMITAI<\/strong>             <small>Lista para enviar<\/small>           <\/div>            <div class=\"as-preview-lines\">             <p><b>Asesor:<\/b><br><span id=\"prevAsesor\">Nombre del asesor<\/span><br><span id=\"prevPuestoAsesor\">Puesto<\/span><\/p>             <p><b>Dirigido a:<\/b><br><span id=\"prevContacto\">Nombre del contacto<\/span><br><span id=\"prevPuestoContacto\">Puesto<\/span> | <span id=\"prevEmpresa\">Empresa<\/span><\/p>             <p><span id=\"prevEmail\">correo@amitai.com<\/span> | <span id=\"prevTelefono\">Tel\u00e9fono<\/span> | <span id=\"prevPais\">Pa\u00eds<\/span><\/p>           <\/div>         <\/div>          <div class=\"as-helper\">           <h3>Ubicaci\u00f3n del texto<\/h3>           <p id=\"productHelpText\">La personalizaci\u00f3n se imprimir\u00e1 distribuida en columnas dentro del bloque inferior de contacto.<\/p>         <\/div>       <\/section>     <\/div>   <\/div>    <script src=\"https:\/\/unpkg.com\/pdf-lib\/dist\/pdf-lib.min.js\"><\/script>    <script>\n  (function(){\n    const products = {\n      suite: {\n        name: \"Suite AMITAI\",\n        displayName: \"Hoja de venta AMITAI\",\n        pdfUrl: \"https:\/\/www.amitai.com\/es\/wp-content\/uploads\/2026\/05\/2026-SUITE-AMITAI-2.pdf\",\n        filePrefix: \"suite-amitai\",\n        pageIndex: 1,\n        yTop: 60,\n        labelSize: 11.2,\n        textSize: 10.8,\n        smallSize: 10.2,\n        shift: -35,\n        col1Base: 230,\n        col2Base: 335,\n        col3Base: 445,\n        help: \"La personalizaci\u00f3n se imprimir\u00e1 distribuida en columnas dentro del bloque inferior de contacto.\"\n      },\n      honestidad: {\n        name: \"Infograf\u00eda Honestidad\",\n        displayName: \"Infograf\u00eda AMITAI Honestidad\",\n        pdfUrl: \"https:\/\/www.amitai.com\/es\/wp-content\/uploads\/2026\/05\/Infografia-Honestidad-1-1.pdf\",\n        filePrefix: \"infografia-honestidad\",\n        pageIndex: 0,\n        yTop: 60,\n        labelSize: 11.2,\n        textSize: 10.8,\n        smallSize: 10.2,\n        shift: -35,\n        col1Base: 230,\n        col2Base: 335,\n        col3Base: 445,\n        help: \"La personalizaci\u00f3n se aplicar\u00e1 en la primera hoja de la infograf\u00eda. Si aparece desfasada, ajustamos coordenadas espec\u00edficas para este PDF.\"\n      }\n    };\n\n    const inputs = {\n      producto: document.getElementById(\"producto\"),\n      asesor: document.getElementById(\"asesor\"),\n      puestoAsesor: document.getElementById(\"puestoAsesor\"),\n      email: document.getElementById(\"email\"),\n      telefono: document.getElementById(\"telefono\"),\n      empresa: document.getElementById(\"empresa\"),\n      contacto: document.getElementById(\"contacto\"),\n      puestoContacto: document.getElementById(\"puestoContacto\"),\n      pais: document.getElementById(\"pais\")\n    };\n\n    const preview = {\n      productoTag: document.getElementById(\"prevProductoTag\"),\n      productoNombre: document.getElementById(\"prevProductoNombre\"),\n      productHelpText: document.getElementById(\"productHelpText\"),\n      asesor: document.getElementById(\"prevAsesor\"),\n      puestoAsesor: document.getElementById(\"prevPuestoAsesor\"),\n      email: document.getElementById(\"prevEmail\"),\n      telefono: document.getElementById(\"prevTelefono\"),\n      empresa: document.getElementById(\"prevEmpresa\"),\n      contacto: document.getElementById(\"prevContacto\"),\n      puestoContacto: document.getElementById(\"prevPuestoContacto\"),\n      pais: document.getElementById(\"prevPais\")\n    };\n\n    const statusMsg = document.getElementById(\"statusMsg\");\n    const button = document.getElementById(\"generatePdfBtn\");\n\n    function getSelectedProduct(){\n      return products[inputs.producto.value] || products.suite;\n    }\n\n    function updatePreview(){\n      const product = getSelectedProduct();\n\n      preview.productoTag.textContent = product.name;\n      preview.productoNombre.textContent = product.displayName;\n      preview.productHelpText.textContent = product.help;\n\n      preview.asesor.textContent = inputs.asesor.value || \"Nombre del asesor\";\n      preview.puestoAsesor.textContent = inputs.puestoAsesor.value || \"Puesto\";\n      preview.email.textContent = inputs.email.value || \"correo@amitai.com\";\n      preview.telefono.textContent = inputs.telefono.value || \"Tel\u00e9fono\";\n      preview.empresa.textContent = inputs.empresa.value || \"Empresa\";\n      preview.contacto.textContent = inputs.contacto.value || \"Nombre del contacto\";\n      preview.puestoContacto.textContent = inputs.puestoContacto.value || \"Puesto\";\n      preview.pais.textContent = inputs.pais.value || \"Pa\u00eds\";\n    }\n\n    Object.keys(inputs).forEach(key => {\n      inputs[key].addEventListener(\"input\", updatePreview);\n      inputs[key].addEventListener(\"change\", updatePreview);\n    });\n\n    button.addEventListener(\"click\", async function(){\n      const product = getSelectedProduct();\n\n      const asesor = inputs.asesor.value.trim();\n      const puestoAsesor = inputs.puestoAsesor.value.trim();\n      const email = inputs.email.value.trim();\n      const telefono = inputs.telefono.value.trim();\n      const empresa = inputs.empresa.value.trim();\n      const contacto = inputs.contacto.value.trim();\n      const puestoContacto = inputs.puestoContacto.value.trim();\n      const pais = inputs.pais.value.trim();\n\n      if(!asesor || !email || !telefono || !empresa || !contacto){\n        statusMsg.textContent = \"Completa asesor, email, tel\u00e9fono, empresa y contacto.\";\n        statusMsg.style.color = \"#9b1c1c\";\n        return;\n      }\n\n      statusMsg.textContent = \"Generando PDF...\";\n      statusMsg.style.color = \"#003f7f\";\n\n      try{\n        const existingPdfBytes = await fetch(product.pdfUrl, { mode: \"cors\" }).then(res => res.arrayBuffer());\n        const pdfDoc = await PDFLib.PDFDocument.load(existingPdfBytes);\n\n        const pages = pdfDoc.getPages();\n        const page = pages[Math.min(product.pageIndex, pages.length - 1)];\n\n        const fontRegular = await pdfDoc.embedFont(PDFLib.StandardFonts.Helvetica);\n        const fontBold = await pdfDoc.embedFont(PDFLib.StandardFonts.HelveticaBold);\n\n        const white = PDFLib.rgb(1,1,1);\n\n        const yTop = product.yTop;\n        const labelSize = product.labelSize;\n        const textSize = product.textSize;\n        const smallSize = product.smallSize;\n\n        const col1 = product.col1Base + product.shift;\n        const col2 = product.col2Base + product.shift;\n        const col3 = product.col3Base + product.shift;\n\n        page.drawText(\"Asesor\", {\n          x: col1,\n          y: yTop,\n          size: labelSize,\n          font: fontBold,\n          color: white\n        });\n\n        page.drawText(asesor, {\n          x: col1,\n          y: yTop - 15,\n          size: textSize,\n          font: fontBold,\n          color: white\n        });\n\n        if(puestoAsesor){\n          page.drawText(puestoAsesor, {\n            x: col1,\n            y: yTop - 28,\n            size: smallSize,\n            font: fontRegular,\n            color: white\n          });\n        }\n\n        page.drawText(\"Dirigido a\", {\n          x: col2,\n          y: yTop,\n          size: labelSize,\n          font: fontBold,\n          color: white\n        });\n\n        page.drawText(contacto, {\n          x: col2,\n          y: yTop - 15,\n          size: textSize,\n          font: fontBold,\n          color: white\n        });\n\n        if(puestoContacto){\n          page.drawText(puestoContacto, {\n            x: col2,\n            y: yTop - 28,\n            size: smallSize,\n            font: fontRegular,\n            color: white\n          });\n        }\n\n        page.drawText(empresa, {\n          x: col2,\n          y: yTop - 41,\n          size: smallSize,\n          font: fontRegular,\n          color: white\n        });\n\n        page.drawText(\"Contacto\", {\n          x: col3,\n          y: yTop,\n          size: labelSize,\n          font: fontBold,\n          color: white\n        });\n\n        page.drawText(email, {\n          x: col3,\n          y: yTop - 15,\n          size: smallSize,\n          font: fontRegular,\n          color: white\n        });\n\n        page.drawText(telefono, {\n          x: col3,\n          y: yTop - 28,\n          size: smallSize,\n          font: fontRegular,\n          color: white\n        });\n\n        if(pais){\n          page.drawText(pais, {\n            x: col3,\n            y: yTop - 41,\n            size: smallSize,\n            font: fontRegular,\n            color: white\n          });\n        }\n\n        const pdfBytes = await pdfDoc.save();\n\n        const blob = new Blob([pdfBytes], {type:\"application\/pdf\"});\n        const link = document.createElement(\"a\");\n        const cleanEmpresa = empresa.replace(\/[^a-z0-9]\/gi,\"-\").toLowerCase();\n\n        link.href = URL.createObjectURL(blob);\n        link.download = `${product.filePrefix}-${cleanEmpresa}.pdf`;\n\n        document.body.appendChild(link);\n        link.click();\n        document.body.removeChild(link);\n\n        statusMsg.textContent = \"PDF generado correctamente.\";\n        statusMsg.style.color = \"#006fb8\";\n\n      }catch(error){\n        console.error(error);\n        statusMsg.textContent = \"Hubo un error al generar el PDF.\";\n        statusMsg.style.color = \"#9b1c1c\";\n      }\n    });\n\n    updatePreview();\n  })();\n  <\/script> <\/div>\t\t\t\t<\/div> \t\t\t\t<\/div> \t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>Brand Center Generador de hoja de venta Personaliza una sales sheet AMITAI con datos del asesor y del prospecto. Genera<\/p>\n","protected":false},"author":5,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"_acf_changed":false,"footnotes":""},"folder":[3819],"class_list":["post-6466","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.amitai.com\/es\/wp-json\/wp\/v2\/pages\/6466","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.amitai.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.amitai.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.amitai.com\/es\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.amitai.com\/es\/wp-json\/wp\/v2\/comments?post=6466"}],"version-history":[{"count":22,"href":"https:\/\/www.amitai.com\/es\/wp-json\/wp\/v2\/pages\/6466\/revisions"}],"predecessor-version":[{"id":6493,"href":"https:\/\/www.amitai.com\/es\/wp-json\/wp\/v2\/pages\/6466\/revisions\/6493"}],"wp:attachment":[{"href":"https:\/\/www.amitai.com\/es\/wp-json\/wp\/v2\/media?parent=6466"}],"wp:term":[{"taxonomy":"folder","embeddable":true,"href":"https:\/\/www.amitai.com\/es\/wp-json\/wp\/v2\/folder?post=6466"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}