360 Secure SkillHub
360 安全技能中心

Markdown to PDF (CJK)

该 Skill 通过 Python3 脚本调用 reportlab,把 Markdown 文件转换为 PDF,重点解决中文、日文、韩文(CJK)字符渲染问题。支持标题、粗斜体、列表、表格、代码块和分隔线,自动检测系统 CJK 字体并分页编号。除 reportlab 外无需 LaTeX、wkhtmltopdf 或 Chrome/Puppeteer。

zacjiang
zacjiang
热度 91.70
最近更新 2026-05-11 17:28:50
分类:效率依赖:代码执行 / 读写文件应用场景:文件转换 / 报告撰写

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add md-to-pdf-cjk
Metadata
name
md-to-pdf-cjk
description
Convert Markdown files to professional PDF documents with full CJK (Chinese/Japanese/Korean) support. Uses reportlab for reliable rendering without external dependencies like wkhtmltopdf or LaTeX.
author
zacjiang
version
1.0.0
tags
markdown, pdf, chinese, japanese, korean, CJK, convert, report, document

Markdown to PDF (CJK Support)

Convert Markdown to professional PDFs with full Chinese/Japanese/Korean text support.

Why This Exists

Most Markdown-to-PDF tools break on CJK characters, require LaTeX, or need heavy dependencies. This skill uses reportlab for lightweight, reliable PDF generation that works on any server — including 2GB RAM VPS instances.

Usage

python3 {baseDir}/scripts/md_to_pdf.py input.md "Document Title" output.pdf

Features

  • ✅ Full CJK text rendering (Chinese, Japanese, Korean)
  • ✅ Markdown headings, bold, italic, bullet lists, code blocks
  • ✅ Tables with proper column alignment
  • ✅ Automatic page breaks and numbering
  • ✅ Lightweight — runs on minimal servers (2GB RAM)
  • ✅ No LaTeX, no wkhtmltopdf, no Chrome/Puppeteer needed

Supported Markdown Elements

  • # H1 through #### H4 headings
  • **bold** and *italic*
  • - bullet lists (nested supported)
  • | table | rows | (pipe-delimited tables)
  • `inline code` and code blocks
  • --- horizontal rules

Dependencies

pip3 install reportlab

Font Configuration

The script auto-detects CJK fonts in common locations:

  • /usr/share/fonts/ (Linux)
  • /System/Library/Fonts/ (macOS)

If no CJK font is found, it falls back to Helvetica (CJK characters will not render). Install a CJK font:

# RHEL/CentOS/Alibaba Cloud Linux
sudo yum install -y google-noto-sans-cjk-ttc-fonts

# Ubuntu/Debian
sudo apt install -y fonts-noto-cjk

Use Cases

  • Generate PDF reports from AI analysis (audit reports, summaries)
  • Convert documentation to distributable format
  • Create invoices, proposals, or contracts in CJK languages
  • Batch convert multiple Markdown files to PDF