Max Kirillov ([info]max630) wrote,
@ 2008-05-19 13:37:00
Previous Entry  Add to memories!  Tell a Friend!  Next Entry
odf vs ooxml
В дискуссии об "форматах офисных документов" на самом деле хороших нет.

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

Ну и потом, стандарт должен разрабатываться сразу с упором на простоту обеспечения совместимости. А тут скорее всё пошло по пути стандартизации существующих, исходно проприетарных форматов.

Хотя, возможно, я чего-то не знаю. Но даже 600 страниц odf, IMHO, многовато.

Например, что в том, что в другом - есть ли возможность зафиксировать layout, чтобы не пересчитывать его каждый раз? afaik, большинство "несовместимостей" связанно именно с этим. В odf что-то сходу не нашёл.



(Post a new comment)


[info]alexott
2008-05-22 06:15 pm UTC (link)
угу, мне тут предстоит разработка парсеров для кучи около-офисных форматов. так что я просто вешаюсь глядя на тысячи страниц описаний office open xml, pdf & odf

(Reply to this)


[info]feldgendler
2008-05-23 01:48 pm UTC (link)
Близко, но не то. Большинство «несовместимостей» связано с тем, что MS Word или аналоги используют не по назначению. Это редактор для rich text (то есть текста с информацией об оформлении, в противоположность простому тексту), а не издательская система и не графический редактор.

Если нужна издательская система, следует пользоваться PageMaker, QuarkXPress, Corel Ventura и тому подобными, тогда все надписи будут с точностью до миллиметра там, где пользователь их видит у себя на экране, написанные именно тем шрифтом и т.п. Иначе чего же удивляться, что, скажем, при отсутствии указанного шрифта Word заменяет его другим, и документ начинает чуть-чуть не влазить на одну страницу? (О «форматировании» пробелами вообще молчу.)

Леммингократия привела к тому, что к «офисным форматам» вдруг возникают требования «идеальной совместимости» с точностью до пиксела, которых изначально не было. В рамках этих требований, действительно, нужно заново реализовать MS Word, включая исторические косяки в алгоритме укладки абзацев, чтобы быть с ним «совместимым».

(Reply to this) (Thread)


[info]max630
2008-05-23 04:41 pm UTC (link)
Я всё-таки думаю, что если сохранение разметки есть в требованиях (а оно по факту есть), то и надо сохранять разметку. И всё будет.

Разумеется, при модификации документа она должна пересчитываться.

(Reply to this) (Parent)(Thread)


[info]feldgendler
2008-05-23 08:55 pm UTC (link)
Что есть «сохранение разметки»? Если это сохранение той информации, которую ты указываешь при редактировании (шрифты, отступы всевозможные), то она сохраняется. Если это сохранение миллиметровых позиций элементов на листе, то они зависят от результата укладки абзацев. Ты предлагаешь сам результат укладки сохранять, то есть координаты каждой буквы?

(Reply to this) (Parent)(Thread)


[info]max630
2008-05-23 09:09 pm UTC (link)
> Ты предлагаешь сам результат укладки сохранять, то есть координаты каждой буквы?

да

(Reply to this) (Parent)(Thread)


[info]feldgendler
2008-05-23 10:23 pm UTC (link)
Эдак у тебя получается этакий документ с PDF-подобным прицепом, причём валидность этого прицепа нарушается от малейшего дуновения. Преимущество перед пересылкой вместе с документом ещё и PDF заключается в том, что оно интегрировано. Фича сомнительной полезности, я бы не сказал, что она напрашивается.

(Reply to this) (Parent)(Thread)


[info]max630
2008-05-25 02:41 am UTC (link)
Интегрировано, да. По-моему, вообще "офисный документ" - это скорее про интегрированость, чем про ту или иную фичу.

(Reply to this) (Parent)(Thread)


[info]feldgendler
2008-05-25 09:20 am UTC (link)
Эта фича увеличит размер файла, наверное, вдвое, а проблему отодвинет всего лишь до первой правки. Файлы в «офисных» форматах ведь часто отправляют «на редактирование» или «по кругу».

(Reply to this) (Parent)(Thread)


[info]max630
2008-05-25 05:56 pm UTC (link)
это ещё надо посмотреть - насколько они сейчас увеличены. Может, и не вдвое. Да и не факт, что надо сохранять именно координаты каждой буквы. Достаточно только начало и конец строки. Вроде именно так делает pdf.

в документах, которые идут на правку, разметка обычна не важна.

не обязательно переколбашивать всю разметку при исправлении где-то. Если абзац не затронут - пусть остаётся таким же. Ну порежется на страницы в другом месте.

(Reply to this) (Parent)(Thread)


[info]feldgendler
2008-05-25 06:09 pm UTC (link)
Ну не координаты каждой буквы, конечно, а информацию, по которой они восстановимы. Собственно, сравнить можно путём генерации PDF из файла MS Word — получишь весьма эффективную упаковку такой информации, уж они-то это продумали и лишнего не хранят.

> в документах, которые идут на правку, разметка обычна не важна.

Ага, видел я такое… «Заполните эту форму и верните». При открытии кусок формы перелазит на лишнюю страницу.

> не обязательно переколбашивать всю разметку при исправлении где-то. Если абзац не затронут - пусть остаётся таким же.

А вот тут начинается сумасшествие. Это будет работать с такими флуктуациями в зависимости от последовательности действий, что пользователи просто плюнут и не будут пытаться получать воспроизводимые результаты. Примерно так никто не пытается пользоваться имеющимися в Word средствами автоматического размещения обтекаемых картинок с привязкой к абзацам — прыжки этих картинок понятны и предсказуемы только для автора этого алгоритма.

Вот некоторые вещи, которые могут повлиять на результат укладки отдельно взятого абзаца: параметры затрагивающих абзац стилей; имеющиеся в наличии шрифты и результаты подстановки вместо отсутствующих; параметры страницы в текущей секции; номер, если это элемент списка; обтекаемые картинки, размещённые на странице; значения вычислимых полей, зависящие от номера страницы, текущих заголовков и вообще чего угодно в документе; попадание на стык страниц и политика в отношении висячих строк; политика упихивания документа в заданное число страниц; собственные размеры объектов, вставленных в абзац на правах символов.

(Reply to this) (Parent)(Thread)


[info]max630
2008-05-25 06:50 pm UTC (link)
> А вот тут начинается сумасшествие...

Да, это проблема. Помогла бы кнопка "переверстать", но кто ж даст её добавить...

(Reply to this) (Parent)(Thread)


[info]feldgendler
2008-05-25 06:59 pm UTC (link)
И что было бы, если бы пользователь вносил правки, не нажимая этой кнопки?

(Reply to this) (Parent)


Create an Account
Forgot your login or password?
Login w/ OpenID
English • Español • Deutsch • Русский…