Here’s What’s Next!

Hello!

Thanks for scheduling our upcoming meet and greet!
I appreciate you taking the time to connect, and am looking forward to learning more about you and your business goals.

You should receive a calendar invite shortly with the meeting details. In the meantime, I’d love for you to hear directly from some of our partners about how we’ve helped them succeed. Click the links below to watch a few of our favorite testimonials.

Looking forward to our conversation!

Best,

President & Founder
Partner in Publishing

What our Partners Say

Let's Partner!

info@partnerinpublishing.com
(860) 430-9440
Category
'); iframeDoc.close();const iframeSummary = summary.cloneNode(true); iframeSummary.style.display = 'block'; iframeDoc.body.appendChild(iframeSummary); if (!iframeSummary) { throw new Error('No PDF summary found in isolated iframe.'); }const pageElements = Array.from(iframeSummary.querySelectorAll('.pdf-page')); if (!pageElements.length) { throw new Error('No PDF pages were found in isolated summary.'); } const images = Array.from(iframeSummary.querySelectorAll('img'));await Promise.all(images.map((img) => { if (img.complete) return Promise.resolve(); return new Promise((resolve) => { img.addEventListener('load', resolve, { once: true }); img.addEventListener('error', resolve, { once: true }); }); }));const pdf = new JsPdfCtor({ orientation: 'portrait', unit: 'px', format: [794, 1123], putOnlyUsedFonts: true, hotfixes: ['px_scaling'] });for (let i = 0; i < pageElements.length; i++) { const pageEl = pageElements[i]; const renderPageCanvas = async (el, useCors, removeBg) => { let target = el; if (removeBg) { target = el.cloneNode(true); target.style.position = 'fixed'; target.style.left = '-99999px'; target.style.top = '0'; const bgImage = target.querySelector('img'); if (bgImage) bgImage.remove(); target.style.background = '#ffffff'; document.body.appendChild(target); }try { return await html2canvasLib(target, { scale: 2, useCORS: useCors, allowTaint: false, backgroundColor: '#ffffff', scrollX: 0, scrollY: 0, width: 794, height: 1123, windowWidth: 794, windowHeight: 1123 }); } finally { if (removeBg && target && target.parentNode) { target.parentNode.removeChild(target); } } };let canvas; try { canvas = await renderPageCanvas(pageEl, true, false); // Throws if canvas is tainted canvas.toDataURL('image/jpeg', 0.98); } catch (pageErr) { canvas = await renderPageCanvas(pageEl, false, true); console.warn('PDF page fallback used (background not exported):', pageErr); }const imgData = canvas.toDataURL('image/jpeg', 0.98); if (i > 0) pdf.addPage(); pdf.addImage(imgData, 'JPEG', 0, 0, 794, 1123);const ctaLink = pageEl.querySelector('a[href="https://partnerinpublishing.com/contact-us/"]'); if (ctaLink && typeof pdf.link === 'function') { const pageRect = pageEl.getBoundingClientRect(); const linkRect = ctaLink.getBoundingClientRect(); const linkX = Math.max(0, linkRect.left - pageRect.left); const linkY = Math.max(0, linkRect.top - pageRect.top); const linkW = Math.max(1, linkRect.width); const linkH = Math.max(1, linkRect.height); pdf.link(linkX, linkY, linkW, linkH, { url: 'https://partnerinpublishing.com/contact-us/' }); } }const pdfBlob = pdf.output('blob'); const blobUrl = URL.createObjectURL(pdfBlob); const link = document.createElement('a'); link.href = blobUrl; link.download = 'EdTech-Growth-Checklist.pdf'; link.style.display = 'none'; document.body.appendChild(link); link.click(); setTimeout(() => { URL.revokeObjectURL(blobUrl); link.remove(); }, 1500); } catch (err) { console.error('Error al generar PDF:', err); const msg = (err && err.message) ? err.message : 'Unknown error generating PDF.'; alert('No se pudo descargar el PDF. Revisa consola para detalle técnico.\n' + msg); } finally { if (pdfIframe && pdfIframe.parentNode) { pdfIframe.parentNode.removeChild(pdfIframe); } summary.style.display = 'none'; btn.textContent = 'Download Full Report'; } });}btnNext.addEventListener('click', () => { if (currentStep < categories.length - 1) { currentStep++; renderStep(); } else { calculateResult(); } });btnBack.addEventListener('click', () => { if (currentStep > 0) { currentStep--; renderStep(); } });renderStep(); });

Social Media Strategy

From CEO thought leadership to brand engagement, this guide shows how to turn scrolls into sales.

Website Content & SEO

Your site is your handshake—learn how to structure messaging that drives conversions.

Video Marketing

Boost trust, engagement, and leads with video content that converts.

Strategic Copywriting

Great copy converts. Download this guide to see how messaging impacts every touchpoint—from email to website.