html2pdf
Convert local HTML files to PDF with browser-grade rendering.
This skill is designed for two cases:
- ordinary HTML pages that should print to PDF as-is
- presentation-style HTML with fixed-size
.slidepages that need to become multi-page PDF output
Run
From this skill directory, run:
python html2pdf.py <input.html> [output.pdf]
What It Does
For presentation HTML, the script can:
- detect slide-style layouts such as
.presentationand.slide - inject print CSS into a temporary copy
- make all slides visible during print
- force each slide to become one PDF page
- hide navigation bars during export
For ordinary HTML, it prints the page directly without altering the source file.
Workflow
- Confirm the input HTML exists.
- Run
html2pdf.py. - If the HTML looks like a presentation, let the script auto-inject print pagination CSS.
- Export with Chrome or Edge headless.
- If available, verify the resulting PDF page count and report the output path.
Examples
# Default output: same basename as input
python html2pdf.py "slides.html"
# Explicit output path
python html2pdf.py "slides.html" "slides_10pages.pdf"
Dependencies
Require one of:
- Google Chrome
- Microsoft Edge
Optional:
PyPDF2for PDF page-count verification
Notes
- The script does not overwrite the source HTML. It writes a temporary print-ready copy when needed.
- If the HTML already has correct
@media printpagination rules, the script can still print it directly. - Prefer reporting the generated PDF path and page count instead of dumping command output.