繁體中文

檔案 · PDF 工具包

轉換 PDF 實際上意味著什麼:光柵化與重新編碼

· 背景

pdf 影像轉換 光柵化

向量 PDF 頁面變成像素,圖片變成 PDF 頁面
原始 ToolAcre 向量圖

「轉換」涵蓋了非常不同的操作:將頁面繪製為像素、將圖片包裝在頁面中或重建可編輯文字。這篇文章解釋了每個轉換所涉及的內容,以及為什麼有些轉換是精確的,而有些則是近似值。

遺失文字的「轉換」檔案 - 為什麼無法再搜尋或選擇變成圖片的頁面

轉換後的頁面可能看起來相同,但仍然失去其最有用的屬性。 PDF-to-image 將每個頁面渲染為像素,因此無法再選擇、搜尋單字或將其作為文字層讀取。 ZIP 包含頁面圖片,而不是較小的 PDF 或可編輯的檔案內容。

當幻燈片、聊天、目錄或預覽需要影像時,這種損失是適當的。當可訪問性、搜尋、複製或後期編輯很重要時,它是有害的。根據所需的表示方式選擇轉換,而不是根據第一次目視檢查的令人放心的相似性。

光柵化 — 以選定的解析度將頁面的向量指令渲染為點陣圖,以及獲得和遺失的內容

光柵化要求 pdf.js 解釋向量繪圖指令、字體和圖片,然後以選定的比例繪製畫布。 ToolAcre 提供 PNG 來實現清晰的檔案邊緣,並提供 JPEG 來實現較小的照片輸出。每個頁面都成為一個 ZIP 中單獨命名的圖片。

渲染器在分配之前檢查每個裝置的像素預算,並可以將超大頁面減少到低於請求的比例。 PNG 和 JPEG 保留該像素網格處的渲染外觀,而不是來源向量或文字語意。縮放超出所選解析度最終會顯示有限光柵。

換行 — 將圖片放置在新頁面中,使其成為 PDF,以及為什麼這對圖片本身來說是無損的

圖像轉 PDF 則相反,即在每個新的 PDF 頁面上放置一張準備好的圖像。將每個影像的頁面大小與圖片加邊距相符; A4 和 US Letter 預設包含整個影像並將其置中,無需裁切。結果是靜態圖像內容,而不是重建的文字。

JPEG 和 PNG 位元組。 WebP、AVIF、GIF、BMP、HEIC 和 HEIF 取決於瀏覽器解碼,並重新編碼為 PNG;動畫 GIF 僅貢獻其第一幀。大圖片可能會縮小以適應裝置像素預算,並每個輸入影像的上限為 30 MB。

重構 — 為什麼將 PDF 轉換為可編輯檔案需要猜測段落、列和表格

重建可編輯的文字處理檔案需要從頁面外觀推斷閱讀順序、段落、列、表格和樣式。 ToolAcre 不提供該操作或 OCR。 PDF-to-image 故意丟棄語意結構,而 images-to-PDF 故意將圖片包裝在頁面中。

缺少可編輯轉換是重要的範圍,而不是缺少切換。掃描沒有文字,除非另一個系統識別它,並識別仍然不能完美地恢復原始創作模型。當實際需要可編輯結構時,請使用專用的 OCR 或檔案轉換工作流程。

解析度、色彩和尺寸 — 決定光柵化頁面列印是否乾淨或看起來柔和的設置

解析度控制輸出像素尺寸和記憶體使用。螢幕、良好、高和非常高對應於介面中不斷增加的比例,而渲染器可能會縮小超出其預算的頁面比例。 JPEG 使用接近 92 百分比的固定品質;沒有品質滑桿。

PNG 適合小文字和線條工作,因為它避免了 JPEG 邊緣偽影,儘管它可以更大。當較小的交付很重要時,JPEG 適合攝影頁面。混合大小的來源頁面以一種比例產生混合大小的圖片,並 ZIP 使用儲存的條目而不是重新壓縮已經壓縮的圖片資料。

PDF 解析使用背景工作執行緒,而畫布編碼和圖片準備需要主執行緒瀏覽器 API

本機轉換並不表示每個步驟都在一個工作執行緒中執行。 pdf.js 透過自己的捆綁工作程序進行解析,並停用檔案 JavaScript 評估,而畫布編碼必須保留在主執行緒上。循環在頁面之間產生,因此進度和控制項繼續繪製。

對於圖片到 PDF,瀏覽器圖片準備可以在主執行緒上解碼和繪製不支援的格式,然後 pdf-lib 在工具包工作程序中組裝準備好的 PNG 或 JPEG 資料。這些邊界準確地解釋了實現,並取代了大綱更廣泛的主張,即渲染和重新編碼僅發生在 Web Worker 中。

此工具包特別提供 PDF-to-PNG/JPEG 和 images-to-PDF

傳送的轉換是特定的。 PDF to Image 接受一個未加密的 PDF 最多 50 MB 並傳回 ZIP 中的 PNG 或 JPEG 頁。至 PDF 的圖片接受支援的瀏覽器圖片格式,最多為 30 MB,並傳回一個 `images.pdf`,每頁一張圖片。

此工具包不會將 PDF 轉換為可編輯的 Office 格式、執行 OCR、將所有頁面拼接成一張長圖片或透過 PDF-image-PDF 往返保留文字。支援的輸入部分和操作控制說明了這些確切的路徑,因此無需讓功能含糊不清。

重點 — 在開始之前了解您需要哪種類型的轉換,然後將 PDF 工具包用於它支援的轉換

「轉換」可能表示將結構化頁面渲染為像素或將像素包裝在新結構化頁面內。這些方向可能看起來是可逆的,但事實並非如此:一旦頁面文字變成光柵,將該光柵放入另一個 PDF 中不會重新建立可選擇的字元或向量繪圖指令。

當所需的工件確實是圖片時,使用 PDF-to-image;當所需的容器確實是分頁的 PDF 時,使用 images-to-PDF。兩者都在本地執行,具有明確的背景工作執行緒和主執行緒職責、硬輸入上限和記憶體保護。在開始之前選擇正確的表示可以防止視覺上成功但功能上錯誤的結果。檢查自動縮小或格式轉換的結果註釋,因為即使預覽看起來可以接受,這些報告的變更也可能會影響列印適用性。只要未來的搜尋、可訪問性或編輯可能重要,就保留結構化的 PDF ,並創建柵格衍生品作為一次性交付資產,而不是來源的替代品。用它們的格式和比例命名這些衍生產品,這樣就不會有人將螢幕解析度的影像包誤認為是用於列印或存檔的檔案。