Действительно ли возможно удалить лигатуры из скопированного текста?

У меня есть несколько PDFs, которые содержат лигатуры в тексте (например, ff объединен в отдельный символ, ).

Существует ли простой способ удалить их при копировании текста с PDF? (т.е. когда я вставляю, я хотел бы вставляться как ff).

Я копирую много текста от этих PDFs в ответы на Переполнении стека, и я нахожу лигатуры в лучшем случае неприятными (хорошо, я признаю, я действительно придирчив :-P); лигатуры также не обнаруживаются правильно при копировании в другие места (например, если я копирую их в Блокнот, они обнаруживаются как блоки).

Я не могу изменить PDFs.

Я использую и Adobe Acrobat Reader и Читателя Foxit, но я был бы открыт для попытки нового читателя PDF.

9
задан 11.12.2015, 08:32

2 ответа

В Python это было бы:

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

Вы могли объединить это с pyPdf для чтения файлов PDF.

2
ответ дан 07.12.2019, 13:34

Одна возможность состояла бы в том, чтобы использовать Ваш любимый текстовый редактор и просто заменить их.

Иначе должен был бы записать сценарий, который использует sed... но это было бы *ОТКЛОНЯТЬ-СИСТЕМЫ только, я боюсь.

1
ответ дан 07.12.2019, 13:34

Теги

Похожие вопросы