html-pdf-slides · git:20261018.a6d0f06 · 2026-10-18 · sha256 ed1ca3f8f8f3ee1f
html-pdf-slides git:20261018.a6d0f06A
Immutable. This exact content never changes and is served at /api/v1/blob/ed1ca3f8f8f3ee1f.
--- name: html-pdf-slides description: >- Make good-looking slide-style PDFs fast with HTML + headless Chrome instead of PowerPoint: a ready 1280x720 template (Microsoft-style cover / content slide / ending), a render script that outputs PDF + per-page PNG and detects overflow, and design rules for dense one-page slides. Use when asked to quickly create a PDF slide deck, one-page explainers, customer handouts, or "PowerPoint-less" slides, or to bundle cards/info into a branded PDF. Not for editing existing .pptx files or template-based PPTX generation. argument-hint: "スライドの目的・読者・枚数と、載せたい内容(または元データ)" user-invocable: true license: CC BY-NC-SA 4.0 metadata: author: yamapan (https://github.com/aktsmm) --- # HTML → PDF Slides Write each slide as HTML, render with Chrome. You get precise layout, selectable text, live links, and no PowerPoint automation. Pitfalls and merge/font details: [Rendering Notes](references/rendering-notes.md). ## When to Use - 「PDF でスライドをさっと作りたい」「1 枚で完結する解説ページ」「顧客向けに綺麗な PDF」 - 元データ(JSON など)から同じ見た目のページを大量に作りたい - PPTX の編集は不要で、配布物は PDF(+任意で PNG)でよい ## Quick Start 1. Copy [assets/deck-template.html](assets/deck-template.html); keep one `<section class="page">` per page (1280×720 px). Page kinds: cover, content (`page slide`), ending. 2. Fill content. Content slides need `data-key` (for reports), a `.ft` footer, and use `.card` blocks so overflow can be measured. 3. Render: `node scripts/render-deck.mjs deck.html out` (needs `playwright-core` + a Chrome/Edge; set `CHROME_PATH` if not auto-found). Output: `out/<name>.pdf`, `out/<name>-pN.png`, `out/<name>-report.json`. Exit code 1 = a slide overflows. 4. **Look at the PNGs** (cover, a dense slide, ending) before reporting done. ## Design Rules - One slide = one question and one takeaway; title states the claim, a one-line subtitle supports it. - Fixed 3-box info strip under the title for explainers: 誰に関係するか (bold the target) / 嬉しい点 / 対応の要否. - Fill the page with useful content in cards (what changes, how it works, limits, glossary); avoid empty bands. Keep body ≥ 12.5 px, preferably 14–16 px; when it does not fit, cut wording or split to a continuation page rather than shrinking further. - Palette: white field, brand blue accents, navy footer band; one accent colour per meaning (green good, red caution). Do not make every card equally loud. - Visible text is final copy: no internal-memo wording (未確認 / 記載なし / 要確認 / 推定). Confirmed → write; unconfirmable → omit. - Put IDs, categories and links in the footer; per-page creation dates and credits only on cover/ending. - Every link `https://`, escaped; cite official sources for facts. ## Done Criteria - Render exits 0 with zero overflow, PNGs inspected, links clickable in the PDF, Japanese glyphs visible (view an image; text extraction alone can hide missing glyphs).