干掉那个换行符

  • 干掉 pdf 复制粘贴的换行符

  • 更新

    1
    20.11.15 初始

导语

研究论文也有段时间了,奈何专业词汇还是不够,少不了大段复制粘贴,pdf 的换行符一直都是手工敲…

回头一想,不就是个换行符替换吗,我是智商下线多久了…

复制粘贴

搜索了一下 pdf 换行符的历史,也没查出来个啥.直接上 py 吧.

程序

  • 支持 linux/win/mac(没测试),后台 1s 轮询.需要启动,不需要干掉.

  • 读写剪贴板用的是 pyperclip,跨平台,纯文本,正合适.

  • 只有在符合下面条件才替换

    • 剪贴板文本长度 > 10
    • 不含中文字符(中文就不用翻译了吧)
    • 并且有 ‘\n’
  • 替换也只是简单的 str.replace.唯一要注意的是 windows 下边换行符是 \r\n 其他系统则是 \n..(坑了)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/usr/bin/python3

import pyperclip, re
import time, sys


def check(str: str) -> bool:
"""
check len(str) > 10 and no chinese and has'\n' -> true
"""
if len(str) < 10 :
return False
elif re.match(r'[\u4e00-\u9fa5]', str) != None:
return False
elif re.match(r'.*[\n]', str) == None:
return False
else:
return True



def replace(str: str) -> str:
"""
win -> '\r\n'
other -> '\n'
"""
if (sys.platform == "win32"):
return str.replace('\r\n','')
else:
return str.replace('\n','')


if __name__ == "__main__":

while (True):
str = pyperclip.paste()
if check(str):
str2 = replace(str)
pyperclip.copy(str2)

time.sleep(1)

整篇 pdf

大概是需要全文翻译速览的时候,需要 pdf -> word.

  • 其实 word > 2013 就已经能正常自己转换了,word 直接打开 pdf 然后另存为 doc 文件.对于纯文本的 pdf 公式等也基本不丢格式.
  • 手边没装 word 可以试试 iLovePDF | 为PDF爱好者提供的PDF文件在线处理工具,只是对公式等支持不够好.
  • 如果 pdf 是图像的…只能 ocr,免费的几乎无解.