標籤:

從pdf中複製文本到其他程序中時, 文字總是自動換行,有沒有什麼解決辦法?

這個問題跟軟體的設置有關係嗎?


跟軟體設置沒關係的。

我看文獻的時候也遇到過這個問題。我用Perl寫了一個開源的自動刪除換行的工具:

ClipboardTextJoiner剪切板多行文本自動合併軟體,監控剪切板變化,自動刪除回車符和換行符,將多行文字合併成單行文本,方便將多行PDF文本複製粘貼到Word中。

詳情:ClipboardTextJoiner剪切板多行文本自動合併軟體

源碼:https://github.com/shenwei356/ClipboardTextJoiner

把Perl腳本編譯成了二進位的exe文件,對於Windows用戶來說,使用方法非常簡單,只需要雙擊exe文件運行,然後像平常一樣複製粘貼即可


直接上解決步驟,但是只能適用於Windows平台,Mac這邊可以嘗試用Alfred + workflow來對剪切板操作來解決,或者用BetterTouchTool的自帶個性化功能來嘗試。只是一個思路,沒有在Mac系統嘗試

  • 下載 Autohotkey ,安裝(這一步都卡住那估計救不了了)
  • 桌面右鍵 ? 新建 ? 創建新的AutoHotkey Script
  • 右鍵創建的文件 ? 選擇 Edit Script 出來一個記事本
  • 編輯記事本文件,在已經有的內容下直接加上

#IfWinActive ahk_class classFoxitReader
^!c::
old := ClipboardAll
clipboard := ""
send ^c
clipwait 0.1
if clipboard =
clipboard := old
else {
tmp := RegExReplace(clipboard, "(S.*?)R(.*?S)", "$1 $2")
clipboard := tmp
StringReplace clipboard, clipboard, % " ", % "", A
clipwait 0.1
}
old := ""
tmp := ""
return

這裡有個問題 IfWinActive ahk_class classFoxitReader 第一行的classFoxitReader 是指的你用什麼程序打開PDF

如果是FoxitReader就是classFoxitReader 如果是Acrobat Adobe就是AcrobatSDIWindow

可以用Autohotkey中的 WinGetClass 來獲得某一個窗口的ahk_class

  • 保存退出,此時 ctrl + alt + c 就綁定了一個複製規則:刪除複製內容的回車符
  • 桌面上雙擊你剛剛編輯的文件,可以看到右下角出現了一個H形狀的圖標

大功告成,這時候你再試試去PDF文檔裡面ctrl + alt + c就沒有回車符了(當然,段落還是無法區分的,也不一定,這一段既然是腳本語言,那就有無限的可能性,就看你的演算法實現能力了對吧!)

也附上Autohotkey的幫助文檔


當我們從網頁上複製一些文章到Word中時,往往會帶有好多垂直向下或是向下再左轉的箭頭的符號。

其中我們把垂直向下的箭頭稱為軟回車的換行符,對應的,我們把向下再左轉的箭頭稱為硬回車的換行符。

如果要替換軟回車(垂直向下的箭頭),在「查找內容」裡面輸入^l,如果是替換硬回車(向下再左轉的箭頭),在「查找內容」裡面輸入^p,「替換為」裡面不輸入任何字元,然後點擊「全部替換」,就可以刪除整個文檔裡面的軟回車或硬回車了。

來自百度知道


推薦閱讀:

誰能簡單說下PDF格式標準?
能替代acrobat的PDF編輯軟體有哪些?
有哪些好用的pdf虛擬印表機推薦?
在PDF中空白頁如何刪除?
哪一個android應用可以重排PDF, 讓手機可以看掃描版的PDF書?

TAG:PDF |