Comments 58
Статья похоже из разряда «Как же оно меня достало»? :)
+16
В свое время выдирал из пдф текст для перевода через комменты (которые автоматически копируются в желтые всплывающие окна, если выделить весь текст на странице) и затем сохранял эти комменты отдельно в XML. После чего XML переводился в Trados, в случае большого документа (мне попадались целые инструкции к камерам, проигрывателям и т. п. на 100-200 стр.) резался на куски, затем обратно в XML, загрузка комментов, отправка заказчику откомментированного дока.
Так вот во время этой работы обнаружилось, что текст в PDF-документе часто на самом деле следует в обратном порядке (от последних абзацев к первым; особенно это касается заголовков), некоторые символы (буллеты, сноски) вообще не копируются ни в каком виде, и т. д. и т. п. То есть так называемый документ PDF фактически представляет собой кашу, в которой спасибо что хоть абзацы в большинстве своем не разбиты на куски (кроме перетекающих со страницы на страницу).
Потому автора данного поста лично я очень хорошо понимаю:)
Так вот во время этой работы обнаружилось, что текст в PDF-документе часто на самом деле следует в обратном порядке (от последних абзацев к первым; особенно это касается заголовков), некоторые символы (буллеты, сноски) вообще не копируются ни в каком виде, и т. д. и т. п. То есть так называемый документ PDF фактически представляет собой кашу, в которой спасибо что хоть абзацы в большинстве своем не разбиты на куски (кроме перетекающих со страницы на страницу).
Потому автора данного поста лично я очень хорошо понимаю:)
+7
Спасибо за статью, почитал с удовольствием и не могу не согласиться. Самое интересное — что даже крупные компании не отдают себе отчёта в перечисленных вами особенностях ПДФ. На своей шкуре почувствовал это с читалкой фирмы Сони (PRS-600), которая ПДФ файлы пыталась зумить увеличивая шрифт, вместо нормального приближения а ля картинка. При этом по краям экрана оставались поля сантиметра по полтора, но читать было не возможно из-за ужасной потери форматирования.
Зато вот режим создания ПДФ «текст под изображением» из FineReader-а как манна небесная — только так можно быть уверенным, что со сканируемого документа не пропадет ни один элемент, но по нему будет удобный контекстный поиск, в т.ч. по многим документам сразу.
П.С. Пользуясь случаем, хотел спросить у знатока ПДФ, не подскажите ли способ читать и писать метаданные из файла ПДФ (именно метаданные ПДФ а не файла) помощью VBA (из Excel) без установки Acrobat-а? Сейчас как-раз ищу подходящую библиотеку для мелкого проекта.
Зато вот режим создания ПДФ «текст под изображением» из FineReader-а как манна небесная — только так можно быть уверенным, что со сканируемого документа не пропадет ни один элемент, но по нему будет удобный контекстный поиск, в т.ч. по многим документам сразу.
П.С. Пользуясь случаем, хотел спросить у знатока ПДФ, не подскажите ли способ читать и писать метаданные из файла ПДФ (именно метаданные ПДФ а не файла) помощью VBA (из Excel) без установки Acrobat-а? Сейчас как-раз ищу подходящую библиотеку для мелкого проекта.
0
UFO just landed and posted this 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
С уважением,
Вячеслав
Стр 1
Стр 2
Стр 3
Стр 4
С уважением,
Вячеслав
+1
Есть :)
0
Прошу прощения. Гребанный 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.
Это комментарий отсюда 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.
0
Давным давно я вообще думал что pdf — формат для защиты данных от редактирования :)
Уже позже стал удивляться — что за фигня, нет ни одного нормального конвертора ИЗ pdf и в то же время не в Jpeg :) А если и что-то похожее и есть то только платное.
И это при том что многие люди стали путать назнечение pdf и использовать его не только когда надо что-то лишь распечатать :\
Уже позже стал удивляться — что за фигня, нет ни одного нормального конвертора ИЗ pdf и в то же время не в Jpeg :) А если и что-то похожее и есть то только платное.
И это при том что многие люди стали путать назнечение pdf и использовать его не только когда надо что-то лишь распечатать :\
+2
Вот, к сожалению, у нас очень многие так думают! На самом деле pdf это отличный формат для чтения документов, единственный одинаково отображающейся на любом устройстве и любой OS. У нас же до сих пор многие требуют прислать doc, увидев pdf. А этого дока быть может и в природе не существует, так как pdf не только из ворда растёт. Ну или обратная ситуация, приходит мне док и чем я его буду смотреть, скажем, на андроиде? На Западе, почему-то, pdf гораздо более распространён.
+1
Там в университетах курсовые в ПДФ-формате преподавателю отсылают на почту. Никаких doc или odt.
+1
Postscript, DVI — тоже форматы, которые отображаются одинаково. DVI даже и называется так из-за этого свойства — device independent. Так что PDF — совсем не единственный.
С остальным согласен. Современный удобный формат для пересылки документов, которые заведомо не требуется редактировать — а таковых большинство.
Даже в случае с редактированием — есть PDF-ки с формами для заполнения, ввёл свои данные и печатаешь. Остальное — «рыбу», саму форму — испортить (отредактировать) не можешь.
С остальным согласен. Современный удобный формат для пересылки документов, которые заведомо не требуется редактировать — а таковых большинство.
Даже в случае с редактированием — есть PDF-ки с формами для заполнения, ввёл свои данные и печатаешь. Остальное — «рыбу», саму форму — испортить (отредактировать) не можешь.
+1
Из любых документов предполагается извлекать информацию, с ними работают — переносят фрагменты в другие документы, календари, ежедневники, базы данных и т.п. А pdf хранит лишь способ её вывода на экран/бумагу, зачастую с ним совершенно невозможно работать — вместо банального копирования приходится перенабирать вручную.
0
PDF — это, фактически, и есть подвид Postscript-а, в котором нет postscript-вычислений (то есть все вычисления реализованы в виде окончательных результатов), что позволяет обеспечить гарантированное время рисования на экране. Кстати, в свое время прообраз Mac OS X, система NextStep использовала для отображения на экране именно PostScript (точнее, его диалект, Display Postscript), но в Mac OS X его заменили на PDF.
0
Не могли бы вы также интересно написать статью о формате DJVU для сравнения? Я бы с удовольствием прочитал.
+2
Интересно, спасибо!
Вопрос: А насколько далеко PDF ушёл от postscript'a? Давным давно, я помню, PDF был непонятной новинкой, а документы распространялись в .ps, читались, например, GhostView. У меня тогда было представление, что PDF — это просто упакованный чем-то вроде LZW postscript, с некоторыми дополнительными фичами.
Вопрос: А насколько далеко PDF ушёл от postscript'a? Давным давно, я помню, PDF был непонятной новинкой, а документы распространялись в .ps, читались, например, GhostView. У меня тогда было представление, что PDF — это просто упакованный чем-то вроде LZW postscript, с некоторыми дополнительными фичами.
+1
Только проделав всё это, можно превратить содержимое PDF в файл редактируемого формата, выглядящий похоже на оригинал и удобный для работы. Конечно, за многие годы многие умные люди в разных компаниях научились решать каждую из этих задач хорошо или даже отлично, но идеального решения всей задачи в целом я ещё не встречал. Но мы над этим работаем :)
Господи, а зачем? Преобразование в pdf это преобразование с потерями, то есть теряется логика верстки документа. Если кто-то захочет заменить MS на Microsoft то вполне возможно, что ширина строки изменится, и нужно будет строчку переносить. Но ведь в pdf не содержится алгоритма как это сделать. А если и абзац поедет? А страница? А что делать со ссылками (на рис. 11 на стр. 22 нарисована фига)? А ведь она уже не стр. 22, так как текст увеличился. Что делать с картинками, формулами, колонтитулами, подписями? Даже если что-то удастся из форматирования сохранить, то это будет пародия на исходный текст в pdf.
Недавно видел программу, которая переносила pdf в ворд практически один в один. Только вот там каждая буква была оформлена как надпись. Понятно, что толку от такого дока мало.
+1
Делаем просто потому, что на такое преобразование есть платёжеспособный спрос.
Разумеется, нехалтурное изделие не должно «каждую букву оформлять как надпись» :) К счастью, большинство документов свёрстано так, что восстановление макета происходит с хорошей точностью даже без использования вычурных возможностей MS Word и других текстовых процессоров.
Чем дальше, тем больше в типичном PDF будет информации о структуре исходных документов, что упрощает решение некоторых сложных задач — так что время тоже работает на нас.
С уважением,
Вячеслав
Разумеется, нехалтурное изделие не должно «каждую букву оформлять как надпись» :) К счастью, большинство документов свёрстано так, что восстановление макета происходит с хорошей точностью даже без использования вычурных возможностей MS Word и других текстовых процессоров.
Чем дальше, тем больше в типичном PDF будет информации о структуре исходных документов, что упрощает решение некоторых сложных задач — так что время тоже работает на нас.
С уважением,
Вячеслав
0
Word -> PDF -> Word ещё поверить могу, но остальное лишено всякого смысла.
0
Лишены смысла скорее распечатка PDF документа, сканирование его и распознавание скана через OCR :) И далеко не всегда требуется результат представить как документ Word (или другого текстовом процессоре), и, уж тем более, далеко не всегда источник такой документ. Навскидку, реально решаемая мною как-то задача — есть tiff файл с чертежами, на которых есть некоторые таблицы (спецификации и т. п.), нужно эти таблицы вытащить в Excel… Вытащил, но думаю, что если бы «распечатка» была в PDF и была бы тогда под рукой программа, распознающая PDF не как картинку, то решил бы задачу быстрее и красивее, не говоря о том, что файл, по идее, должен был бы тогда куда меньше, т. к. чертежи практически чистый вектор.
0
> К счастью, большинство документов свёрстано так, что восстановление макета происходит с хорошей точностью даже без использования вычурных возможностей MS Word и других текстовых процессоров.
Как раз наоборот. Очень жаль, что все кричат «Ворд! WYSIWYG! Визуально! Всё понятно! Я профессиональный пользователь офисных пакетов!», но на самом деле очень мало людей знает что такое стили, автоматическая нумерация рисунков, автоматические ссылки на рисунки, страницы, литературу, автоматическое создание содержания и т. д. Это во-первых приводит к увеличению времени редактирования документа (ещё бы, добавили на первой странице рисунок и все номера рисунков поехали на +1 — надо исправлять руками, а если ещё и заголовок со страницы на страницу уехал, так ещё и содержание править). Более того, кроме них этот документ никто больше нормаьно редактировать и не сможет (если нужно вставить заголовок второго уровня, какой размер шрифта использовать?). Про отсутствие единого форматирования без использования стилей и других средств автоматизации я вообще молчу (а это уже доставляет неудобство читателям).
Вывод? Использование только простейших возможностей текстовых редакторов достаточно только в простейших случаях (одно-двухстраничный документ без перспектив редактирования).
Как раз наоборот. Очень жаль, что все кричат «Ворд! WYSIWYG! Визуально! Всё понятно! Я профессиональный пользователь офисных пакетов!», но на самом деле очень мало людей знает что такое стили, автоматическая нумерация рисунков, автоматические ссылки на рисунки, страницы, литературу, автоматическое создание содержания и т. д. Это во-первых приводит к увеличению времени редактирования документа (ещё бы, добавили на первой странице рисунок и все номера рисунков поехали на +1 — надо исправлять руками, а если ещё и заголовок со страницы на страницу уехал, так ещё и содержание править). Более того, кроме них этот документ никто больше нормаьно редактировать и не сможет (если нужно вставить заголовок второго уровня, какой размер шрифта использовать?). Про отсутствие единого форматирования без использования стилей и других средств автоматизации я вообще молчу (а это уже доставляет неудобство читателям).
Вывод? Использование только простейших возможностей текстовых редакторов достаточно только в простейших случаях (одно-двухстраничный документ без перспектив редактирования).
0
Под вычурными возможностями я понимаю индивидуальное позиционирование небольших фрагментов текста во фреймах или текстбоксах, на которое выше жаловались. А вы что?
Если уж зашла речь, почитайте про то, что из логической структуры документа умеет находить и сохранять в форматы Ворда тот же FineReader 10. Не каждый офисный пользователь знает столько терминов… :)
Если уж зашла речь, почитайте про то, что из логической структуры документа умеет находить и сохранять в форматы Ворда тот же FineReader 10. Не каждый офисный пользователь знает столько терминов… :)
0
Хех, это можно использовать FineReader для преобразования «wysiwyg» документов в нормально структурированные? :) А как-нибудь без распечатки или вывода в PDF можно обойтись? .doc, наверное, проще будет «распознать», чем .pdf?
0
Не совсем понял — зачем «распознавать» изначально редактируемый формат (doc)?
0
Имеется большое количество .doc документов, набранных в «режиме wysiwyg» людьми ничего не слышавшими о логической разметке, стилях и т. п., даже разрыв страницы делающих кучой ентеров. Хотелось бы их преобразовать в нормальные — судя по «почитайте про то, что из логической структуры документа умеет находить и сохранять в форматы Ворда тот же FineReader 10. Не каждый офисный пользователь знает столько терминов… :)» FineReader может в этом помочь :)
0
И всё-же, pdf незаменим.
Есть, правда, микрософтовский XPS, но он не postsript, а значит интегрировать и поддерживать формат в железе будет непросто.
Есть, правда, микрософтовский XPS, но он не postsript, а значит интегрировать и поддерживать формат в железе будет непросто.
+2
Сравнив форматы ( en.wikipedia.org/wiki/Comparison_of_OpenXPS_and_PDF ), вообще трудно понять, зачем нужен XPS.
+1
а существуют ли нормальные универсальные программы (кроме ПО к сканеру) которые формируют готовый pdf со сканера. пробовал несколько но работают либо через pdf-принтер и глючат, либо сами по себе но глючат ещё сильнее, в то время как ПО к принтерам делает все на лету. А то есть старый сканер от которого ПО уж не осталось, а получить с него pdf невозможно.
0
+2
спасибо программа хорошая, искал привычные gui-шные решения а о ней не подумал.
0
Какое же текущее говно этот имажмаджик )
Худший гну-продукт, какой я встречал, ДАДАДА!
Или объясните мне, зачем, например, для склейки 100 больших жпегов в один очень большой, нужно все 100 одновременно грузить в память, ложа комп на лопатки, когда можно было бы держать в памяти лишь парочку?
Нет, я этому поделию криворуких не доверяю.
Худший гну-продукт, какой я встречал, ДАДАДА!
Или объясните мне, зачем, например, для склейки 100 больших жпегов в один очень большой, нужно все 100 одновременно грузить в память, ложа комп на лопатки, когда можно было бы держать в памяти лишь парочку?
Нет, я этому поделию криворуких не доверяю.
-3
Скажите пожалуйста, а где можно посмотреть результаты вашей работы?
Я занимаюсь схожей задачей :)
Я занимаюсь схожей задачей :)
0
Прежде всего на www.abbyy.ru/download/finereader_pro, www.abbyy.ru/download/pdftransformer
Ну и прочие продукты на www.abbyy.ru/download/ и в магазинах, обычных и электронных.
Ну и прочие продукты на www.abbyy.ru/download/ и в магазинах, обычных и электронных.
0
Вчера скачал, посмотрел- понравилось, я думал у вас есть что-то вроде статей, описание алгоритмов :)
Как я понимаю, алгоритмы объединения текста в какие-то базовые сущности в FineReader и PdfTransformer — одинаковые? Предоставляете ли библиотеки ваши?:)
Как я понимаю, алгоритмы объединения текста в какие-то базовые сущности в FineReader и PdfTransformer — одинаковые? Предоставляете ли библиотеки ваши?:)
0
Инструментарий для разрабочиков здесь — www.abbyy.ru/sdk/
0
Мне кажется не стоит ругать PDF за то, что он не конвертируется в другие форматы. Вы же сами написал что это «электронная твёрдая копия». Если надо править документ, следует править исходники — в TeX'е или в чем они там… По моему правка PDF — это некоторый хак.
0
Не более чем использование OCR для «бумажных твёрдых копий» — можно считать это хаком, а можно удобным инструментом
0
Бумажные твёрдые копии могли появится до компьютеров.
0
А что скажете про XPS?
С пользовательской точки зрения он намного приятнее — многие документы конвертируются корректнее и размер файла меньше.
С пользовательской точки зрения он намного приятнее — многие документы конвертируются корректнее и размер файла меньше.
0
> У PDF же особый путь – наибольшее распространение он получил как формат-паразит
Позвольте уточнить, на чем паразитирует PDF?
Позвольте уточнить, на чем паразитирует PDF?
0
На чужих приложениях и их форматах, в которых и создаются все качественные (несканированные) документы.
-1
На LaTeX он тоже паразитирует? Вы путаете назначение форматов. PDF — Portable Document Format. Portable. Формат предназначен для обмена документами. Сегодня использовать этот формат особенно актуально, поскольку воспроизведение «качественных» документов на 100% поддерживается только в приложении, где этот документ был создан. Порой важна даже версия приложения. Приложения для открытия «качественного» документа может не быть на компьютере пользователя.
+1
А чем LATEX выбивается из кучи форматов-источников, не совсем понял?
Основная проблема в том, что обсуждаемый portable формат по сути не даёт ничего менять в передаваемых документах (то что криво прикручено через много лет — смех и грех). Так что об «обмене документами» я бы говорил в кавычках — скорее речь об «удобном просмотре электронных твёрдых копий документов» — да, это у PDF хорошо получается. Но не все потребности пользователей можно удовлетворить просмотром и простым аннотированием.
Основная проблема в том, что обсуждаемый portable формат по сути не даёт ничего менять в передаваемых документах (то что криво прикручено через много лет — смех и грех). Так что об «обмене документами» я бы говорил в кавычках — скорее речь об «удобном просмотре электронных твёрдых копий документов» — да, это у PDF хорошо получается. Но не все потребности пользователей можно удовлетворить просмотром и простым аннотированием.
+1
>обсуждаемый portable формат по сути не даёт ничего менять в передаваемых документах
А как бы в документах и не надо ничего менять:
Менять на практике нужно черновики (исходники)документов в процессе их согласования, для чего PDF не очень удобен, но для этого и не предназначен.
А как бы в документах и не надо ничего менять:
Документ (от лат. documentum — образец, свидетельство, доказательство), материальный объект, содержащий информацию в зафиксированном виде и специально предназначенный для её передачи во времени и пространстве.
Менять на практике нужно черновики (исходники)документов в процессе их согласования, для чего PDF не очень удобен, но для этого и не предназначен.
0
С точки зрения программиста PDF удобен еще тем, что проще генерировать документы со сложной структурой (расположением элементов), чем в том же odt.
0
Sign up to leave a comment.
PDF с точки зрения программиста