4.1 KiB
4.1 KiB
Usage Examples
Real-World Examples
Example 1: Business Plan Report
# Original file: 202510_Alpha_Intelligence_BP.html (71 KB)
python ~/.claude/skills/html-to-pdf/html_to_long_image.py 202510_Alpha_Intelligence_BP.html
# Output:
# - 202510_Alpha_Intelligence_BP_fullpage.png (6.1 MB)
# - 202510_Alpha_Intelligence_BP_fullpage.pdf (1.6 MB, 1 page)
Result: Single-page PDF with no page breaks, perfect for online presentation!
Example 2: Simple Test
# Create test HTML
echo '<h1>Test</h1><p>Hello World</p>' > test.html
# Convert
python ~/.claude/skills/html-to-pdf/html_to_long_image.py test.html
# Output:
# - test_fullpage.png (12 KB)
# - test_fullpage.pdf (20 KB)
Example 3: Multi-File Batch Conversion
# Convert all HTML files in a directory
cd /path/to/html/files
for file in *.html; do
echo "Converting $file..."
python ~/.claude/skills/html-to-pdf/html_to_long_image.py "$file"
done
# Check results
ls -lh *_fullpage.pdf
Example 4: With Custom Path
# Specify full paths
python ~/.claude/skills/html-to-pdf/html_to_long_image.py \
/Users/yonggao/Documents/report.html
Integration Examples
Use in Shell Script
#!/bin/bash
# convert_reports.sh
HTML_CONVERTER=~/.claude/skills/html-to-pdf/html_to_long_image.py
for report in reports/*.html; do
python "$HTML_CONVERTER" "$report"
echo "✓ Converted: $report"
done
echo "All reports converted!"
Use in Makefile
# Makefile
CONVERTER = python ~/.claude/skills/html-to-pdf/html_to_long_image.py
%.pdf: %.html
$(CONVERTER) $<
all: report.pdf presentation.pdf
clean:
rm -f *_fullpage.pdf *_fullpage.png
Use in Python Script
import subprocess
import sys
def convert_html_to_pdf(html_file):
"""Convert HTML to PDF using the skill."""
converter = "~/.claude/skills/html-to-pdf/html_to_long_image.py"
result = subprocess.run(
[sys.executable, converter, html_file],
capture_output=True,
text=True
)
return result.returncode == 0
# Usage
if convert_html_to_pdf("report.html"):
print("Success!")
Comparison with Original Files
| File | Type | Size | Pages | Notes |
|---|---|---|---|---|
| 202510_Alpha_Intelligence_BP.html | HTML | 71 KB | - | Source file |
| 202510_Alpha_Intelligence_BP_fullpage.png | PNG | 6.1 MB | 1 | High-quality screenshot |
| 202510_Alpha_Intelligence_BP_fullpage.pdf | 1.6 MB | 1 | Best for viewing | |
| 202510_Alpha_Intelligence_BP_final.pdf | 5.7 MB | 22 | Multi-page (with breaks) |
Performance Data
Based on real usage:
| HTML Size | Processing Time | PNG Size | PDF Size |
|---|---|---|---|
| 71 KB | ~5 seconds | 6.1 MB | 1.6 MB |
| 5 KB | ~3 seconds | 12 KB | 20 KB |
| 200 KB | ~8 seconds | 15 MB | 4 MB |
Tips & Tricks
Optimize for File Size
The PNG is always larger than the PDF. If you only need the PDF:
# Generate both, then delete PNG
python ~/.claude/skills/html-to-pdf/html_to_long_image.py report.html
rm report_fullpage.png
Preview Before Converting
# Open HTML in browser first
open report.html
# Then convert
python ~/.claude/skills/html-to-pdf/html_to_long_image.py report.html
Auto-open Result
python ~/.claude/skills/html-to-pdf/html_to_long_image.py report.html && \
open report_fullpage.pdf
Check Page Count
python -c "
from pypdf import PdfReader
r = PdfReader('report_fullpage.pdf')
print(f'Pages: {len(r.pages)}')
"
Troubleshooting Examples
Problem: Script not found
# Solution: Use full path
python ~/.claude/skills/html-to-pdf/html_to_long_image.py file.html
Problem: Permission denied
# Solution: Make executable
chmod +x ~/.claude/skills/html-to-pdf/html_to_long_image.py
Problem: Playwright not installed
# Solution: Install dependencies
pip install playwright pillow pypdf
playwright install chromium
Problem: Content appears cut off
# This is automatically handled by the script which:
# 1. Scrolls through entire page
# 2. Waits for animations
# 3. Forces all content visible
# No action needed!