Skip to content
Icon label
Google Sheets Booklet Setup

Google Sheets Booklet Template Setup

  1. **Set Up Page Layout:**
    • Go to **File > Print > Layout**.
    • Select **Landscape orientation**.
    • Set **Custom Margins** to optimize space.
  2. **Structure Your Pages:**
    • Use **merged cells** to create text areas.
    • Each **row** can represent a separate section of the booklet.
    • Add **borders** and **background colors** to define sections.
  3. **Insert Content:**
    • Use **columns for different sections** (Title, Content, Images).
    • Adjust **row height** to fit content properly.
  4. **Format for Printing:**
    • Select your content and go to **Print > Scale > Fit to Width**.
    • Check Print Preview and adjust spacing if needed.

Once you’ve set up this template, you can duplicate rows for more pages and structure your booklet as needed.

(function () { const extractTextLines = html => { const temp = document.createElement('div'); temp.innerHTML = html; return temp.innerHTML.split('
').map(line => line.replace(/<[^>]*>?/gm, '').trim() ); }; const translateLine = async (line, lang) => { if (lang === 'en') return line; const url = `https://translate.googleapis.com/translate_a/single?client=gtx&sl=en&tl=${lang}&dt=t&q=${encodeURIComponent(line)}`; const res = await fetch(url); const data = await res.json(); return data[0].map(d => d[0]).join(' '); }; const renderText = async (id, lang) => { const template = document.getElementById('template-' + id); const container = document.getElementById('original-text-' + id); if (!template || !container) return; const html = template.innerHTML; const lines = extractTextLines(html); const translatedLines = []; for (let line of lines) { if (!line.trim()) { translatedLines.push(''); } else { const translated = await translateLine(line, lang); translatedLines.push(translated); } } container.innerHTML = ''; const block = document.createElement('p'); block.innerHTML = translatedLines.join('
'); container.appendChild(block); }; document.addEventListener('DOMContentLoaded', function () { const blocks = document.querySelectorAll('.translator'); blocks.forEach(block => { const id = block.dataset.id; const select = document.getElementById('language-select-' + id); const container = document.getElementById('original-text-' + id); const template = document.getElementById('template-' + id); if (!select || !container || !template) return; // Load default (English) text renderText(id, 'en'); // Update on language change select.addEventListener('change', function () { renderText(id, this.value); }); }); }); })();