如何从PDF中复制的文本中删除不可见的字符


0

如果我从PDF复制一些文本,则文本显示正确,但文本编辑器认为文本是一个长序列。

该行如何出现在记事本中:

记事本

我能够直观地看到文本存在问题的唯一方法是将文本复制到vi中,通过Cmder:

六

文本在十六进制编辑器中显示如下:

HXD

我尝试使用Puretext去除粘贴上的隐形字符,但这不起作用:

puretext

尝试将字符复制并粘贴到编辑器的替换对话框中,并将其替换为空格不会产生任何结果。

我找到的唯一方法是手动删除每个“空格”并用实际空格替换它。

在粘贴或使用搜索和替换时轻松删除这些不可见字符的推荐方法是什么?


1
你有没有尝试过将它粘贴到excel并使用SUBSTITUTE函数?或者也许在Chrome中使用粘贴为纯文本?如果没有提供示例pdf,也很难重现和测试可能的解决方案
Vylix

@Vylix您的回答让我想到使用Chrome作为PDF查看器而不是我当前的查看器,即SumatraPDF。那很有效!使用Chrome作为PDF查看器不会引入问题字符,因此不再需要解决问题。
Dev Step

很高兴能得到帮助。你能把它写成答案吗?
Vylix

A0将是LF。因此无论出于何种原因,SumatraPDF将空格复制为换行符(在本例中)。记事本无法正确处理LF,因为换行符的预期期望值是Windows上的CRLF。虽然我相信最新的Windows 10版本之一应该有一个Notepad补丁,这也使它尊重Unix风格的换行符。
Seth

@Seth CRLF虽然是0D 0A,但不是A0。A0似乎是一个不间断的空间。
开发步骤

Answers:


0

这是一个简单的解决方案:

我使用的PDF查看器是SumatraPDF。如果我将Chrome用作PDF查看器,则不会在复制的文本中引入不间断的空格

Chrome PDF查看器会在复制的文本中插入正确的空格。

通过更改用于这些特定PDF的PDF查看器,问题得以解决。

我已经使用各种PDF测试了这个,问题仅在于这些特定的PDF。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.