PDF Report Builder
Сборка PDF-отчёта из Markdown-файла: заголовки, таблицы, код, цитаты — в аккуратный одностраничный PDF.
Загружай этот скилл когда нужно сделать PDF-документ из Markdown: отчёт по проекту, README в PDF, спецификацию, чек-лист для клиента, экспорт документации вне GitHub.
🎯 When to use
Use this skill when:
- Есть
.md-файл и нужен PDF (отчёт, README, спецификация, сопроводительное письмо) - Нужно отправить документ клиенту/коллеге в печатном формате
- Просят «сделай отчёт в pdf», «markdown в pdf», «собери документ»
- Нужен PDF с графиками (встраивает Chart.js в HTML перед конвертацией)
Do NOT use when:
- Достаточно HTML — проще отдать
.mdили github-rendered страницу - Нужна презентация — это
presentation-maker - Нужна интерактивная диаграмма — это
diagram-maker/data-analysis
📦 Files
SKILL.md— этот файлscripts/pdf_report_builder.py— конвертер markdown → PDF (Python 3 stdlib)
🧰 Usage
# Из файла:
python3 skills/pdf-report-builder/scripts/pdf_report_builder.py -i report.md -o report.pdf --title "Project Report"
# Из stdin (пайплайн):
cat notes.md | python3 pdf_report_builder.py --stdin -o notes.pdf --title "Notes"
# Markdown с графиками → PDF:
# 1. Сгенерируй HTML с графиками через data-analysis --output html
# 2. Конвертируй HTML в PDF через pdf-report-builder
python3 skills/pdf-report-builder/scripts/pdf_report_builder.py -i report.html -o report.pdf --title "Отчёт с графиками"
🧭 Движки (по приоритету)
- Chrome/Chromium/Edge headless —
--headless --print-to-pdf(обычно стоит на macOS) - weasyprint —
python3 -m pip install weasyprint - pandoc + PDF-движок —
pdflatex/tectonic/typst/context
Если ни одного нет — скрипт печатает подсказку по установке и завершается с кодом 1.
Разметка отрисовывается через pandoc (если установлен) или встроенный конвертер
(заголовки, списки, таблицы, код, цитаты, ссылки).
📊 Встраивание графиков
Для PDF с графиками используй пайплайн:
data-analysis --output html— генерирует HTML с Chart.js графикамиpdf-report-builder -i report.html -o report.pdf— конвертирует в PDF
HTML-отчёт автоматически включает:
- Гистограммы для числовых полей
- Bar charts для категорий
- Scatter plots для корреляций
- Монохромную палитру (или porcelain/palm через
--preset)
🔬 Проверка результата
file out.pdf→ «PDF document, version 1.4»- Открыть в просмотрщике и проверить: заголовки, таблицы, код-блоки, графики не обрезаны.
- Для кириллицы: шрифт по умолчанию без проблем (системный), размер страницы A4 по умолчанию.