一个帮助工具,处理从PDF复制的文本,删除换行符,替换标点等等。

aftercop的Python项目详细描述


AfterCopy

有时候需要从 PDF、CAJ 等文件的阅读器窗口中复制出大段文字,但是这样得到的文字粘贴到 Word 里往往不尽人意:原排版的每一行都会被“另起一段”,有些中文标点变成了带有空格的英文标点……手动调整比较烦琐,因此我写了一个简单的脚本来处理这件事。

Quick Start

pip install aftercopy
aftercopy -v

然后去阅读器中复制文字,再粘贴时得到的已经是处理好(去掉换行、替换标点)的结果了。由于无法识别分段,段落之间需要使用者手动分开。

使用完毕后请记得关闭,避免影响常规的复制粘贴的使用。

用法

aftercopy --help
Usage: aftercopy [OPTIONS]

Options:
  -p, --passive       Disable active reading from clipboard. Instead you can
                      paste into and copy from terminal. End your input with
                      Ctrl-Z + Enter (Windows) or Ctrl-D + Enter.

  -v, --verbose       Display the concrete re-copied text and more info.
  -l, --lang [cn|en]  Switch type of language in text. This will influence the
                      rule set used. (Chinese by default)

  --help              Show this message and exit.

原理

每隔 0.01 秒读一次剪贴板(性能影响可忽略不计),若发生改变则对新读入的文字作相应的处理,将结果重新写入剪贴板。

TODO

  • 替换规则。目前对于标点的替换规则是硬编码的,显然这种做法大大降低了使用的灵活性。但是我还没有想到在每次运行 / 在安装时指定规则文件的较好办法。
  • 错别字识别。没找到这方面便捷的库。

One more thing...

请勿用于抄袭等侵犯他人著作权的用途。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java在使用整数键遍历HashMap时,是否总是以升序返回键?   查找字符串中单词的长度,并查找有多少单词具有该长度。(爪哇)   java NoClassDefFoundError和其他引用Google Maps Android API实用程序时出现的错误   java Spring引导,在REST响应中将日期时间精度定义为毫秒   如何从json JAVA SPRING获取特定数据?   java删除特殊字符前后的空格   使用Java BigDecimal表示15精度的数字(比例为2)   java通过Cordova发布位置谷歌地图   java避免死锁的正确Hibernate会话超时值是多少?   带进度监视器的java JSch上载   java如何将SpringMVC、hibernate、hibernate验证器结合使用?   java SAXParser解析复杂对象   Java:将ArrayList<Byte>转换为Byte[]的最佳方法是什么?   java PostGIS jdbc sql查询   java如何动态设置Jtree节点图标   java重新设计MySQL表的主键