文字與寫作 指南

從 PDF 或網頁複製文字格式跑掉怎麼辦?

最安全的方法不是一次全部『清乾淨』,而是先判斷哪些空白是垃圾、哪些換行其實承載段落結構。

更新日期:

你從 PDF 複製:

一段正常文章。

貼到:

  • Word
  • Email
  • Chat
  • CMS

卻變成:

  • 每行都斷
  • 中間很多空白
  • 明明空白卻刪不掉
  • 排序後順序更怪
  • 兩段看起來一樣卻比對不同

這不是單一問題,而是:

extraction + whitespace + line break + Unicode。

第一步:永遠保留原始版本

不要直接覆蓋。

因為某些「多餘換行」其實代表:

  • paragraph
  • list
  • table row
  • heading

一次全部刪掉後:

很難恢復結構。

第二步:先處理空白行,不要先處理每個換行

FunnyTools Remove Empty Lines 目前支援:

全部刪除空白行

適合:

  • one-item-per-line list
  • import data

連續空白壓成單一空白行

適合:

  • prose
  • notes
  • paragraphs

如果是文章:

通常第二種比較保守。

第三步:理解「空白行」和「前後空白」

工具目前判斷:

只含 whitespace 的行也可視為空白。

另外可選:

trim 每行前後空白。

這兩個不是同一件事。

例如:

Alice

不是空白行。

trim 後變: Alice

所以如果 leading spaces 有語意:

  • code
  • nested list
  • indentation

不要直接 trim。

第四步:PDF 的硬斷行不一定能自動修

例如:

This is a long sentence copied from a PDF.

你可能想變:

This is a long sentence copied from a PDF.

但工具不知道:

  • 行尾是不是句子 continuation
  • 是不是詩
  • 是不是表格
  • 是不是地址
  • 是不是程式碼

FunnyTools Remove Empty Lines 公開限制也明確說:

不會合併斷行造成的破碎句子。

這個限制很重要。

第五步:檢查隱藏 Unicode 空白

網頁內容可能含:

  • NBSP
  • zero width space
  • narrow no-break space

看起來:

像一般空白甚至完全看不見。

卻可能影響:

  • search
  • compare
  • character count
  • import

延伸: 隱藏空白完整指南

第六步:只有清單才排序

如果資料是:

Alice Bob Charlie

可以排序。

如果是文章:

不要用 Sort Lines。

因為它會改變內容順序。

FunnyTools Sort Lines 還會:

  • 先移除空白行
  • trim
  • 再依模式排序

所以排序是資料整理動作,不是文章清理動作。

從 PDF 複製文字推薦流程

文章

  1. 保存 raw
  2. 壓縮多餘空白行
  3. 人工修硬斷行
  4. 檢查 Unicode 空白
  5. 檢查字數

名單

  1. 保存 raw
  2. 移除空白行
  3. trim
  4. 去重
  5. 排序
  6. 抽查

表格

不要只靠純文字工具。

應優先:

重新匯出 CSV / spreadsheet

因為純文字清理不理解 column。

工具

完整 Workflow

用差異檢查保護原意

清理不是把文字變得越短越好,而是移除已確認的版面噪音。可先將原文與輸出做 diff,逐筆檢查數字、專有名詞、URL、項目順序和段落邊界。若 PDF 把單字切成兩行,應依上下文判斷是否合併;若來源是雙欄文章,更要確認閱讀順序沒有交錯。清理後用搜尋找回關鍵句,再抽查開頭、中段、結尾和表格附近的內容,確定讀者仍能得到與原始來源相同的意思。

清理前先辨認資料形狀

從 PDF 或網頁複製的內容,可能混有頁首頁尾、欄位換行、連字號斷行、NBSP、零寬字元與重複空白。先保留原始副本,再用小段樣本確認每一種噪音的模式。若文字來自表格,最好回到來源重新匯出 CSV 或試算表;把表格當成一行一行的純文字處理,很容易把欄位邊界、引號和逗號弄壞。

清理流程應分階段完成:先移除確定是版面噪音的內容,再處理空白與換行,接著才去重或排序。每一步都保存輸出,並記錄移除了什麼、保留了什麼。姓名、編號、程式碼與網址不要用同一套規則處理;例如去掉所有符號可能會破壞識別碼。最後用原始筆數、欄位數、關鍵詞與幾筆人工樣本回頭比對,確認清理後仍代表同一份資料。

文字清理與發布前檢查工具組

清理後的三層驗收

第一層驗收是可讀性:標題、段落、清單和表格是否仍能辨認,是否出現兩段黏在一起或一句話被錯誤拆開。第二層是內容完整性:抽查開頭、中段、結尾,以及數字、日期、網址、引號和括號,確認沒有因 PDF 的欄位順序或頁首頁尾而重排。第三層是交付格式:用目標編輯器開啟,重新計算行數與字數,並確認編碼、換行和副檔名符合接收端要求。

若清理涉及大量替換,應保存規則和前後差異,而不是只保存最後輸出。發現一段文字不合理時,先回到 raw copy 判斷是 OCR、欄位順序還是清理規則造成,再修正單一規則並重跑。這種可追溯流程比人工逐句修正更容易重現,也能避免同一份文件下次又產生不同結果。