从 Markdown 创建
将 Markdown 内容转换为格式正确的 PDF 文档。支持标题、段落、粗体/斜体文本、列表、代码块、引用等。
快速示例
Python
from pdf_oxide import Pdf
pdf = Pdf.from_markdown("# Hello\n\nWorld")
pdf.save("out.pdf")
WASM
import { WasmPdf } from "pdf-oxide-wasm";
import { writeFileSync } from "fs";
const pdf = WasmPdf.fromMarkdown("# Hello\n\nWorld");
writeFileSync("out.pdf", pdf.toBytes());
Rust
use pdf_oxide::api::Pdf;
let pdf = Pdf::from_markdown("# Hello\n\nWorld")?;
pdf.save("out.pdf")?;
支持的 Markdown 语法
| 元素 | Markdown 语法 | 说明 |
|---|---|---|
| 一级标题 | # Title |
大号粗体标题 |
| 二级标题 | ## Section |
中号粗体标题 |
| 三级标题 | ### Subsection |
小标题 |
| 四到六级标题 | #### ... |
次要标题 |
| 段落 | 空行分隔的纯文本 | 带自动换行的正文 |
| 粗体 | **bold** |
粗体文本 |
| 斜体 | *italic* |
斜体文本 |
| 无序列表 | - item 或 * item |
项目符号列表 |
| 有序列表 | 1. item |
编号列表 |
| 代码块 | ``` 围栏代码块 |
等宽代码 |
| 行内代码 | `code` |
行内等宽 |
| 引用块 | > quoted text |
缩进引用 |
完整 API 参考
Pdf::from_markdown(content) (静态方法)
使用默认设置(Letter 页面、72pt 边距、12pt Helvetica 字体)从 Markdown 内容创建 PDF。
Rust:
use pdf_oxide::api::Pdf;
let pdf = Pdf::from_markdown("# Report\n\nFindings are summarized below.")?;
pdf.save("report.pdf")?;
JavaScript:
import { WasmPdf } from "pdf-oxide-wasm";
import { writeFileSync } from "fs";
const pdf = WasmPdf.fromMarkdown("# Report\n\nFindings are summarized below.");
writeFileSync("report.pdf", pdf.toBytes());
Python:
from pdf_oxide import Pdf
pdf = Pdf.from_markdown("# Report\n\nFindings are summarized below.")
pdf.save("report.pdf")
Python 签名:
Pdf.from_markdown(
content: str,
title: str | None = None,
author: str | None = None
) -> Pdf
PdfBuilder::new().from_markdown(content) (构建器模式)
当你需要控制页面大小、边距、字体大小或元数据时,使用 PdfBuilder。
Rust:
use pdf_oxide::api::PdfBuilder;
use pdf_oxide::writer::PageSize;
let pdf = PdfBuilder::new()
.title("Quarterly Report")
.author("Finance Team")
.page_size(PageSize::A4)
.margin(54.0) // 0.75 inch margins
.font_size(11.0)
.line_height(1.6)
.from_markdown("# Q4 Report\n\n## Revenue\n\nRevenue grew **12%** year-over-year.")?;
pdf.save("quarterly.pdf")?;
高级示例
多章节文档
use pdf_oxide::api::Pdf;
let markdown = r#"
# Annual Report 2025
## Executive Summary
The company achieved **record growth** in all key metrics.
## Financial Highlights
- Revenue: $142M (+18%)
- Net Income: $31M (+24%)
- Operating Margin: 21.8%
## Strategic Priorities
1. Expand international presence
2. Launch next-generation platform
3. Invest in R&D capabilities
### Timeline
> Phase 1 launches in Q2, with full rollout expected by Q4.
## Technical Appendix
```json
{
"version": "2.1.0",
"release_date": "2025-03-15"
}
"#;
let pdf = Pdf::from_markdown(markdown)?; pdf.save(“annual_report.pdf”)?;
### 带元数据的 Python
```python
from pdf_oxide import Pdf
content = """
# Meeting Notes
## Attendees
- Alice (Engineering)
- Bob (Product)
- Carol (Design)
## Action Items
1. **Alice**: Complete API review by Friday
2. **Bob**: Update roadmap with new timeline
3. **Carol**: Share mockups for dashboard redesign
"""
pdf = Pdf.from_markdown(content, title="Meeting Notes", author="Alice")
pdf.save("meeting_notes.pdf")
从文件读取 Markdown
from pdf_oxide import Pdf
with open("README.md") as f:
content = f.read()
pdf = Pdf.from_markdown(content, title="README")
pdf.save("readme.pdf")
import { WasmPdf } from "pdf-oxide-wasm";
import { readFileSync, writeFileSync } from "fs";
const content = readFileSync("README.md", "utf-8");
const pdf = WasmPdf.fromMarkdown(content);
writeFileSync("readme.pdf", pdf.toBytes());
use pdf_oxide::api::Pdf;
let content = std::fs::read_to_string("README.md")?;
let pdf = Pdf::from_markdown(&content)?;
pdf.save("readme.pdf")?;
相关页面
- 从 HTML 创建 – 将 HTML 转换为 PDF
- PdfBuilder 流畅 API – 完整构建器配置选项
- DocumentBuilder 底层 API – 程序化页面构建