是否可以从复制的文本中删除连字符?

是否可以从复制的文本中删除连字符?

我有几个 PDF 在文本中包含连字符(例如,ff组合成一个字符,)。

从 PDF 复制文本时,有没有简单的方法可以删除它们?(例如,当我粘贴时,我希望将粘贴为ff)。

我将这些 PDF 中的大量文本复制到 Stack Overflow 上的答案中,我发现这些连字非常令人讨厌(好吧,我承认,我真的很挑剔:-P);当复制到其他地方时,连字也无法正确显示(例如,如果我将它们复制到记事本中,它们会显示为块)。

我无法修改 PDF。

我同时使用 Adob​​e Acrobat Reader 和 Foxit Reader,但我愿意尝试新的 PDF 阅读器。

答案1

在 Python 中这将是:

import unicodedata
# \uFB00 is the ff ligature.
unicodedata.normalize('NFKD',u'\uFB00').encode('ascii','ignore')

你可以将它与pyPdf阅读pdf文件。

答案2

读者表明当我测试这个时,似乎解码了连字符。

顺便说一句,对于 pdflatex 文档,您可以在序言中使用它来显示 PDF 文档中的连字,但复制单个字符:

\输入{glyphtounicode.tex}
\pdfgentounicode=1%

答案3

一种可能性是使用您最喜欢的文本编辑器并简单地替换它们。

另一种方法是编写一个利用sed...的脚本,但我担心这仅适用于*NIX 系统。

答案4

我的方法很简单,就是从 PDF 复制并粘贴到记事本(删除任何格式),然后从记事本复制并粘贴到 Microsoft Word。

在 Word 中,所有连字都更改为其他格式字体。

我对它们每一个都使用查找和替换(例如 ^l 表示手动行中断,^m 表示手动页面中断等等,你可以在线轻松找到所有内容)并且用正确的形式替换。

只需 4 或 5 个步骤,我就能很快涵盖所有可能性。它对于消除额外的段落中断也很有用 (^P)

相关内容