大小不超過 25 MiB 且頁數不超過 40 頁的 PDF,可以透過 PDF 轉長圖 轉成一張高的 PNG,前提是最終畫布的每邊不超過 12,000 像素,總像素不超過 100 百萬像素。這個轉檔工具會把所有頁面從上到下堆疊成一張連續的垂直圖片,當聊天軟體、社群平台、簡報審閱流程或歸檔工作流程需要一張圖片而非多頁文件時特別有用。大型檔案會先撞上工具的硬性安全上限,而非磁碟空間不足:超過 25 MiB 或 40 頁的來源文件會被拒絕,單一渲染頁面每邊超過 12,000 像素或超過 40 百萬像素會被拒絕,而合併後的長畫布若超過每邊 12,000 像素或 100 百萬像素同樣會被拒絕。由於長圖會隨著頁數成長,即使是一般大小的 PDF 仍可能撞上最終畫布上限。工具會在開始編碼前,預先檢查每一頁與整體合併版面,因此在寫入任何像素之前,合併後的寬度、高度與頁數都已確定。

pdf to long image large file
PDF 轉長圖於大型檔案:縮放與尺寸上限

「大型檔案」對這個轉檔工具的意義

對一般的圖片轉檔工具來說,大型檔案可能指的是超過幾 MB 的檔案。但對 PDF 轉長圖而言,「大型」是由四個必須同時通過的獨立上限所定義:來源檔案大小、頁數、單一渲染頁面尺寸,以及最終合併畫布的大小。一份 20 MiB、5 頁的 PDF 可以順利轉檔;同一份 20 MiB、80 頁的 PDF 會在開始渲染前就被頁數檢查機制擋下。一份 4 頁的 PDF,每頁高 4,000 像素、寬 3,000 像素,也可能會被拒絕,即使以 MB 計算並不大,因為長畫布會拉高超過 12,000 像素的高度上限。事先了解這些限制,是能一次轉檔成功與只看到錯誤訊息之間的差別。

長圖的硬性上限

轉檔工具強制實施一組固定上限,以免失控的文件耗盡瀏覽器的記憶體,或產生無法使用的圖片。每個上限都會在編碼開始前的預檢階段進行檢查,任何一項失敗都會乾淨地中止工作。

限制最大值控制項目
來源 PDF 大小25 MiB您選擇的本機 PDF
頁數40 頁堆疊的頁數
單頁尺寸每邊 12,000 像素繪製到畫布前,單一渲染頁面的大小
單頁像素數40 百萬像素單一渲染頁面的總像素數
合併畫布尺寸每邊 12,000 像素最終長 PNG 的寬度與高度
合併畫布像素數100 百萬像素最終長 PNG 的總像素數

合併畫布的限制對大型檔案影響最大。將渲染縮放倍率加倍會使每頁的像素數變為四倍,因此在低縮放倍率下可容納的文件,在較高縮放倍率下即使頁數很少,仍可能突破 100 百萬像素的上限。

將大型 PDF 轉為一張長圖

不論是小型 PDF 或 25 MiB 的 PDF,流程都相同,但大型檔案最好一開始就選擇較低的縮放倍率,讓最終畫布保持在限制內。

  1. 開啟 PDF 轉長圖,從您的裝置選擇一份不超過 25 MiB 的 PDF。
  2. 選擇一個渲染縮放倍率,以及介於 0 到 32 像素之間的頁面間距。對於大型檔案,請從仍清晰可讀的最低縮放倍率開始,而不是用最大值。
  3. 按下「轉為長 PNG」。壓縮工具會載入 PDF、進行逐頁預檢,並回報合併後的寬度、高度與頁數。
  4. 確認合併後的尺寸符合每邊 12,000 像素與 100 百萬像素的上限。若不符合,請降低縮放倍率並重新轉檔。
  5. 下載單一長 PNG。檔名為輸入檔名去掉 .pdf 後綴,並替換掉不安全的字元,最後加上 -long.png 結尾。

為大型文件選擇縮放倍率與間距

縮放倍率是影響大型檔案最關鍵的槓桿。最終畫布的總高度,是每頁縮放後高度加上頁面間距的總和。對於一份 40 頁、間距為零的文件,該總和為頁數 × 每頁高度。若每頁渲染為 250 像素高,最終畫布會達到 40 × 250 = 10,000 像素,符合 12,000 像素的上限。將縮放提高到每頁 500 像素,總高度會變成 40 × 500 = 20,000 像素,遠超過限制。頁面間距是次要的調整槓桿:40 頁文件加上 32 像素間距,會在總長度中加上 (40 − 1) × 32 = 1,248 像素。在低縮放倍率下,間距幾乎看不出來;在高縮放倍率下,間距可能決定是否能容納在畫布內或撞到上限。

為什麼最終圖片有時會太高

文件可能通過單頁檢查,卻仍無法通過合併畫布檢查。只要頁數乘以縮放後的頁面高度超過 12,000 像素的高度上限,或總像素數超過 100 百萬像素,就會發生這種情況。簡報投影片、掃描的書籍,以及任何頁數眾多且頁面大小相近的 PDF,都是常見的成因。錯誤會在任何 PNG 寫入之前回報,因此絕不會產生半完成的檔案。降低縮放倍率,或在轉檔前使用 PDF 分割 修剪文件,是兩個可靠的解決方法。

長 PNG 保留與捨棄的內容

長圖是一種渲染,而非結構性的轉換。PDF.js 會把每頁的可見內容 — 文字、向量圖形、照片、字型與裁切路徑 — 繪製到畫布上,接著轉檔工具再將這些畫布繪製到單一合併畫布。可選取的文字、即時連結、表單控制項、可編輯註解、圖層、文件詮釋資料,以及原本內嵌的圖片,都不會保留在輸出中。最寬的渲染頁面決定畫布寬度,較窄的頁面會水平置中而不會被拉伸。間距區域與任何側邊邊距為白色,最終編碼為明確的無失真 image/png。

如果您的檔案太大,無法放在一張長圖內

當文件無法符合限制時,最乾淨的替代方案是逐頁渲染。PDF 轉 PNG 會為每頁產生一張無失真 PNG,單頁的高度除單頁上限外沒有限制,更適合用於掃描書籍或冗長的報告。若希望每頁檔案較小、可犧牲一些品質,PDF 轉 JPG 轉檔工具 會將每頁渲染為 JPEG。若您想要一張圖片,但文件真的太高,使用 PDF 分割切割來源 PDF,並在另一個工具中將產生的長圖並排堆疊,是標準的做法。

原始 PDF 永遠不會被修改。您未轉換的部分會保持原樣,而長 PNG 是一個獨立的檔案,您可以單獨分享、封存或刪除。

相關閱讀:在不上傳的情況下將大型 PDF 轉為 PNG。