2014-08-29 2 views
2

Пример PDF страницы: https://db.tt/qRcF000kFix PDF с нечитаемыми символами

Это пример страницы из документа, в котором скопированный текст показывает в виде знаков вопроса в моем любимом читателя SumatraPDF (mupdf) точно так же, как и в Adobe Acrobat. Но моя главная проблема заключается в том, что я не могу искать этот документ из-за этого, и я не могу его индексировать.

OTOH, xpdf's pdftotext извлекает правильный текст.
В Adobe Acrobat, если я использую «Копировать как форматированный текст», правильный текст записывается в буфер обмена, хотя я по-прежнему не могу выполнить поиск из Acrobat.
Также, если я открою связанную страницу в встроенном PDF-читателе Firefox, я могу правильно скопировать текст.

Возможно, GhostScript может быть проинструктирован, чтобы исправить эту проблему, которую я не могу описать иначе, чем «нечитаемые символы»?

ответ

1

PDF-файл использует подмножества шрифтов с нестандартными кодировками и без CMAP-файлов ToUnicode. Так что нет, у вас не может быть Ghostscript «правильный» этот файл.

На самом деле я не вижу, как что-то может извлечь из этого разумный текст, и действительно моя версия Acrobat (Pro X и Reader XI) не может копировать осмысленный текст и, похоже, скопировать в качестве форматированного текста ", можете ли вы сказать мне, где его найти?

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

+1

* Я не вижу, как можно извлечь из этого разумный текст * - вы не можете использовать «официальную» информацию ни в структуре PDF (как указано в разделе * 9.10 Извлечение текстового содержимого * [ISO 32000-1] (http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/PDF32000_2008.pdf)), ни в самом файле шрифта (нет стандартных имен, нет сопоставления Unicode). Возможно, образованное предположение возможно, поскольку (нестандартные) имена символов шрифта ('C65',' C66', ...) содержат код ASCII соответствующего символа (для символов из диапазона ASCII, который является). – mkl

+0

Спасибо @KenS, вот ссылка на извлеченную страницу из оригинального документа: [sample_page2.pdf] (https://db.tt/OASKBSC3). Команда «Копировать с форматированием» отображается как [контекстное меню] (http://i.imgur.com/tGjeTkH.png) на выделенный текст в Acrobat XI, возможно, он недоступен в Acrobat X. – theta

+0

Ну, это новый на мне :-) Он доступен в Acrobat X, но я его никогда не замечал. Я должен угадать, что Acrobat смотрит на имена глифов (например,/C65) и решает, что числовая часть имени глифа является символьным кодом ASCII (или, возможно, UTF8), как указано выше в mkl. Это эвристика, конечно, и, скорее всего, потерпит неудачу. Мой ответ все еще стоит, но Ghostscript не может «исправить» этот файл. Для этого потребуется либо перекодировать шрифт (который мы стараемся не делать), а затем лежать о кодировании или изобретать ToUnicode. Оба - очень плохая идея. – KenS

Смежные вопросы