При вставке копии PDF-файл искажен


23

Я пытаюсь скопировать и вставить текст из файла PDF.

Однако всякий раз, когда я вставляю оригинальный текст, это огромный беспорядок искаженных символов. Текст выглядит следующим образом (это всего лишь один небольшой фрагмент):

4$/)5=$13! ,4&1*%-! )5'$! 1$2$)&,$40! 65))! .*5)1! -#$! )/'8*/8$03! 
(4/+$6&4;0!/'1!-&&)0!*0$1!.9!/,,)5%/-5&'!1$2$)&,$403!5'!+*%#!-#$! 
0/+$!6/9! -#/-! &,$4/-5'8! 090-$+! 1$2$)&,$40! .*5)1!1$25%$! 1452$40! 
/'1! &-#$4! 090-$+! 0&(-6/4$! %&+,&'$'-0! *0$1! .9! /,,)5%/-5&'! 
1$2$)&,$40!-&1/97!"#$!+5M!&(!,4&1*%-!)5'$!/'1!,4&1*%-!1$2$)&,$40! 
65))! .$!+*%#!+&4$! $2$')9! ./)/'%$13! #&6$2$43! -#/'! -#$!+5M! &(! 
&,$4/-5'8!090-$+!/'1!/,,)5%/-5&'!1$2$)&,$40!-&1/97! 
)*+*+, C<88,?>8513AG<5A14, 

Я пробовал это и в Adobe, и в Foxit. Я сделал «Сохранить как текст» в Adobe Reader, и полученный текстовый файл - тот же искаженный текст.

Любые идеи, как я могу получить этот текст без искажений? (Кроме ручного набора текста ... есть много текста для извлечения.)


Попробуйте некоторые утилиты для чтения с экрана (которые работают с jpeg, сделайте экран печати, и все готово), или здесь есть другой способ . (Просто «угадай», не кусай меня за это. Я использовал первый способ тогда. Надеюсь, есть более удобные способы).
Apache

Аналогичный вопрос: superuser.com/questions/119393/…
Хью Аллен

Я также могу подтвердить эту проблему с OS X, по крайней мере на 10.8.2. Я потратил немного времени на изучение структуры файлов PDF, но, к сожалению, я не вижу способа исправить ущерб. «PreFlight» в Acrobat Pro сообщает о проблемах с файлом при проверке его на соответствие стандарту PDF / A, а в отчете Inventory отображаются сопоставляемые глифы с явно неверными символами Юникода. Я поднял отчет об ошибке с Apple - ID 12655651. Я сообщу здесь, если / когда я получу какие-либо обновления.
Кенд

Может быть полезно superuser.com/a/481510/153937
Ankit

Ответы:


11

Самый простой способ обойти это - открыть файл в последней версии Google Chrome со встроенным плагином для чтения PDF . Затем вы можете использовать функцию поиска Chrome для поиска текста, и копирование-вставка работает правильно.

Я хотел бы проголосовать за комментарий Пипитаса к ответу Шики, но у меня нет кредитов :( Проблема может заключаться в нестандартном кодировании шрифта, а не в шифровании . В Acrobat выберите «Файл» -> «Свойства», а затем перейдите на вкладку «Шрифты», чтобы увидеть кодировку. и вкладка Безопасность, чтобы увидеть, зашифрован ли он.


Действительно, пользовательская кодировка шрифтов была виновником для меня. Тем не менее, Chrome не был решением. Я частично решил проблему с Ghostscript, воссоздающим PDF из PS (мне повезло с исходным кодом PS). Любые группы символов, к которым LaTeX применяет лигатуры (например, ff, c, fi и т. Д.), Не отображаются в скопированном тексте PDF, что требует некоторого редактирования при копировании / вставке.
Фурманатор

1
Та же проблема с хромом
JinSnow

4

Я обнаружил эту проблему с PDF-файлами, которые я создал, и, по-моему, я нашел источник проблемы: с помощью Mac OS X Preview для уменьшения размера PDF-файла.

Я создал несколько кварцевых фильтров, используя утилиту Colorsync для сжатия изображений в PDF-файлах, чтобы уменьшить общий размер PDF-файлов с изображениями. Такие, как описано здесь: http://www.macosxhints.com/article.php?story=20031106133852693

Я обнаружил, что могу легко копировать и вставлять текст из исходного (несжатого) файла PDF, но после запуска этого PDF-файла с помощью созданного мной фильтра «Уменьшить размер файла» полученный сжатый PDF-файл не копирует и вставляет отчетливо (выглядит как строки вы разместили).

Однако при запуске этого же оригинального PDF-файла с помощью функции Adobe> Acrobat Pro «Документ»> «Уменьшить размер файла» полученный сжатый PDF-файл может успешно копировать и вставлять текст.

Таким образом, это не совсем полезно в вашем случае, если предположить, что ваш файл PDF был получен из другого места, и вы не сможете получить исходную версию, если она действительно была каким-то образом сжата. Но это может быть объяснением - что файл каким-то образом искажен, чтобы уменьшить размер файла.

Это может быть полезно для создателей контента, сталкивающихся с подобными проблемами при копировании и вставке текста из PDF-файлов - будьте осторожны, используя фильтры OS X Quartz, чтобы уменьшить ваши PDF-файлы!

--edit-- Я также заметил эту проблему при объединении PDF-файлов с предварительным просмотром. Два исходных PDF-файла можно копировать и вставлять в порядке, но при перетаскивании страницы из одного файла в другой файл, а затем сохранении объединенного PDF-файла текст в объединенном документе не может быть скопирован / вставлен. Это два документа, которые были сгенерированы одновременно с помощью Filemaker Pro 11 на Mac - я не могу представить, что у них будут разные кодировки или что-то подобное.


Я получил несколько файлов PDF от пользователя Mac OS. Выбрать - это хорошо, но копирование и вставка дадут вам мусор. Попробуйте конвертеры pdf в word, включая googledoc, adobe save as text, все они дают искаженный текст.
Tigr

Я подозреваю, что сокращение OS X PDF является виновником. Кто-нибудь знает о каких-либо средствах для "отмены" такой операции? Благодарность!
Tigr

Я распечатал файл pdf на нескольких (виртуальных) принтерах и получил раздутые файлы PDF размера 4x. Напечатанный файл является изображением, текст не может быть выбран, а оригинал может быть выбран (однако искажен).
Tigr

4

Есть еще один очень простой способ сделать обходной путь :)

Просто распечатайте документ, используя CutePdf, принтер Adobe 2 Pdf или любой другой подобный материал. Суть в том, что вам нужно распечатать в формате PDF.

Во многих случаях это легко устранит проблему.


2

Решение, которое сработало для меня:

  • Загрузить документ на Google Drive / Документы
  • Google импортирует его (по состоянию на 2013 год) в формате PDF
  • Откройте представление PDF и выберите « Файл» > « Открыть с помощью» > « Документы Google».
  • Экспорт документа займет около минуты

Результаты не были идеальными, но они помогли мне пройти 80% пути и предоставили мне достаточно текста, чтобы мне не пришлось все переписывать!


2

РЕШЕНО: (работал для меня на Windows 8, Acrobat XI, Office 2010)

Опция 1:

  1. Печать из Acrobat с использованием «Microsoft XPS Document Writer» Вывод: «ваш файл name.oxps»
  2. Откройте "... oxps" с помощью XPS Viewer. * (см. ссылку для скачивания в комментариях ниже)
  3. Печатайте в PDF (Acrobat PDF или CutePDF), используя самое высокое разрешение (600 DPI).
  4. Откройте с помощью Acrobat и используйте опцию OCR (Searchable Image (Exact)).

БИНГО!

Комментарии:

  • Использование самого высокого разрешения и поиска (точного) изображения сохранит ваш текст, не потеряв его чистый вид. Низкое разрешение сделает ваш текст читабельным, но дрянным.
  • Загрузите Microsoft XPS (файлы): http://www.microsoft.com/en-us/download/details.aspx?id=11816.
  • Если вы не знаете, что такое OCR, или где найти искомое изображение (точное), или Как печатать с помощью «Microsoft XPS Document Writer», ПОЖАЛУЙСТА, поищите его в Google для вашего удобства.

* Загрузка только в том случае, если у вас не установлен XPS.

Вариант 2:

Сделайте подобное, но сохраните как изображение (png, tiff, ...), тогда вам придется объединить все страницы обратно в один файл «PDF».


1
Шаги 1, 2 и 3 кажутся долгими, когда можно просто перейти к шагу 3 Печать в PDF. (Например, изнутри вашего читателя PDF). Нет необходимости объезжать через XPS.
Hennes

@Hennes Выполнение шага 4 приводит к ошибкеAcrobat could not perform OCR on this page because: This page contains renderable text
Fuhrmanator

«Renderable Text» звучит как то, что еще нужно нарисовать (визуализировать). Возможно, уже сделано и сохранено как OCR-способное растровое изображение, если вы используете XPS. Но это всего лишь предположение.
Хеннес

1

Существует риск того, что информация не будет извлечена вообще. Документы PDF - это, по сути, один документ, перекрывающий другой, один простой текст, другой рисунок. Когда вы копируете и вставляете документ, вы помечаете текст, глядя на изображение, но то, что копируется в буфер обмена, - это соответствующий фрагмент текстовой части.

В зависимости от способа создания документа качество и доступность текстовой части могут сильно различаться. Если вы сохраните документ текстового процессора в формате PDF, используя Acrobat, Word, драйвер принтера PDF или любой другой метод, качество, как правило, будет превосходным, поскольку текстовый файл может быть создан из текста оригинала. Некоторые специальные символы могут искажаться, но обычный текст, как правило, хорошо.

Однако если документ создается из отсканированного изображения, текстовая часть, как правило, создается с помощью обработки изображения с помощью оптического распознавания символов, что может привести к довольно печальным результатам, особенно если оригинал не подходит для этой цели.

Плохая программа, используемая для создания PDF-файла, или неправильные настройки могут также привести к полному искажению текстовой части, так как, возможно, некоторые виды шифрования выполняются для файла после его создания.

Суть в том, что если текстовая часть документа действительно плохая, улучшить ее невозможно. Лучше всего было бы полностью удалить текстовую часть и заставить программу повторить процесс распознавания текста. Я думаю, что это может быть выполнимо из Acrobat, но я не совсем уверен.


1

Одной из возможных причин этого может быть то, что для встраивания шрифта в PDF-файл использовалась пользовательская кодировка, которая неправильно применяется при копировании текста из PDF-файла.

Вы можете применять различные методы, чтобы уберечь себя от ручного ввода всего содержимого.

  1. Вы пытались извлечь текст с помощью одного из инструментов pdftotext.exe, который можно загрузить через Интернет? (Я бы порекомендовал тот, который включен в ftp://ftp.foolabs.com/pub/xpdf/xpdf-3.02pl4-win32.zip ).
  2. В последней версии Acrobat Reader есть опция «Сохранить как текст ...» . Это не использует «copy'n'paste» (который дал вам искаженный текст), но, вероятно, использует те же программные процедуры, которые использовались для визуализации текста на экране, и может для этого привести к более пригодным для использования результатам.
  3. Если '2.' не работает, и если у вас есть доступ к Acrobat Professional: попробуйте повторно отфильтровать PDF-файл, используя один из профилей Distiller для встраивания шрифтов.
  4. Если «3» не работает, несмотря на то, что у вас есть доступ к Acrobat Professional: попробуйте повторно извлечь PDF, но на этот раз вы должны использовать опцию «печатать как изображение» (доступно через кнопку «Дополнительно» в левом нижнем углу основного шрифта диалог). Убедитесь, что вы используете 600 точек на дюйм (хотя это может привести к огромному файлу). Полученный PDF вы затем снова открываете в Acrobat Pro. Теперь примените алгоритм Acrobat «OCR» к файлу, который приведет к встроенному тексту (не используется для рендеринга на экране в Reader, но используется для поиска и выделения строк). Теперь вы можете повторить попытку извлечения текста из этого PDF-файла, используя любой из описанных выше методов.

Для меня использование Acrobat Pro XI для повторной печати в PDF - но с пометкой «Печать как изображение» (с разрешением 600 точек на дюйм) в диалоговом окне « Дополнительно ...» в диалоговом окне « Печать ... » - было хитростью. Тогда вы сможете, наконец, правильно распознать результат . Ни одно из других решений, упомянутых на этой странице, не сработало. Примечание: для большого документа это может занять некоторое время, и результат PDF может быть довольно большим.
Гленн Слэйден

@GlennSlayden: Рад, что мой совет сработал для тебя ... Чего не хватало в нем, если ты думал, что он по-прежнему не заслуживает одобрения?
Курт Пфайфл

Я сделал голосование Это все еще показывает для меня как «1». Моя единственная жалоба заключалась в том, что ваш ответ был в самом низу, и мне потребовалось некоторое время, чтобы найти его (не ваша вина ...)
Гленн Слэйден

Хорошо, @GlennSlayden, тогда это upvote должно быть давно (задолго до вашего комментария выше).
Курт Пфайфл

Нет, я проголосовал "12 часов назад", в то же время я написал комментарий ... Я все еще вижу синюю стрелку, которая (я считаю) означает, что мой голос - это (тот) голос, который в настоящее время зарегистрирован. И я помню, что это было «0», прежде чем я проголосовал прошлой ночью.
Гленн Слэйден

1

Один из моих пользователей только что сообщил о той же проблеме (PDF был создан с помощью Distiller для Windows), что скопированный текст - только искаженный текст, и он не мог искать внутри документа. Я попробовал на своем Mac и не нашел никаких проблем. Оказалось, что я использовал приложение Apple Preview, а он использовал Adobe Reader на своем компьютере с Windows. Затем я попробовал Adobe Reader на моем Mac, но столкнулся с тем же эффектом. Для меня это выглядит так:

  • Adobe Reader выполняет копирование и поиск в сохраненном тексте.

  • Apple Preview будет копировать и искать после применения вектора кодировки.

Я не могу сказать это точно, но это объяснило бы мое наблюдение. И это действительно позволило бы выполнять все виды кодирования при сохранении комбинированных / уменьшенных файлов, как описано в другом посте здесь: с помощью Preview вы все равно можете снова получить текст.

Сначала я подумал, что было бы более логично закодировать встроенное подмножество шрифтов в виде смежных записей, вместо того чтобы оставлять дыры внутри и использовать исходное расположение символов. Но затем я понял, что, используя вектор кодирования для подмножества шрифтов с исходными записями, часто используемые символы могут иметь меньше битов, равных 1, в своем байте и могут быть сжаты лучше (это может снизить энтропию общий текст таким образом).


1

Загрузка его в Google docs и использование опции « Просмотр»> «Простой HTML» дает возможность скопировать текст, корректный примерно до 80%, при этом пропускаются небольшие пробелы.

Эта ветка с принятым ответом на ту же проблему объясняет это рабочим примером.


1

Я не пробовал использовать Google Docs, так как он все еще не поддерживается в моем офисе. Однако, распечатав файл в «ScanSoft PDF Create!» из «Acrobat 9» (печатает весь файл в изображение) и открытия распечатанного файла в «Nuance PDF Converter» (он подсказал мне, если я хочу сделать файл изображения доступным для поиска и редактирования, что я выбрал), я смог есть документ Word, который я могу легко скопировать и вставить. Это не идеально, хотя с точностью около 80-90%. Но, эй, у вас все еще есть оригинальный файл PDF для сравнения и коррекции тех частей, которые просто не могут быть исправлены. Экономит время от ввода всей вещи. Мой 2с.


0

Я сделал несколько редактируемых текстовых PDF-файлов со старой версией Scansoft PDF Converter для Windows XP, а затем соединил страницы в программе предварительного просмотра Mac. Для каждой отдельной страницы я мог правильно искать, копировать и экспортировать текст из Adobe Reader на Mac. При объединении с помощью функции «Предварительный просмотр» и сохранении в виде одного файла все выглядело хорошо на экране, но только несколько отрывков были доступны для поиска / экспорта. Эта проблема привела меня сюда.

Сообщения здесь дали мне несколько хороших указателей (спасибо!). Я посмотрел на свойства файла для шрифтов. В одностраничных файлах из Win XP (где все хорошо) говорится, что кодировка была ANSI. Файл, объединенный в Preview (где скопированный текст искажен), показывал кодировку для большинства шрифтов как «Встроенный», а некоторые как «Римский».

Решение моей проблемы всегда было у меня под носом - сама программа Scansoft может объединять файлы. Когда я использовал комбинатор Scansoft и открыл файл на Mac, все шрифты были показаны в кодировке ANSI, а весь текст был отлично экспортирован / скопирован. Почему, черт возьми, я не совмещал их в PDF Converter, во-первых, я не знаю. Спасибо, афиши!

То же самое можно сказать и об открытии файлов в системе Linux.

Я знаю, что это не объясняет проблемы, связанные только с Windows - разве у PDF были похожие смешанные источники?

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.