При копировании из .pdf иногда вставляется «кракозябра», а иногда все пучком

  • Автор темы Автор темы gasyoun
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

gasyoun

Санскритятина
Топикстартер
15 лет на форуме
Сообщения
926
Реакции
30
Господа,

Проблема известна давно, из недавнего читал. Я даже не говорю про извлечение текста из чужых файлов. Из своих же .pdf сгенерированных из .doc обратно чистый текст достать не могу. Пробовал и PDF Factory, и дефолтный адобный принтер. Индийские буковки просто разлетаются. Чисый юникод, но что он выкаблучивается? Когда Адобе задумается о не английских пользователях? Как можно помочь документу, чтобы из него легко было потом копировать?

М.Г.
 
Когда Адобе задумается о не английских пользователях?
Все не так просто :). Вот цитата из http://ithappens.ru/story/11570:
В силу своей профессиональной деятельности пришлось писать инжектор текстового слоя в PDF. Задачка проста: есть PDF, состоящий из сканов страниц; под эти картинки надо подложить распознанный текст, чтобы поиск работал.
Первым этапом надо было написать парсер PDF. Скачали спецификацию и набрали тестовую базу — аж 200 тысяч PDF-файлов. Итог всей этой опупеи был таков: 30–35% тестовой базы не соответствует спецификации PDF, но 95% открывается в Adobe Reader без проблем. Поэтому парсер писали не по спецификации, а по результатам тестов. Если Ридер открыл, то и мы должны открыть. Почему? А ты объясни юзеру, что данный файл не соответствует пункту 5.5.7 спецификации PDF 1.6. И так каждому юзеру по каждому файлу 100500 раз в день.
После этой задачки стали играть c открытием PDF на других ОС. Что делать — продукт кроссплатформенный. Под маком Preview валился как раз на генерации превью-картинки на корейском PDF, а под юниксом Ghost давал очаровательные психоделические разводы на всю страницу, если файл содержал картинки в формате JPEG-2000 и кодеке JasPer. И это не всё, а только что, что вспоминается на раз.
«О море надо спрашивать у рыбака», — гласит японская мудрость. То есть у тех, кто в теме. Таки вот: на сегодняшний день PDF-файл — это то, что открывает Adobe Reader, RTF — то, что открывает Word, а HTML — то, что открывается в IE и Firefox. 40% интернет-страниц, кстати, имеют несбалансированные теги и, по идее, не должны открываться в принципе. Поэтому ничего удивительного, что человек из недавней истории справился cо своим PDF только на винде. Смешно как раз морали про PDF читать.
 
Итог всей этой опупеи был таков: 30–35% тестовой базы не соответствует спецификации PDF
IMHO, это идиотизм какой то. Что значит - не соответствует? Подозреваю, наши профессионалы или черезчур поверхностно спецификацию изучили или, наоборот, черезчур буквально воспринимают ее рекомендации. Для примера - этот косяк спецификации соответствует? По их логике - видимо, нет, в акробате открывается, на рипах - не очень. Хотя пример про несбалансированые тэги, в принципе близко к теме.
А что касается индейского текста - надо конкретный PDF смотреть.
 
Все не так просто
Он чужые, я свои же на винде сделанные этой же виндой обработать в дальнейшем не могу. Тогда уже что мучаться, сразу надо в .tiff многослойный загонять. Если адоб с юникодом не дружит, то как быть? Или .pdf подразумевает - распечатал и радуйся, что ничего не поплыло. А текст уже от туда не исковерканный не достать? Кому от этого не легче? Проблема была всегда, никогда лучше не становилось.
 
"Если адоб с юникодом не дружит", то как "иногда все пучком" получается? И тему про поиск вы вроде читали.
 
На самом деле не "адоб с юникодом не дружит", а "русский офис из под русской винды английскому адобу плохо индийский текст передает" '))'
 
  • Спасибо
Реакции: Linxy
русский офис из под русской винды английскому адобу плохо индийский текст передает
Если бы так, я бы рад. Но и из под немецкой винды индийский текст ломается.
И не только индийский. Из под латышской винды латышские диакритики тоже ломаются.

На самом деле не "адоб с юникодом не дружит"
Не дружит, не дружит. Я в юникод писал - говорят пишите в адоб. А что толку в адоб, когда там отморозки?
Половина программистов адоба индусы, а даже для родной письменности поддержку не могут внедрить.

как "иногда все пучком" получается?
На этот вопрос я бы сам хотел бы знать ответ. Получается это редкость и случайность.
Обычно из юникода в .pdf получаешь гавнокод. Нельзя ли ему сказать - не тронь, оставь как будто бы там был .txt файл?
 
Получается это редкость и случайность.
Обычно из юникода в .pdf получаешь гавнокод. Нельзя ли ему сказать - не тронь, оставь как будто бы там был .txt файл?
На самом деле писать надо в спортлото в майкрософт. Ведь это их библиотеки корежат юникод при заворачивании его в PDF. На самом деле, если по уму с самого начала делать (пользоваться правильными шрифтами, локализованными продуктами и дровами) то никакой проблемы быть не должно. В третий раз повторяю - почитайте вдумчиво и внимательно топик про поиск и извлечение текста c самого начала, и попробуйте провести описанные там манипуляции с вашим PDF. Все вопросы снимутся сами собой. Заодно, возможно, методом проб и ошибок подберете способ, который будет нормальный индийский PDF формировать. Думаю, для этого не так уж много и потребуется.
 
  • Спасибо
Реакции: Linxy
Когда получается и не получается может pdf по-разному делаете или шрифты у вас разные?
 
шрифты у вас разные
Один и тот же стандартный юникод без отклонений.

pdf по-разному делаете
Просто индийским письмо не пользуюсь.

http://www.c-sharpcorner.com/Forums/Thread/53264/ не умеет адоб
http://ma.juii.net/blog/pdfs-with-hindi-script-to-utf8 работать со слоговым письмом.
 
Один и тот же стандартный юникод без отклонений.
Похоже, вы все таки невнимательно читали топик про поиск и извлечение... :( Юникод юникоду рознь, особенно внутри PDF
 
  • Спасибо
Реакции: Linxy
Статус
Закрыто для дальнейших ответов.