將 PDF 扁平化意思是把傳統 PDF 表單內目前可見的值轉成永久的頁面內容,這樣表單欄位就再也無法編輯。實際上來說,每個互動控制項 — 一個文字方塊、核取方塊、選項按鈕、下拉式選單或清單方塊 — 都會把目前的可見外觀直接寫入頁面,並把外觀背後可編輯的控制項從下載的副本中移除。原始 PDF 會以原本的狀態保留在你的裝置上,你會收到一份獨立的、扁平化的副本,在任何 PDF 檢視器中開啟都一樣。扁平化只影響標準的 AcroForm 欄位,也就是 PDF 規格中內建的原始互動表單技術。它並不會重新輸入表單、掃描表單或把表單轉成影像,也不會加上密碼、簽章或遮罩。一旦扁平化後,任何人開啟檔案看到的值都一樣,但表單再也無法被填寫、編輯,或被下一個開啟檔案的人不小心清空。這讓扁平化的 PDF 在列印、歸檔和分享某人所填寫的最終記錄時非常可靠。

flatten pdf explained
flatten pdf explained

扁平化實際上在 PDF 內部改變了什麼

在結構層面,PDF 檔案可以並存兩種內容:頁面內容串流 — 也就是你開啟檔案時看到的繪製文字、線條和影像 — 以及另一個獨立的互動表單字典,列出可編輯的欄位並追蹤它們目前的值。傳統的 PDF 表單會把這兩層分開,這就是為什麼你可以點進文字方塊輸入、勾選核取方塊,或從下拉式選單中選擇選項;欄位本身是一個物件,目前狀態會和頁面分開儲存。扁平化只針對 AcroForm 欄位摺疊這種分離:每個欄位目前的外觀會被渲染進頁面內容串流,而欄位物件本身會從檔案中移除。扁平化後,視覺結果一模一樣,但檔案再也沒有任何讓人變更內容的控制項。Flatten PDF 工具會完全在本機使用開源的 pdf-lib 函式庫及其 PDFForm flatten 方法 執行這個操作,並且絕不會修改你磁碟上的原始檔案。

會被扁平化的欄位類型

PDF 表單可以用好幾種不同的技術建立。此工具處理的目標是原始、廣泛支援的 AcroForm,也就是 PDF 規格本身定義的表單技術。在 AcroForm 中,此工具可處理填寫紙本式 PDF 時最常遇到的最常見互動控制項。下表摘要說明扁平化操作設計要把哪些欄位類型鎖進頁面中。

欄位類型在頁面上控制什麼
Text box單行或多行輸入的文字方塊,扁平化後其值會變成繪製在頁面上的文字
Checkbox可勾選的方塊,勾選狀態會以頁面上的永久標記保留
Radio button一組選項,目前選中的選項會被寫入頁面
Dropdown選單,選中的值會被渲染成可見的頁面文字
List box可捲動的挑選器,每個選中的項目會變成可見的頁面文字

如果某個控制項看起來是上述其中之一,而且是用 AcroForm 欄位建立的,它目前的外觀就會被帶入頁面,而下方的控制項會從扁平化的副本中移除。

什麼時候應該把 PDF 表單扁平化

在許多實際情況下,扁平化是 PDF 表單正確的最後步驟,而不是可有可無的額外步驟。

  • 提交已填寫完成的申請表。許多收件系統、人力資源入口網站和政府表單都預期值是永久的,拒絕接受仍可編輯的檔案。扁平化可以防止收件者在提交前不小心更改答案。
  • 讓表單列印結果一致。印表機和 PDF 檢視器不再需要解讀互動欄位目前的狀態,這消除了機器之間某類字型和渲染上的差異。
  • 歸檔最終記錄。扁平化的副本會精準捕捉當下填入的內容,事後更難遭到竄改,這對於遵循法規和稽核軌跡很重要。
  • 分享唯讀副本。把表單傳給同事、交易對方或公開記錄時,扁平化可以確保收件者看到你的答案,而不是一份空白範本。
  • 避免不同檢視器的外觀怪癖。欄位在 Acrobat、瀏覽器內建檢視器、行動裝置閱讀程式和列印驅動程式之間可能會顯示得稍微不同;把值烤進頁面中就能讓外觀一致。

不論哪一種情況,目標都一樣:鎖定表單的視覺狀態,讓它能被當作完成的文件來信賴。

如何在瀏覽器中扁平化 PDF 表單

如果你想用真實檔案試試這個操作,本機瀏覽器的工作流程刻意設計得很短。它專注在一個單一且可預測的任務:拿一份含有已完成 AcroForm 欄位的 PDF,把這些值烤進頁面,再交還一份獨立的副本。

  1. 選擇含有已完成傳統表單欄位的 PDF。
  2. 檢視偵測到的可編輯欄位數量,並確認可見的值是最終的內容。
  3. 選擇 Flatten PDF form fields,然後下載新的扁平化副本。

第 2 步值得特別注意。此工具會檢查檔案並回報它找到多少可編輯的 AcroForm 欄位。如果數量是零 — 也就是檔案是掃描檔、靜態文件,或是值已經烤進頁面的 PDF — 此工具會刻意不產生任何輸出,而不是交還一份會誤導人的相似檔案。如果你把扁平化當作簽章或列印文件的前置步驟,這正是驗證每個值的最佳時機,因為一旦欄位從下載的副本中移除,就沒有編輯按鈕可以挽回錯誤了。如需同一瀏覽器內操作流程的更詳細步驟,how to flatten PDF form fields in your browser 這篇指南會更深入地涵蓋加密檔案和 XFA 表單等邊角情況。

扁平化不會改變的部分

扁平化是一個範圍很窄的操作,限制和功能一樣重要。此工具會讓下載副本中的欄位值無法編輯,但不會處理讀者有時期待它涵蓋的某些事項。

範圍內(此工具會處理)範圍外(它不會做這個)
標準 AcroForm 欄位:文字方塊、核取方塊、選項按鈕、下拉式選單、清單方塊XFA 動態表單 — 一種獨立的表單技術,需要相容的專屬工作流程
原始 PDF 在你的裝置上保持不動為輸出加上密碼或其他存取保護
一份可另外下載的扁平化副本建立密碼學上的數位簽章
在你的瀏覽器中於本機完成處理把檔案上傳到遠端伺服器
有密碼保護或損壞的檔案會被安全地拒絕繞過 PDF 密碼保護
每個欄位目前的外觀烤進頁面中移除中繼資料、附件、隱藏圖層,或原本就在欄位下方的文字

接下來有幾個實際的意涵。頁面上保留的、可見的姓名或勾選的核取方塊並不是密碼學簽章 — 它只是被渲染出來的頁面內容,所以扁平化後的表單不能取代經過認可的簽署流程。如果需要移除敏感資訊而非僅僅鎖定,就需要專門設計的遮罩工作流程。而且因為扁平化不會清除文件紀錄,請保留原始可編輯表單,直到收件者確認交付的副本可以接受為止。

在寄出前驗證扁平化的副本

任何扁平化並分享工作流程的最後一步,就是實際在真正的 PDF 檢視器中開啟下載的檔案並檢視它。扁平化操作應該改變可編輯性,而不是外觀,但 PDF 渲染對字型、指令碼和各檢視器特有的外觀設定出了名地敏感。請用收件者使用的同一個檢視器開啟檔案 — 不管是 Acrobat、瀏覽器內建檢視器、行動裝置閱讀程式或列印驅動程式 — 並確認每個原本可編輯的欄位依然顯示正確的值、字元沒有跑掉、頁數也沒變。如果有任何地方看起來不對,原始檔案還在你的裝置上,你可以在修正來源後重新執行操作。扁平化最理想的做法是當作交付前最後一步,而不是在工作流程初期就執行,它和preserving quality through flattening 這類聚焦於如何保留品質的指南是互補而非取代的關係,後者會更深入探討字型嵌入、檢視器差異和重新渲染檢查等細節。