把 HTML 轉成 PDF
HTML 轉 PDF 用 WeasyPrint 把上傳的 .html 或 .htm 檔案,或含 HTML 的 ZIP 轉成 PDF。JavaScript 不會執行,所以靠腳本產生的頁面輸出會不完整。
把檔案拖到這裡,或點一下選擇
支援 HTML, HTM, ZIP · 每個檔案上限 500.0 MB · 一次最多 20 個檔案
也可以按 Ctrl/Cmd+V 或從剪貼簿選單貼上檔案。
HTML 轉 PDF 用 WeasyPrint 轉換。上傳 `.html` / `.htm`,或一個至少含一份 `.html` 的 ZIP(封存檔根目錄有 `index.html` 就用它,否則用第一個 `.html` 項目)。產出 PDF 依上傳檔案命名。
`zoom` 欄位會被忽略。沒有無頭 Chrome,不執行 JavaScript。外部圖片、樣式表和字型會從公開網址取得(最多 500 個資源,每個不超過 64 MiB,每次請求 15 秒逾時),指向私有網路或內部網路的位址會被攔截。ZIP 裡的相對資源從解出的檔案中解析。
WeasyPrint 支援的 CSS 會印出來。重度指令碼應用、永遠下不來的網路字型、現代 JS 版面常常塌掉。輸入不是加密 PDF。本工具從 HTML 起步。
來源已經是 URL 時,用網址轉 PDF。來源是 Markdown 時,用 Markdown 轉 PDF(先 CommonMark,再同一套 WeasyPrint)。
上傳是暫時的。我們不會保存你的 HTML 文庫。
功能
- WeasyPrint,不是 Chromium
- 接受 HTML 或 ZIP(轉換 index.html,沒有則轉換第一個 .html)
- zoom 忽略;無 JavaScript
- 匿名 API:/api/v1/convert/html/pdf
適用情境
- 把靜態發票 HTML 印成 PDF
- 算繪不需要 JS 的 CSS 報表
- 把一小包 HTML 加資源的 ZIP 變成 PDF
如何把 HTML 轉成 PDF?
- 上傳 HTML,或含 HTML 的 ZIP。
- zoom 可以不管。它不改變算繪。
- 點選處理,下載 PDF。
- 檢查字型與分頁。只靠 JS 的頁面會空白或錯亂。
限制與邊界
- 沒有 JavaScript,沒有 Chrome,沒有縮放
- 只支援 WeasyPrint 那套 CSS
- 遠端資源只從公開網址載入;私有和內部位址會被攔截
- 轉換預設在 180 秒後停止
- 本網站的上傳上限:每個檔案 500 MB,超過約 95 MB 時分塊上傳。直接呼叫 API 時,單一請求本文上限為 100 MB。
示例
- 帶本機 CSS 的語意化 HTML 信函常常印得乾淨
- 沒有建置產物的 create-react-app index.html 通常印出來是空白
本工具的隱私說明
檔案經 HTTPS 上傳,在伺服器記憶體或短期暫存目錄中處理,結果就緒後即刪除。我們不會為日後瀏覽、訓練或廣告輪廓保留副本。留存期限與 AdSense Cookie 說明見隱私權政策。
常見問題
- 為什麼我的 React 應用是空白 PDF?
- WeasyPrint 不跑 JavaScript。請送靜態 HTML,而不是空的 SPA 殼。
- zoom 有效嗎?
- 無效。轉換函式不接收參數。
- ZIP 怎麼處理?
- 封存檔根目錄有 index.html 就轉換它;否則轉換第一個 .html 項目。
- 這是 Chrome 的列印成 PDF 嗎?
- 不是。這是 WeasyPrint 的 HTML/CSS 引擎。
最後更新:
用程式碼呼叫
本站每個工具都是普通 REST 介面。匿名使用不需要帳號或 API Key,給瀏覽器、開發者與 AI 代理同樣可用。
curl -X POST "https://pdf123.xyz/api/v1/convert/html/pdf" \
-F "[email protected]" \
-o output.pdf也提供 MCP 工具,供說 Model Context Protocol 的用戶端呼叫(JSON-RPC 2.0,POST /mcp)。 完整 API 文件
在 AI 代理中使用
Skill裝上這個 Skill,Claude Code、Codex、Cursor 等 AI 代理就能替你完成「HTML 轉 PDF」: /skills/pdf123-html-to-pdf.md
檔案只用於本次處理,完成後自動刪除。