Advertisement
Guest User

Pdf text copy

a guest
Nov 6th, 2023
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Autohotkey 1.80 KB | Source Code | 0 0
  1. ^c::     ; CTRL(^) AND C
  2.     old := ClipboardAll
  3.     clipboard := ""
  4.     send ^c
  5.     clipwait 0.1
  6.     if clipboard =
  7.         clipboard := old
  8.     else {
  9.         tmp1 := RegExReplace(clipboard, "(\S.*?)\-\R(.*?\S)", "$1$2") ; strip line breaks with hyphen
  10.         tmp2 := RegExReplace(tmp1, "(\S.*?)\- \R(.*?\S)", "$1$2") ; Добавил эту операцию, потому что иногда после дефиса-переноса ставится еще и пробел (так делает файнридер)
  11.         tmp := RegExReplace(tmp2, "(\S.*?)\R(.*?\S)", "$1 $2") ; strip line breaks and replace them with spaces
  12.         clipboard := tmp
  13.         StringReplace clipboard, clipboard, % "  ", % " ", A  ; replace double spaces with single spaces
  14.         clipboard := StrReplace(clipboard, Chr(173), "  ") ; 173    00AD    ­SOFT HYPHEN  Находим мягкие переносы и заменям их двойным пробелом (потому что после мягкого переноса образуется еще одни пробел, теперь их, пробела, будет три и их можно будет опознать и удалить следующей командой). Да, костыль. Мягкие переносы делаются FineReader'ом после распознавания. Если скопировать и вставить такой мягкий перенос в текстовый редактор, то это может отображаться как красный круг или <0xad> (не везде)
  15.         clipboard := StrReplace(clipboard, "   ", "") ; Удаляем тройные пробелы, на месте которых был мягкий перенос.
  16.         clipwait 0.1­
  17.         }
  18.     old := ""
  19.     tmp := ""
  20. return
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement