Как удалить невидимые символы из текста, скопированного из PDF

619
Dev Step

Если я скопирую какой-нибудь текст из PDF, текст будет выглядеть корректно, однако текстовый редактор считает, что текст представляет собой одну длинную последовательность.

Как строка появляется в блокноте:

блокнот

Единственный способ визуально увидеть, что есть проблема с текстом, - это скопировать текст в vi через Cmder:

VI

Текст выглядит следующим образом в шестнадцатеричном редакторе:

HxD

Я пытался использовать Puretext для удаления невидимого символа при вставке, но это не работает:

PureText

Попытка скопировать и вставить символ в диалог замены редактора и заменить его пробелом не дает результатов.

Единственный способ, который я нашел, это работает - вручную удалить каждое «пробел» и заменить его реальным пробелом.

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

0
Вы пытались скопировать его, чтобы превзойти и использовать функцию ЗАМЕНА? Или, может быть, использовать Вставить как обычный текст в Chrome? Также будет сложно воспроизвести и протестировать возможное решение, если вы не предоставите пример pdf. Vylix 6 лет назад 1
@Vylix Ваш ответ дал мне идею использовать Chrome в качестве средства просмотра PDF вместо моего текущего средства просмотра, которое называется SumatraPDF. Это сработало! Использование Chrome в качестве средства просмотра PDF не приводит к появлению проблемных символов, поэтому проблема больше не решается. Dev Step 6 лет назад 0
рад помочь. Вы можете написать это как ответ? Vylix 6 лет назад 0
А0 будет НЧ. Так что по какой-то причине SumatraPDF копирует пробелы в виде перевода строки (в данном случае). Блокнот неправильно обрабатывает LF, поскольку ожидаемое ожидаемое значение для разрыва строки - CRLF в Windows. Хотя я считаю, что в одной из последних сборок Windows 10 должен быть патч для Notepad, который также учитывает разрывы строк в стиле Unix. Seth 6 лет назад 0
@Seth CRLF - 0D 0A, но не A0. A0 представляется неразрывным пробелом. Dev Step 6 лет назад 0
Вы правы, 0А будет НЧ. Я думаю, что я читал это быстро. Спасибо за указание на мою ошибку @DevStep Seth 6 лет назад 0

1 ответ на вопрос

0
Dev Step

Вот простое решение:

Программа просмотра PDF, которую я использую, - SumatraPDF. Если я использую Chrome как средство просмотра PDF, он не вводит неразрывный пробел в скопированный текст.

Программа просмотра Chrome PDF вставляет правильное пространство в скопированный текст.

Изменяя средство просмотра PDF, используемое для этих конкретных файлов PDF, проблема решается.

Я проверил это с различными PDF-файлами, и проблема только с этими конкретными PDF-файлами.