Notion · 2026.06.09 · 4 min read

Notion API 匯出頁面教學:Markdown、PDF 與自動化備份怎麼做(2026)

Notion API 匯出頁面教學:Markdown、PDF 與自動化備份怎麼做(2026)

Notion API 匯出頁面教學:Markdown、PDF 與自動化備份怎麼做(2026)

解答先行

Notion API 目前最直接的匯出路線不是 PDF,而是 Markdown

2026 年官方已經提供:

GET /v1/pages/{page_id}/markdown

你可以用它把 Notion page 取成 enhanced markdown。至於 PDF,實務上通常是:

Notion API 取 Markdown → 轉 HTML → 用瀏覽器或工具輸出 PDF。

如果你還沒拿到 token,先看:Notion API Key 怎麼拿。如果你還沒測過 endpoint,先看:Notion API 用 curl 測試教學

Notion API 可以直接匯出 PDF 嗎?

短答:不要把 Notion API 當成官方 PDF 匯出 API。

比較務實的選擇是:

目的 建議路徑
文章同步 GET /v1/pages/{id}/markdown
AI 摘要 / 寫作流程 Markdown
網站發布 Markdown → HTML
PDF 報告 Markdown → HTML → PDF
完整備份 API + Markdown + 圖片轉存

如果你只是偶爾要 PDF,Notion App 內建匯出就夠。

如果你要自動化、排程、批次處理,才需要 API。

用 API 取 Notion page markdown

先設定:

export NOTION_API_KEY="ntn_xxxxxxxxx"
export PAGE_ID="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

呼叫:

curl "https://api.notion.com/v1/pages/$PAGE_ID/markdown" \
  -H 'Authorization: Bearer '"$NOTION_API_KEY"'' \
  -H "Notion-Version: 2026-03-11"

回傳大概會有:

{
  "object": "page_markdown",
  "id": "page-uuid",
  "markdown": "# 標題\n\n內文...",
  "truncated": false,
  "unknown_block_ids": []
}

你要注意兩個欄位:

欄位 意思
truncated 內容是否因限制被截斷
unknown_block_ids 沒完整取出的 block,需要再查

如果你的頁面很大,不要假設第一次就拿完。

Markdown 和 blocks API 怎麼選?

以前要匯出 Notion 內容,通常要走 block API:

GET /v1/blocks/{block_id}/children

現在如果你的目標是文章、摘要、備份,Markdown endpoint 會更直接。

方法 優點 缺點
Markdown endpoint 快、適合文章與 AI 對部分特殊 block 仍要處理
Blocks API 控制力高 要自己組文章結構
Notion App 匯出 不用寫程式 不適合自動化

我的建議:

你要做什麼 選哪個
寫作同步網站 Markdown endpoint
AI 讀文章 Markdown endpoint
精準處理 checkbox / column / database Blocks API
批次備份 Markdown + blocks fallback

Markdown 轉 PDF 的實務流程

API 拿到 markdown 後,你可以走這條路:

  1. API 取得 markdown
  2. 存成 .md
  3. 用 markdown-it / remark / pandoc 轉 HTML
  4. 用 Playwright / Puppeteer 轉 PDF
  5. 把 PDF 存到 R2、雲端硬碟或本地備份資料夾

最小 Node.js 概念:

import fs from "fs";
import { chromium } from "playwright";

const markdown = fs.readFileSync("page.md", "utf8");
const html = `
<!doctype html>
<html>
<head>
  <meta charset="utf-8">
  <style>
    body { font-family: system-ui, sans-serif; line-height: 1.7; max-width: 760px; margin: 48px auto; }
  </style>
</head>
<body>
  <pre>${markdown.replaceAll("<", "&lt;")}</pre>
</body>
</html>`;

const browser = await chromium.launch();
const page = await browser.newPage();
await page.setContent(html);
await page.pdf({ path: "notion-page.pdf", format: "A4" });
await browser.close();

正式使用時,不要直接把 markdown 放進 <pre> 就結束。你會需要把 markdown 轉 HTML,再做排版。

自動化備份該怎麼設計?

如果你的目標是備份 Notion,不要只備份 PDF。

比較好的組合是:

檔案 用途
.md 可讀、可重新發布、AI 可處理
.json 保留 properties、page id、狀態
圖片檔 避免 Notion 暫時網址過期
.pdf 給人閱讀或交付

也就是說,PDF 是輸出,不是唯一備份。

我會把備份分成三層:

層級 內容
原始資料 page properties JSON
可讀內容 markdown
交付版本 PDF / HTML

常見限制

問題 說明
權限 connection 需要 read content capability
大頁面 可能出現 truncated
特殊 block 可能需要 blocks API 補抓
圖片 Notion file URL 可能過期,建議轉存 R2
PDF 不是官方 API 直接輸出的主路徑

如果你是內容網站,最重要的是圖片。

Notion 內的圖片連結常有時效性。正式發布到網站前,應該把圖片下載並轉存到 R2 或自己的 CDN。

實戰:文章發布流程

一個比較完整的流程會是:

  1. Query data source 找 Status = Ready
  2. 讀 page properties
  3. 取 page markdown
  4. 抓 markdown 裡的圖片
  5. 圖片上傳 R2
  6. markdown 圖片網址改成 R2
  7. 產生網站文章
  8. 必要時再輸出 PDF

這就是為什麼 Notion API 不只是拿 token。

它真正的價值,是把 Notion 變成內容系統的起點。

FAQ

Notion API 可以直接匯出 PDF 嗎?

不建議這樣理解。Notion API 更適合先取得 markdown 或 blocks,再由你的系統轉成 HTML / PDF。

Notion API 的 markdown endpoint 是什麼?

GET /v1/pages/{page_id}/markdown,會回傳 enhanced markdown、是否截斷、以及未知 block id。

什麼時候還需要 blocks API?

當你需要精準處理特殊 block、巢狀內容、database、欄位或自訂轉換規則時,blocks API 仍然有用。

Notion 圖片可以直接留原網址嗎?

不建議。Notion file URL 可能過期。正式網站或長期備份應轉存到 R2、S3 或自己的 CDN。

資料來源

資料最後查核日期:2026-06-09

#Notion#Notion API#Markdown#PDF

Newsletter

喜歡這篇?

每週寄一封信。職業、財富、關係、自媒體,每次只切一塊。

More

相關文章

Notion API vs Zapier n8n:新手自動化工具怎麼選?成本、彈性與維護比較(2026)

Notion API 查詢資料庫教學:filter、sort、pagination 與 data source query 完整範例(2026)

Notion API 用 curl 測試教學:5 個最常用 endpoint 速查(2026)