使用教學
PDF 為什麼這麼難編輯?
PDF 和 Word 檔不一樣,它不是一份文件,而是一組繪圖指令:用這個字型,在頁面上的這個位置畫出這個字,就這樣。你看到的字詞、行和段落,檔案裡從來沒有存過,所以編輯器得先把它們推算出來,才能動手修改。以下說明 PDF 裡面到底有什麼、為什麼有的檔案一改就成,有的卻怎麼都改不動,以及既然如此,編輯又是怎麼做到的。
更新日期:
PDF 修改文字:線上改字,直接編輯 PDF 原有文字
在瀏覽器中免費編輯。下載需要免費帳戶和付費方案,首週 £0.99。
PDF 是排好版的頁面,不是一份文件
Adobe 在 1990 年代初設計這個格式,是為了解決一個問題:不管對方裝了什麼字型、用什麼軟體,一頁文件在每一個螢幕、每一台印表機上都要長得一模一樣。它脫胎自 PostScript,也就是印表機本來就看得懂的語言,而且保留了這種本性。PDF 描述的是一切都已經決定好之後,頁面長什麼樣子:字型、大小、每一行在哪裡斷、每一個字落在哪裡。
Word 文件或 Google 文件存的正好相反:文字本身,加上排版的規則(這是標題、這一段左右對齊、邊界 2 公分)。每次開啟,App 都會重新排一次版,所以你可以在句子中間打字,後面的內容會自動讓開。PDF 早就把這些工作做完,然後把規則丟掉了。要編輯它,等於要倒推一個檔案本身已經不記得的過程。
PDF 的頁面裡到底有什麼
打開一頁 PDF 往裡面看,你找不到句子,只會看到一串繪圖指令。以文字來說,每一條指令大致是:用 F1 這個字型、11 pt 的大小,移到這個位置,畫出這幾個字元。編輯時需要的東西,大多都不在裡面:
- 沒有字詞,也沒有段落。檔案只是把字元擺到頁面上,而且常常一小串一小串地擺。空格往往只是定位時留下的空隙,而不是一個空格字元;段落也只是幾行剛好上下排在一起的文字。
- 沒有閱讀順序。文字可以照產生檔案的程式覺得順手的任何順序來畫:表格一欄一欄畫,頁尾先畫,報紙式的兩欄一行一行交錯著畫。
- 字型只留下用到的字。為了讓檔案小一點,大多數 PDF 內嵌的是每套字型的子集,只收頁面上出現過的字元。如果你要打的字裡有一個從沒用過的字元,檔案裡的字型就沒有它的字形。有些 PDF 甚至完全沒有內嵌字型,閱讀器找到什麼就用什麼。
- 間距是固定的。左右對齊的文字,存檔時沿著整行記下了精確的間距微調,好讓它剛好撐滿欄寬。改掉一個字,這些數字就全錯了。
- 後來加上去的東西,是另外一層。螢光標記、附註、白色方框、表單欄位和簽名,都是畫在頁面上方的註解,不是頁面的一部分。這就是為什麼白色方框只是把文字遮住,並沒有移除。
- 看起來像文字的圖片。標誌、圖表、貼上的截圖或掃描的頁面,都是像素,裡面根本沒有任何字元可以編輯。
PDF 的其他部分也都在加深這個特性。內容是壓縮過的,每個物件是靠它在檔案裡的位元組位置找到的,有密碼保護的檔案則整個加密。這些設計沒有一樣是為了讓人打開來重新安排,它們是為了顯示而生的。
為什麼連改一個字都這麼難
假設你想改掉段落中間的一個錯字。在 Word 檔裡,敲幾下鍵盤就好。在 PDF 裡,編輯器得先弄清楚:哪些畫出來的字元屬於同一行(靠量它們的位置)、哪幾行組成一個段落(靠行距、縮排,以及某一行是不是沒排到邊界就停了)、這一欄有多寬,還有文字是靠左對齊、置中還是左右對齊。這些,檔案裡一個字都沒寫。
接著,它得把舊的字元藏起來,查出它們是用哪套字型畫的、文字是什麼顏色,再用同樣的字型、大小和間距把改好的字畫上去,才不會突兀。如果改完的字比原本長,這一行就放不下了,整個段落得重新換行,下面的內容也得往下移。但前提是中間沒有東西擋著:一張表格、一張圖片或一個頁尾,就是一堵牆。
這每一步都多少帶著猜測,而每一個產生 PDF 的程式,在字型、間距和繪製順序上又各有各的做法。PDF 為什麼這麼難編輯,真正的答案就在這裡。它不是一道鎖,而是檔案從來沒記下來的十幾個小細節,每一個編輯器都得自己推斷,而且有時候會猜錯。
| 要改的內容 | 在 Word 文件裡 | 在 PDF 裡 |
|---|---|---|
| 段落裡的一個錯字 | 重新輸入那幾個字,段落會自己重新換行 | 找到那一行,藏起舊的字元,用內嵌字型重新畫出那個字,再把段落重新換行 |
| 把句子改長 | 下面的內容全部往下移 | 下面的每一行都得往下移,除非被表格、線條或圖片擋住 |
| 字型或字型大小 | 改一次樣式,整份文件都跟著變 | 一行一行改,每一行都要重新調整到放得下;換成別的字型,檔案裡可能沒有它的字形 |
| 掃描信件裡的一個字 | 沒有 OCR(文字辨識)就做不到 | 一樣:在 OCR 讀出來之前,這一頁只是一張圖片 |
| 標誌或圖表裡的文字 | 用原本的繪圖程式修改圖片 | 一樣:必須更換整張圖片 |
為什麼有的 PDF 一改就成,有的卻改不動
因為這個格式允許的變化太多,一個 PDF 好不好改,主要看它是怎麼做出來的,和你用哪個 App 開啟關係反而不大:
- 從 Word、Google 文件、InDesign 或網頁匯出的:有真正的文字,字型有內嵌,畫出來的每一行就是你看到的每一行。這是最理想的情況。大多數編輯器都能改字,好一點的還能讓段落重新換行。
- 用了沒有內嵌的字型:文字可以改,但新打的字會變成替代字型,銜接的地方可能看得出來。
- 掃描或拍照來的:一張沒有文字的圖片。在用 OCR 把掃描檔變成可編輯的文字之前,什麼都選不起來;就算辨識了,得到的也只是引擎對那些像素的最佳判讀。
- 已經平面化或簽署過的:表單欄位和註解已經併入頁面,憑證式數位簽章則把檔案封存起來,所以只要改第一處,簽章就失效了。
- 有密碼保護的:內容已經加密,沒有密碼,任何編輯器都看不到頁面。
如果你卡住的是某一個特定的檔案,而不是想了解整個格式,為什麼 PDF 無法編輯這個頁面針對上面每一種情況,都有一個十秒鐘就能做完的測試,以及對應的解決方法。
好的 PDF 編輯器是怎麼改字的
這個格式並沒有真的擋住編輯器改文字,只是編輯器得把檔案漏掉的東西重建回來,而且要做得夠好,讓結果看起來像沒動過。編輯器之間的差別,主要就在這裡。有的把整頁轉成文書處理器的文件再轉回來,版面就丟了;有的把改過的頁面變成一張圖片,可選取的文字就沒了;有的隨手拿一套字型把新的字畫上去,舊的字還留在底下。
peadf 的「PDF 修改文字」工具,就是為了把這件事做好而設計的,而且是在你的瀏覽器裡進行,不用上傳檔案。它依照位置把畫出來的字元歸成一行行文字,判斷哪幾行組成一個段落、這一欄有多寬,直接從繪圖指令讀出文字的顏色,再從檔案裡讀出字型,讓改過的那一行和前後的行用同一套字型。舊的字元在能安全移除、而且檢查過結果的情況下,會從檔案裡拿掉;否則就依照頁面本身的背景畫一塊遮蓋,把它們蓋住。把內容改長時,只有真正需要的那幾行會重新換行,下面的文字才往下推,而且只推到空白的背景上。如果你打的某個字元內嵌字型裡從來沒有,就只把那一個字元另外畫上去,這一行的其他部分仍然是真正的文字。
怎麼編輯 PDF,才能把傷害降到最低
知道了這個格式為什麼不好改,也就知道該怎麼和它相處。不管你用哪個編輯器:
- 1
先確認你的 PDF 是哪一種
在一行文字上拖曳。如果文字會反白,這一頁有真正的文字;如果拉出來的是一個蓋住整頁的方框,那它是掃描檔,得先執行 OCR。
- 2
直接修改原本的那一行,不要用東西蓋上去
在 peadf,用「PDF 修改文字」工具開啟檔案,選「選取」工具,點一下那一行,在原處重新輸入文字,編輯器才能沿用它讀到的字型、大小、顏色和對齊方式。
- 3
修改的長度盡量和原本接近
長度差不多的修改會留在原本那一行。改得長很多,段落就會重新換行;如果下面的文字沒有空間可以往下推,編輯器會告訴你。
- 4
拿新的字元和旁邊的字比一比
放大看。如果某個字看起來像另一種字型,表示檔案裡沒有那個字的字形。換個寫法避開它,或是把整行遮蓋起來重新輸入,頁面就能維持一致。編輯 PDF 而不讓格式走樣這個頁面有更多說明。
- 5
檢查匯出的檔案,而不是編輯器裡的畫面
用你平常用的閱讀器開啟下載的檔案,搜尋改好的字,也搜尋舊的字。編輯免費。下載需要免費帳戶和付費方案,首週 £0.99。
再好的編輯器也做不到的事
- 圖片裡的文字。標誌、圖表或截圖裡的字是像素,所以只能更換整張圖片,不能編輯。
- 置中和靠右對齊的文字、表格的儲存格和單獨的一行,都是一行一行改的,而且會固定住自己對齊的那一邊,因為沒有段落可以重新換行。
- 段落如果推不動下面的內容,就會縮進原有的空間裡,但有個限度。超過了,最實在的做法就是把文字改短。
- 沒有內嵌的字型,以及內嵌子集裡沒有的字元,都會用替代字型呈現。改幾個字看不太出來,整段新文字就藏不住了。
- OCR 的文字是估出來的。位置和大小都只是近似值,辨識出來的字也需要校對。
- 數位簽章經不起任何修改,在哪個編輯器都一樣。請取得一份未簽署的副本,改好之後再簽一次。
- 加密不是做做樣子。沒有密碼,就沒有頁面可以編輯,而這裡也沒有任何功能會找回或猜出密碼。
大家常問的問題
PDF 為什麼要設計得這麼難編輯?
它不是被設計得難編輯,而是被設計得不可能顯示錯。1990 年代初,同一份文件在每台電腦上長得都不一樣,把每個字都釘在固定的位置就解決了這個問題;直到今天,合約、發票和表單用的還是 PDF,原因就在這裡。可編輯從來不是目標,所以這個格式從來沒有把編輯需要的資訊存下來。
為什麼從 PDF 複製出來的文字是亂碼?
這個檔案用自己的一套方式把字元對應到字形,卻從來沒說這些字形代表哪些真正的字。閱讀器照樣能把形狀畫對,但複製時沒有東西可以把它們翻回文字,任何讀取文字的編輯器也會遇到同樣的問題。實際的解法是去找原始文件,如果還有人留著的話。
把 PDF 轉成 Word 再改,會不會比較簡單?
如果是短而簡單的文件,通常是:轉檔工具猜出結構,你編輯一份普通的文件,再匯出一個新的 PDF。但只要有分欄、表格、精確的間距或特定的字型,猜出來的結構本身就是問題,新的 PDF 會是一份內容相同、模樣卻不同的文件。如果頁面必須和原本一模一樣,只改一個地方,就直接編輯 PDF。
為什麼我一編輯 PDF,字型就變了?
原因有兩種:一是字型根本沒有內嵌在檔案裡,編輯器只能拿替代字型來畫;二是內嵌的只是子集,裡面從來沒有你打的那個字。完全不理會內嵌字型的編輯器,每改一次字型就變一次。解決方法是用會從檔案裡讀出字型的編輯器,而且修改時只用它有的那些字。
為什麼在瀏覽器或郵件的預覽裡不能編輯 PDF?
這些閱讀器的用途是快速又安全地顯示檔案,不是修改它。它們大多能填寫表單欄位,有些可以加個註解,能做的就這麼多。檔案通常沒問題,受限的是 App。
PDF 有沒有可以打開的文字層?
打字做出來的 PDF,文字本來就在頁面裡,以字形的方式畫出來。掃描的 PDF 則沒有文字,也沒有什麼開關可以打開,文字必須靠辨識。執行 OCR 之後,編輯器對每一行都有了可以依據的判讀結果,改過的那一行匯出後也能搜尋。
這件事用得上的工具
PDF 修改文字:線上改字,直接編輯 PDF 原有文字
重新輸入文字,字型和版面都會保留。
掃描檔 PDF 編輯:用 OCR 辨識文字,線上直接修改
先用 OCR 辨識掃描檔,再像一般文字一樣編輯。
PDF 更換圖片:線上 PDF 換圖,也能移除圖片
更換或移除頁面上的圖片。