文字與寫作 指南
從 PDF 或網頁複製文字格式跑掉怎麼辦?
最安全的方法不是一次全部『清乾淨』,而是先判斷哪些空白是垃圾、哪些換行其實承載段落結構。
更新日期:
你從 PDF 複製:
一段正常文章。
貼到:
- Word
- 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 複製文字推薦流程
文章
- 保存 raw
- 壓縮多餘空白行
- 人工修硬斷行
- 檢查 Unicode 空白
- 檢查字數
名單
- 保存 raw
- 移除空白行
- trim
- 去重
- 排序
- 抽查
表格
不要只靠純文字工具。
應優先:
重新匯出 CSV / spreadsheet
因為純文字清理不理解 column。
工具
完整 Workflow
用差異檢查保護原意
清理不是把文字變得越短越好,而是移除已確認的版面噪音。可先將原文與輸出做 diff,逐筆檢查數字、專有名詞、URL、項目順序和段落邊界。若 PDF 把單字切成兩行,應依上下文判斷是否合併;若來源是雙欄文章,更要確認閱讀順序沒有交錯。清理後用搜尋找回關鍵句,再抽查開頭、中段、結尾和表格附近的內容,確定讀者仍能得到與原始來源相同的意思。
清理前先辨認資料形狀
從 PDF 或網頁複製的內容,可能混有頁首頁尾、欄位換行、連字號斷行、NBSP、零寬字元與重複空白。先保留原始副本,再用小段樣本確認每一種噪音的模式。若文字來自表格,最好回到來源重新匯出 CSV 或試算表;把表格當成一行一行的純文字處理,很容易把欄位邊界、引號和逗號弄壞。
清理流程應分階段完成:先移除確定是版面噪音的內容,再處理空白與換行,接著才去重或排序。每一步都保存輸出,並記錄移除了什麼、保留了什麼。姓名、編號、程式碼與網址不要用同一套規則處理;例如去掉所有符號可能會破壞識別碼。最後用原始筆數、欄位數、關鍵詞與幾筆人工樣本回頭比對,確認清理後仍代表同一份資料。
清理後的三層驗收
第一層驗收是可讀性:標題、段落、清單和表格是否仍能辨認,是否出現兩段黏在一起或一句話被錯誤拆開。第二層是內容完整性:抽查開頭、中段、結尾,以及數字、日期、網址、引號和括號,確認沒有因 PDF 的欄位順序或頁首頁尾而重排。第三層是交付格式:用目標編輯器開啟,重新計算行數與字數,並確認編碼、換行和副檔名符合接收端要求。
若清理涉及大量替換,應保存規則和前後差異,而不是只保存最後輸出。發現一段文字不合理時,先回到 raw copy 判斷是 OCR、欄位順序還是清理規則造成,再修正單一規則並重跑。這種可追溯流程比人工逐句修正更容易重現,也能避免同一份文件下次又產生不同結果。