【工欲善其事】巧用 PowerShell 自动清除复制 PDF 文本时夹杂的换行符号

文章目录

  • [巧用 PowerShell 自动清除复制 PDF 文本时夹杂的换行符号](#巧用 PowerShell 自动清除复制 PDF 文本时夹杂的换行符号)
    • [1 问题描述](#1 问题描述)
    • [2 解决方案](#2 解决方案)
    • [3 具体步骤](#3 具体步骤)
    • [4 效果测试](#4 效果测试)
    • [5 小结与复盘](#5 小结与复盘)

巧用 PowerShell 自动清除复制 PDF 文本时夹杂的换行符号

1 问题描述

不知各位是否也为复制过来的文本中夹杂的回车换行符抓狂过?就是在复制 PDF 格式的一段跨行文本时,比如我今天要尝试翻译的 D3.js 中的一段话:

【图 1 一段待复制的跨行 PDF 格式的纯文本】

粘贴到 Sublime Text 后就成了"断开"的 N 行:

【图 2 粘贴复制的 PDF 文本,得到每一行都单独断开的多条文本】

如果这一段我要用百度翻译来参考一下,得到的内容可能也会是断开的:

【图 3 人为割裂开的多行文本可能影响到最终翻译结果】

为此,我不得不在机器翻译前把这些换行符号手动清理掉:

【图 4 手动清除换行符后的翻译结果】

其实 Sublime Text 也能对这类操作进行批量处理:

  • 先一次性选中多行;
  • End 到各行末尾;
  • 删除换行符。

但如果内容多了,这样的批量操作也不见得有多高效。

2 解决方案

于是,我希望有个自定义命令,最好是 PowerShell 脚本那种,一运行就自动把我复制的文本转成不带任何换行符的一整段内容。

3 具体步骤

初稿还是让 AI 帮我弄吧:

代码清单 1 通过 AI 帮我拟定的 PowerShell 脚本初稿

bash 复制代码
# 文件名:test.ps1
# 获取剪贴板内容
$clipboardContent = Get-Clipboard

# 清理文本:替换多个换行符和空格
$cleanedContent = $clipboardContent -replace '\n+', ' ' -replace '\s+', ' ' | ForEach-Object { $_.Trim() }

# 将清理后的内容写回剪贴板
Set-Clipboard -Value $cleanedContent

# 输出结果
Write-Host "剪贴板内容已清理并替换!"

然而执行后却发现,粘贴出来的文本还是逐行断开的,虽然命令行里单独输出是连在一起的。于是又让它改进一下,结果 AI 就变智障了,改了好几次都没成功。只能自己排查了,结果发现是 ForEach-Object 的锅,需要手动合并一下:

bash 复制代码
# 获取剪贴板内容
$clipboardContent = Get-Clipboard;

# 清理文本:替换多个换行符和空格
$result = $clipboardContent -replace '\r+', ' ' -replace '\s+', ' ' | ForEach-Object { $_.Trim() };

# 统一合并为一行
$result = $result -join ' '

# 将清理后的内容写回剪贴板
Set-Clipboard $result

# 测试:输出结果
# Write-Host $result;

# 清空临时变量
$result = '';

4 效果测试

再运行一次:

【图 5 在 PowerShell 命令行实测脚本】

再按 Ctrl + V 粘贴到其他地方:

【图 6 粘贴到 Sublime Text 验证处理结果(已变为一行)】

中间没有一处换行,大功告成!

5 小结与复盘

后面的工作都算是锦上添花吧:配置到 PATH 里面,方便在任何地方调用。

如果想把处理结果放到其他地方(比如 node 环境下的某个变量等等),则可以用同样的思路,让 AI 先出一版,这样会更有效率。我最初就想让它用原生 JavaScript 帮我实现一版,然后放到 node 里把结果输出到控制台,但后来觉得用不顺手,才改成直接放剪切板,这样就方便多了。总之使用场景千变万化,但万变不离其宗:你出点子,AI 出初稿。

另外,如果 AI 生成的代码不给力,建议最多重试三次。因为问得太多,既说明它在理解上有问题,也不排除你自己没把问题描述清楚。这种情况下,还是自己动手最靠谱(真·人工智能)。

这是人工智能时代程序员应该具备的最基本的核心竞争力------用自身扎实的基本功,打通 AI 到目标之间的最后一公里。

相关推荐
我只会写Bug啊2 小时前
Vue文件预览终极方案:PNG/EXCEL/PDF/DOCX/OFD等10+格式一键渲染,开源即用!
前端·vue.js·pdf·excel·预览
你的人类朋友3 小时前
AI领域常见概念一览
gpt·ai编程·trae
帧栈15 小时前
SpringBoot + iTextPDF + Acrobat 构建动态PDF表单的完整实践
spring boot·后端·pdf
红鼻子时代16 小时前
从零开始构建PDF文档生成器(二)- 添加页眉页脚
pdf·页眉页脚·canvas绘制
勤劳打代码17 小时前
事半功倍 —— 403 Forbidden 最佳解决
openai·ai编程·cursor
盼哥PyAI实验室18 小时前
用 Trae AI 编程打造我的个人成长空间:旅行、相册、我的信息模块全上线!
人工智能·ai·ai编程
寒秋丶1 天前
AutoGen多智能体协作、人机交互与终止条件
人工智能·python·microsoft·ai·人机交互·ai编程·ai写作
潘小安1 天前
跟着 AI 学(三)- spec-kit +claude code 从入门到出门
前端·ai编程·claude
DO_Community1 天前
AI 推理 GPU 选型指南:从 A100 到 L40S 再看 RTX 4000 Ada
人工智能·aigc·ai编程·ai推理
Source.Liu2 天前
【pdf-rs】color.rs 文件解析
pdf