什麼是HTML 轉 PDF?

將 HTML 標記轉換為可下載的 PDF。支援 CSS 樣式、圖片、表格和自訂頁面尺寸。適合產生發票、報告,或將格式化的網頁內容離線儲存。

紙張可選 A4、A3、Letter 或 Legal,方向縱橫可切換,頁邊距從 0 到 20mm 任意調。還能替檔案設密碼,或在頁尾加上頁碼。內嵌 CSS、Base64 圖片、表格都能正確輸出。底層走的是 html2pdf.js 加 html2canvas,所以帶網頁字體或複雜樣式的頁面,PDF 結果可能與預覽略有差異。

使用方法

  1. 步驟一 — 在編輯器中貼上或輸入 HTML 內容,即時預覽將顯示 PDF 的最終效果。
  2. 步驟二 — 設定頁面選項:選擇紙張大小(A4、A3、Letter、Legal)、方向(縱向/橫向)和頁邊距。也可以設定密碼或加上頁碼。
  3. 步驟三 — 點擊「產生 PDF」建立文件,然後直接下載至裝置。

何時使用

  • 將 HTML 發票或收據轉成 PDF 後再寄給客戶。
  • 把含圖表與表格的報告封存為可攜 PDF 備份。
  • 將網頁內容轉成講義,供線下課程或工作坊列印。

結果

一位自由工作者將包含公司 Logo、分項表格和合計金額的發票 HTML 貼入,設定 A4 縱向並留 20 毫米頁邊距,下載專業 PDF 檔案後寄送給客戶。

常見問題

為什麼匯出的 PDF 與即時預覽長得不一樣?
PDF 是先透過 html2canvas 把畫面繪製成一張圖,再包進 PDF。如果 webfont 尚未載入完成,或有 fixed 元素、CSS filter,結果就可能與預覽不一致。
可以引用別人伺服器上的圖片嗎?
前提是該伺服器開放 CORS。若沒開,html2canvas 讀不到像素,PDF 中那張圖會是空白。解法是把圖下載後用 Base64 內嵌,或放到同源伺服器上。
如何控制分頁?
在希望開始新頁的元素上加 page-break-before: always(或 page-break-after)。表格列加 page-break-inside: avoid 就能避免列被切到下一頁。
PDF 中的文字可以選取複製嗎?
通常不能。渲染器透過 canvas 把畫面拍平,文字會變成點陣圖。有些做法會加一層隱形文字以利選取,但本工具產生的是點陣化 PDF——看得清楚,但未必可選可複製。
貼上的 HTML 有大小限制嗎?
實務上幾百 KB 的標記或 10-15 頁是上限。再長容易記憶體不足,因為整個 DOM 會先繪成一張大 canvas 再拆頁。

相關工具