Pull to refresh

Comments 58

Статья похоже из разряда «Как же оно меня достало»? :)
В свое время выдирал из пдф текст для перевода через комменты (которые автоматически копируются в желтые всплывающие окна, если выделить весь текст на странице) и затем сохранял эти комменты отдельно в XML. После чего XML переводился в Trados, в случае большого документа (мне попадались целые инструкции к камерам, проигрывателям и т. п. на 100-200 стр.) резался на куски, затем обратно в XML, загрузка комментов, отправка заказчику откомментированного дока.

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

Потому автора данного поста лично я очень хорошо понимаю:)
Спасибо за статью, почитал с удовольствием и не могу не согласиться. Самое интересное — что даже крупные компании не отдают себе отчёта в перечисленных вами особенностях ПДФ. На своей шкуре почувствовал это с читалкой фирмы Сони (PRS-600), которая ПДФ файлы пыталась зумить увеличивая шрифт, вместо нормального приближения а ля картинка. При этом по краям экрана оставались поля сантиметра по полтора, но читать было не возможно из-за ужасной потери форматирования.

Зато вот режим создания ПДФ «текст под изображением» из FineReader-а как манна небесная — только так можно быть уверенным, что со сканируемого документа не пропадет ни один элемент, но по нему будет удобный контекстный поиск, в т.ч. по многим документам сразу.

П.С. Пользуясь случаем, хотел спросить у знатока ПДФ, не подскажите ли способ читать и писать метаданные из файла ПДФ (именно метаданные ПДФ а не файла) помощью VBA (из Excel) без установки Acrobat-а? Сейчас как-раз ищу подходящую библиотеку для мелкого проекта.
Всё правильно читалка делает. Корректное масштабирование pdf в принципе невозможно, так что она всеми силами пыталась избавить вас от горизонтального скрола, путём убийства форматирования.
Ну, читать то все равно было невозможно.

П.С. Библиотека нашлась — Lite (бесплатная) версия QuickPDFLibrary.
Именно по этому планшетники очень предпочтительны для чтения электроных книжек отличных от художественных.
UFO landed and left these words here
Есть, ибо тема очень актуальна. Сразу же нашёл в Избранном www.planetpdf.com/article.asp?ContentID=PDF-to-Word_Conversion_-_Why_it_is_so_hard_to_do&gid=7837 (там 4 страницы, эта первая). Почему-то оригинал у меня в IE8 и в FireFox открывается криво и без полезного содержимого, но у Google есть сохранённые варианты:
Стр 1
Стр 2
Стр 3
Стр 4

С уважением,
Вячеслав
UFO landed and left these words here
Прошу прощения. Гребанный Ctrl+Enter.

Это комментарий отсюда code.google.com/p/xee/source/browse/trunk/XeePhotoshopLoader.m?spec=svn28&r=11#107 (найдено на stackoverflow)

Речь конечно идет не о PDF, а о PSD. Но сильно суть от этого не меняется :) Масштабы маразма вполне соответствующие :)

// At this point, I'd like to take a moment to speak to you about the Adobe PSD
// format. PSD is not a good format. PSD is not even a bad format. Calling it
// such would be an insult to other bad formats, such as PCX or JPEG. No, PSD
// is an abysmal format. Having worked on this code for several weeks now, my
// hate for PSD has grown to a raging fire that burns with the fierce passion
// of a million suns.
//
// If there are two different ways of doing something, PSD will do both, in
// different places. It will then make up three more ways no sane human would
// think of, and do those too. PSD makes inconsistency an art form. Why, for
// instance, did it suddenly decide that *these* particular chunks should be
// aligned to four bytes, and that this alignement should *not* be included in
// the size? Other chunks in other places are either unaligned, or aligned with
// the alignment included in the size. Here, though, it is not included. Either
// one of these three behaviours would be fine. A sane format would pick one.
// PSD, of course, uses all three, and more.
//
// Trying to get data out of a PSD file is like trying to find something in the
// attic of your eccentric old uncle who died in a freak freshwater shark
// attack on his 58th birthday. That last detail may not be important for the
// purposes of the simile, but at this point I am spending a lot of time
// imagining amusing fates for the people responsible for this Rube Goldberg of
// a file format.
//
// Earlier, I tried to get a hold of the latest specs for the PSD file format.
// To do this, I had to apply to them for permission to apply to them to have
// them consider sending me this sacred tome. This would have involved faxing
// them a copy of some document or other, probably signed in blood. I can only
// imagine that they make this process so difficult because they are intensely
// ashamed of having created this abomination. I was naturally not gullible
// enough to go through with this procedure, but if I had done so, I would have
// printed out every single page of the spec, and set them all on fire. Were it
// within my power, I would gather every single copy of those specs, and launch
// them on a spaceship directly into the sun.
//
// PSD is not my favourite file format.
Давным давно я вообще думал что pdf — формат для защиты данных от редактирования :)
Уже позже стал удивляться — что за фигня, нет ни одного нормального конвертора ИЗ pdf и в то же время не в Jpeg :) А если и что-то похожее и есть то только платное.
И это при том что многие люди стали путать назнечение pdf и использовать его не только когда надо что-то лишь распечатать :\
Вот, к сожалению, у нас очень многие так думают! На самом деле pdf это отличный формат для чтения документов, единственный одинаково отображающейся на любом устройстве и любой OS. У нас же до сих пор многие требуют прислать doc, увидев pdf. А этого дока быть может и в природе не существует, так как pdf не только из ворда растёт. Ну или обратная ситуация, приходит мне док и чем я его буду смотреть, скажем, на андроиде? На Западе, почему-то, pdf гораздо более распространён.
Там в университетах курсовые в ПДФ-формате преподавателю отсылают на почту. Никаких doc или odt.
Потрясающе. А я чуть сдачу дипломного проекта не завалил из за того что видители было в PDF (делал на никсах, поэтому экспортировал в PDF чтобы не было проблем с форматированием на той стороне).

Потом еще 2 часа доказывал что так надо.
Postscript, DVI — тоже форматы, которые отображаются одинаково. DVI даже и называется так из-за этого свойства — device independent. Так что PDF — совсем не единственный.

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

Даже в случае с редактированием — есть PDF-ки с формами для заполнения, ввёл свои данные и печатаешь. Остальное — «рыбу», саму форму — испортить (отредактировать) не можешь.
Из любых документов предполагается извлекать информацию, с ними работают — переносят фрагменты в другие документы, календари, ежедневники, базы данных и т.п. А pdf хранит лишь способ её вывода на экран/бумагу, зачастую с ним совершенно невозможно работать — вместо банального копирования приходится перенабирать вручную.
PDF — это, фактически, и есть подвид Postscript-а, в котором нет postscript-вычислений (то есть все вычисления реализованы в виде окончательных результатов), что позволяет обеспечить гарантированное время рисования на экране. Кстати, в свое время прообраз Mac OS X, система NextStep использовала для отображения на экране именно PostScript (точнее, его диалект, Display Postscript), но в Mac OS X его заменили на PDF.
Не могли бы вы также интересно написать статью о формате DJVU для сравнения? Я бы с удовольствием прочитал.
Присоединяюсь к просьбе.
Интересно, спасибо!
Вопрос: А насколько далеко PDF ушёл от postscript'a? Давным давно, я помню, PDF был непонятной новинкой, а документы распространялись в .ps, читались, например, GhostView. У меня тогда было представление, что PDF — это просто упакованный чем-то вроде LZW postscript, с некоторыми дополнительными фичами.
Это было лет 10 назад :)
UFO landed and left these words here
Только проделав всё это, можно превратить содержимое PDF в файл редактируемого формата, выглядящий похоже на оригинал и удобный для работы. Конечно, за многие годы многие умные люди в разных компаниях научились решать каждую из этих задач хорошо или даже отлично, но идеального решения всей задачи в целом я ещё не встречал. Но мы над этим работаем :)


Господи, а зачем? Преобразование в pdf это преобразование с потерями, то есть теряется логика верстки документа. Если кто-то захочет заменить MS на Microsoft то вполне возможно, что ширина строки изменится, и нужно будет строчку переносить. Но ведь в pdf не содержится алгоритма как это сделать. А если и абзац поедет? А страница? А что делать со ссылками (на рис. 11 на стр. 22 нарисована фига)? А ведь она уже не стр. 22, так как текст увеличился. Что делать с картинками, формулами, колонтитулами, подписями? Даже если что-то удастся из форматирования сохранить, то это будет пародия на исходный текст в pdf.

Недавно видел программу, которая переносила pdf в ворд практически один в один. Только вот там каждая буква была оформлена как надпись. Понятно, что толку от такого дока мало.
Делаем просто потому, что на такое преобразование есть платёжеспособный спрос.
Разумеется, нехалтурное изделие не должно «каждую букву оформлять как надпись» :) К счастью, большинство документов свёрстано так, что восстановление макета происходит с хорошей точностью даже без использования вычурных возможностей MS Word и других текстовых процессоров.
Чем дальше, тем больше в типичном PDF будет информации о структуре исходных документов, что упрощает решение некоторых сложных задач — так что время тоже работает на нас.
С уважением,
Вячеслав
Word -> PDF -> Word ещё поверить могу, но остальное лишено всякого смысла.
Лишены смысла скорее распечатка PDF документа, сканирование его и распознавание скана через OCR :) И далеко не всегда требуется результат представить как документ Word (или другого текстовом процессоре), и, уж тем более, далеко не всегда источник такой документ. Навскидку, реально решаемая мною как-то задача — есть tiff файл с чертежами, на которых есть некоторые таблицы (спецификации и т. п.), нужно эти таблицы вытащить в Excel… Вытащил, но думаю, что если бы «распечатка» была в PDF и была бы тогда под рукой программа, распознающая PDF не как картинку, то решил бы задачу быстрее и красивее, не говоря о том, что файл, по идее, должен был бы тогда куда меньше, т. к. чертежи практически чистый вектор.
> К счастью, большинство документов свёрстано так, что восстановление макета происходит с хорошей точностью даже без использования вычурных возможностей MS Word и других текстовых процессоров.

Как раз наоборот. Очень жаль, что все кричат «Ворд! WYSIWYG! Визуально! Всё понятно! Я профессиональный пользователь офисных пакетов!», но на самом деле очень мало людей знает что такое стили, автоматическая нумерация рисунков, автоматические ссылки на рисунки, страницы, литературу, автоматическое создание содержания и т. д. Это во-первых приводит к увеличению времени редактирования документа (ещё бы, добавили на первой странице рисунок и все номера рисунков поехали на +1 — надо исправлять руками, а если ещё и заголовок со страницы на страницу уехал, так ещё и содержание править). Более того, кроме них этот документ никто больше нормаьно редактировать и не сможет (если нужно вставить заголовок второго уровня, какой размер шрифта использовать?). Про отсутствие единого форматирования без использования стилей и других средств автоматизации я вообще молчу (а это уже доставляет неудобство читателям).

Вывод? Использование только простейших возможностей текстовых редакторов достаточно только в простейших случаях (одно-двухстраничный документ без перспектив редактирования).
Под вычурными возможностями я понимаю индивидуальное позиционирование небольших фрагментов текста во фреймах или текстбоксах, на которое выше жаловались. А вы что?
Если уж зашла речь, почитайте про то, что из логической структуры документа умеет находить и сохранять в форматы Ворда тот же FineReader 10. Не каждый офисный пользователь знает столько терминов… :)
Хех, это можно использовать FineReader для преобразования «wysiwyg» документов в нормально структурированные? :) А как-нибудь без распечатки или вывода в PDF можно обойтись? .doc, наверное, проще будет «распознать», чем .pdf?
Не совсем понял — зачем «распознавать» изначально редактируемый формат (doc)?
Имеется большое количество .doc документов, набранных в «режиме wysiwyg» людьми ничего не слышавшими о логической разметке, стилях и т. п., даже разрыв страницы делающих кучой ентеров. Хотелось бы их преобразовать в нормальные — судя по «почитайте про то, что из логической структуры документа умеет находить и сохранять в форматы Ворда тот же FineReader 10. Не каждый офисный пользователь знает столько терминов… :)» FineReader может в этом помочь :)
Ну разве что так.
А правда — попробуйте прогнать DOC через PDF и FR10 обратно в RTF/DOC, может эта связка и будет умнее совсем уж дикого пользователя… :)
И всё-же, pdf незаменим.
Есть, правда, микрософтовский XPS, но он не postsript, а значит интегрировать и поддерживать формат в железе будет непросто.
а существуют ли нормальные универсальные программы (кроме ПО к сканеру) которые формируют готовый pdf со сканера. пробовал несколько но работают либо через pdf-принтер и глючат, либо сами по себе но глючат ещё сильнее, в то время как ПО к принтерам делает все на лету. А то есть старый сканер от которого ПО уж не осталось, а получить с него pdf невозможно.
Вы не поверите :)

$ convert *.jpg filename.pdf

Для этого надо иметь программу imagemagick
спасибо программа хорошая, искал привычные gui-шные решения а о ней не подумал.
Какое же текущее говно этот имажмаджик )
Худший гну-продукт, какой я встречал, ДАДАДА!
Или объясните мне, зачем, например, для склейки 100 больших жпегов в один очень большой, нужно все 100 одновременно грузить в память, ложа комп на лопатки, когда можно было бы держать в памяти лишь парочку?
Нет, я этому поделию криворуких не доверяю.
Скажите пожалуйста, а где можно посмотреть результаты вашей работы?
Я занимаюсь схожей задачей :)
Вчера скачал, посмотрел- понравилось, я думал у вас есть что-то вроде статей, описание алгоритмов :)
Как я понимаю, алгоритмы объединения текста в какие-то базовые сущности в FineReader и PdfTransformer — одинаковые? Предоставляете ли библиотеки ваши?:)
Мне кажется не стоит ругать PDF за то, что он не конвертируется в другие форматы. Вы же сами написал что это «электронная твёрдая копия». Если надо править документ, следует править исходники — в TeX'е или в чем они там… По моему правка PDF — это некоторый хак.
Не более чем использование OCR для «бумажных твёрдых копий» — можно считать это хаком, а можно удобным инструментом
Бумажные твёрдые копии могли появится до компьютеров.
Могли, конечно, но, как мне кажется, в бизнес-среде всё-таки чаще сканируют и распознают для последующего редактирования не древние фолианты, а документы, имеющие электронные исходники удобные для редактирования, просто у того кто сканирует этих исходников нет.
А что скажете про XPS?
С пользовательской точки зрения он намного приятнее — многие документы конвертируются корректнее и размер файла меньше.
XPS — прямой конкурент PDF по назначению и возможностям, но пока не очень успешный.
> У PDF же особый путь – наибольшее распространение он получил как формат-паразит

Позвольте уточнить, на чем паразитирует PDF?
На чужих приложениях и их форматах, в которых и создаются все качественные (несканированные) документы.
На LaTeX он тоже паразитирует? Вы путаете назначение форматов. PDF — Portable Document Format. Portable. Формат предназначен для обмена документами. Сегодня использовать этот формат особенно актуально, поскольку воспроизведение «качественных» документов на 100% поддерживается только в приложении, где этот документ был создан. Порой важна даже версия приложения. Приложения для открытия «качественного» документа может не быть на компьютере пользователя.
А чем LATEX выбивается из кучи форматов-источников, не совсем понял?
Основная проблема в том, что обсуждаемый portable формат по сути не даёт ничего менять в передаваемых документах (то что криво прикручено через много лет — смех и грех). Так что об «обмене документами» я бы говорил в кавычках — скорее речь об «удобном просмотре электронных твёрдых копий документов» — да, это у PDF хорошо получается. Но не все потребности пользователей можно удовлетворить просмотром и простым аннотированием.
>обсуждаемый portable формат по сути не даёт ничего менять в передаваемых документах

А как бы в документах и не надо ничего менять:
Документ (от лат. documentum — образец, свидетельство, доказательство), материальный объект, содержащий информацию в зафиксированном виде и специально предназначенный для её передачи во времени и пространстве.

Менять на практике нужно черновики (исходники)документов в процессе их согласования, для чего PDF не очень удобен, но для этого и не предназначен.
С документами надо РАБОТАТЬ: формировать на их основании другие документы, памятки, заметки в ежедневнике, календаре, записной книжке. Просто раньше в принципе не существовало иного способа, как переписать заново.
С точки зрения программиста PDF удобен еще тем, что проще генерировать документы со сложной структурой (расположением элементов), чем в том же odt.
ODT имеет смысл именно как экспорт в редактор. Несколько другая цель, чем у PDF.
Ну так ODT — формат текстового процессора, конкурирующего с MS Word, с аналогичным Ворду назначением (создавать редактируемые документы и редактировать их) и набором возможностей.
Only those users with full accounts are able to leave comments. Log in, please.