pdf-creator

pdf-creator

Populaire

Create PDF documents from markdown with proper Chinese font support using weasyprint. This skill should be used when converting markdown to PDF, generating formal documents (legal, trademark filings, reports), or when Chinese typography is required. Triggers include "convert to PDF", "generate PDF", "markdown to PDF", or any request for creating printable documents.

447étoiles
48forks
Mis à jour 1/22/2026
SKILL.md
readonlyread-only
name
pdf-creator
description

Create PDF documents from markdown with proper Chinese font support using weasyprint. This skill should be used when converting markdown to PDF, generating formal documents (legal, trademark filings, reports), or when Chinese typography is required. Triggers include "convert to PDF", "generate PDF", "markdown to PDF", or any request for creating printable documents.

PDF Creator

Create professional PDF documents from markdown with proper Chinese font support.

Quick Start

Convert a single markdown file:

uv run --with weasyprint --with markdown scripts/md_to_pdf.py input.md output.pdf

Batch convert multiple files:

uv run --with weasyprint --with markdown scripts/batch_convert.py *.md --output-dir ./pdfs

macOS Environment Setup

If encountering library errors, set these environment variables first:

export DYLD_LIBRARY_PATH="/opt/homebrew/lib:$DYLD_LIBRARY_PATH"
export PKG_CONFIG_PATH="/opt/homebrew/lib/pkgconfig:$PKG_CONFIG_PATH"

Font Configuration

The scripts use these Chinese fonts (with fallbacks):

Font Type Primary Fallbacks
Body text Songti SC SimSun, STSong, Noto Serif CJK SC
Headings Heiti SC SimHei, STHeiti, Noto Sans CJK SC

Output Specifications

  • Page size: A4
  • Margins: 2.5cm top/bottom, 2cm left/right
  • Body font: 12pt, 1.8 line height
  • Max file size: Designed to stay under 2MB for form submissions

Common Use Cases

  1. Legal documents: Trademark filings, contracts, evidence lists
  2. Reports: Business reports, technical documentation
  3. Formal letters: Official correspondence requiring print format

Troubleshooting

Problem: Chinese characters display as boxes
Solution: Ensure Songti SC or other Chinese fonts are installed on the system

Problem: weasyprint import error
Solution: Run with uv run --with weasyprint --with markdown to ensure dependencies

You Might Also Like

Related Skills

update-docs

update-docs

137Kdev-docs

This skill should be used when the user asks to "update documentation for my changes", "check docs for this PR", "what docs need updating", "sync docs with code", "scaffold docs for this feature", "document this feature", "review docs completeness", "add docs for this change", "what documentation is affected", "docs impact", or mentions "docs/", "docs/01-app", "docs/02-pages", "MDX", "documentation update", "API reference", ".mdx files". Provides guided workflow for updating Next.js documentation based on code changes.

vercel avatarvercel
Obtenir
docstring

docstring

97Kdev-docs

Write docstrings for PyTorch functions and methods following PyTorch conventions. Use when writing or updating docstrings in PyTorch code.

pytorch avatarpytorch
Obtenir
docs-writer

docs-writer

94Kdev-docs

Always use this skill when the task involves writing, reviewing, or editing files in the `/docs` directory or any `.md` files in the repository.

google-gemini avatargoogle-gemini
Obtenir
write-concept

write-concept

66Kdev-docs

Write or review JavaScript concept documentation pages for the 33 JavaScript Concepts project, following strict structure and quality guidelines

leonardomso avatarleonardomso
Obtenir
resource-curator

resource-curator

66Kdev-docs

Find, evaluate, and maintain high-quality external resources for JavaScript concept documentation, including auditing for broken and outdated links

leonardomso avatarleonardomso
Obtenir
doc-coauthoring

doc-coauthoring

47Kdev-docs

Guide users through a structured workflow for co-authoring documentation. Use when user wants to write documentation, proposals, technical specs, decision docs, or similar structured content. This workflow helps users efficiently transfer context, refine content through iteration, and verify the doc works for readers. Trigger when user mentions writing docs, creating proposals, drafting specs, or similar documentation tasks.

anthropics avataranthropics
Obtenir