Skip to main content

YakultPDF

YakultPDF 是一个基于 Pandoc 和 Typst 的 Markdown → PDF 工具库和命令行程序,面向中文报告、书籍、稿纸和 3:4 练习页。

  • PyPI 包名:yakultpdf
  • 命令行:yakultpdf
  • Python 导入名:mark2pdf
Markdown + 配置 → YakultPDF / Pandoc → Typst 模板 → PDF

系统要求

  • Python 3.11+
  • Pandoc
  • Typst

完整安装方法见安装指引。

快速开始

安装 Python 包:

uv tool install yakultpdf

确认三个组件可用:

yakultpdf --version
pandoc --version
typst --version

准备 demo.md:

# 我的第一份 PDF

这是由 YakultPDF 生成的文档。

转换并使用输入文件名作为输出名:

yakultpdf convert demo.md --force-filename

独立模式会在当前目录生成 demo.pdf。更多内容见快速开始。

工作区

长期项目建议初始化工作区:

yakultpdf init my-docs
cd my-docs
yakultpdf convert index.md

工作区使用 mark2pdf.config.toml 管理输入、输出、模板和字体,PDF 默认写入 out/。

[paths]
in = "."
out = "out"
tmp = "tmp"
template = "template"
fonts = "fonts"

[options]
default_template = "nb"
withcover = false
overwrite = false

配置、Frontmatter 和封面规则见配置指南。

主要能力

  • 单文件、目录合并和批量转换
  • 工作区本地模板、字体和资源管理
  • NB 模板的封面、目录、背景页、整页图片和 Mermaid
  • 远程图片下载与 Markdown 资源结构迁移
  • 简繁转换和 PDF 压缩
  • classic / small 中文稿纸
  • 简洁版和精装版 Worksheet 练习页
  • Python API

文档

完整入口:YakultPDF 用户文档。

文档 内容
工作区使用指南 目录、资源和常用工作流
CLI 命令参考 当前命令与参数
配置指南 TOML、Frontmatter、模板和封面
NB 模板语法 页面和组件扩展
稿纸模式 classic、small 和着重号
Worksheet 模板 五种练习页版式
Python API 程序化转换
Docker 与 Web 服务 容器部署

Python API

from mark2pdf import convert_file
from mark2pdf.core import ConversionOptions

result = convert_file(
    "input.md",
    output_file="output.pdf",
    options=ConversionOptions(overwrite=True, force_filename=True),
)

完整签名和目录转换示例见Python API 文档。

开发与测试

uv sync
uv run pytest

项目架构见 DEVELOPMENT.md,发布流程见 RELEASING.md。Agent 规则见 AGENTS.md。

License

MIT

Metadata

Release files for yakultpdf 0.10.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for yakultpdf 0.10.3
File Size Uploaded
yakultpdf-0.10.3.tar.gz 10.4 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for yakultpdf 0.10.3
File Interpreter ABI Platform
yakultpdf-0.10.3-py3-none-any.whl Python 3 none any Details

Total release size: 10.8 MB

Release files / yakultpdf-0.10.3.tar.gz

Download URL yakultpdf-0.10.3.tar.gz
Size 10.4 MB
Tags Source
SHA-256 checksum
How to use checksums
983154ba25062219690edd7443be3c391bd42cc8451a2a6c58b3a60c68dba064
BLAKE2b-256 checksum
How to use checksums
fc4f70109b7dfebae3b77d9c33f905bfd481b13e605f66d05220d1e80dda68d7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.6.9

Release files / yakultpdf-0.10.3-py3-none-any.whl

Download URL yakultpdf-0.10.3-py3-none-any.whl
Size 410.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cf6ee4da310b18254148e1f9fec08e8a2760b4b2c52b090f3c15c1fefe9b109d
BLAKE2b-256 checksum
How to use checksums
4bb9c62cfd5b4068bad83480918e6422fa365066a178e67fa94b83a5f4334dcc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.6.9

Release history Release notifications | RSS feed

This release

0.10.3 This release

2 release files

0.8.23

2 release files

0.8.20

2 release files

0.8.9

2 release files

0.8.8

2 release files

0.8.7

2 release files

0.8.6

2 release files

0.8.3

2 release files

0.7.36

2 release files

0.7.5

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page