Форум: "Прочее";
Текущий архив: 2008.02.17;
Скачать: [xml.tar.bz2];
ВнизПодскажите, где найти описание формата *.doc? Найти похожие ветки
← →
rts111 © (2008-01-16 19:49) [0]Подскажите, где найти описание формата *.doc? ( binary ) ( Word Office )
Читал где-то, что мол MS выкладывали на MSDN, но найти не могу?
← →
ketmar © (2008-01-16 20:00) [1]официального нет. только rtf и новомодный OOXML (или как там оно?)
← →
OSokin (2008-01-16 20:06) [2]Можно выдрать из исходников OpenOffice ;)
← →
rts111 © (2008-01-16 20:13) [3]
> ketmar © (16.01.08 20:00) [1]
> официального нет. только rtf и новомодный OOXML (или как
> там оно?)
А может что "не официальное" подскажите?
Можно и не самое современное,
подойдет и описание формата *.doc для Office97.
Мне нужно программно формировать документ,
там бывают, например, огромные таблицы,
и через TWordApplication очень медленно получается.
Хотелось бы непосредственно в программе это все делать.
← →
Piter © (2008-01-16 20:16) [4]rts111 © (16.01.08 20:13) [3]
там бывают, например, огромные таблицы,
и через TWordApplication очень медленно получается
копай в эту сторону, быстрее ворда ты 99% не сделаешь. Видимо, неоптимально работаешь с вордом (хотя таблицы это вроде EXCEL получается) через COM.
← →
Mystic © (2008-01-16 20:21) [5]> копай в эту сторону, быстрее ворда ты 99% не сделаешь
А обосновать?
← →
Александр Иванов © (2008-01-16 20:22) [6]В сторону WordML посмотри.
С его помощью делал отчеты. Через COM огромный отчет формировался несколько часов. С помощью WordML - десятки секунд.
← →
rts111 © (2008-01-16 20:25) [7]
> Piter © (16.01.08 20:16) [4]
> rts111 © (16.01.08 20:13) [3]
> там бывают, например, огромные таблицы,
> и через TWordApplication очень медленно получается
>
> копай в эту сторону, быстрее ворда ты 99% не сделаешь. Видимо,
> неоптимально работаешь с вордом (хотя таблицы это вроде
> EXCEL получается) через COM.
Да сами то таблицы формируются мгновенно,
но вот когда я их вставляю в Word,
начинаются тормоза.
Или например если удаляю первую строчку из большой таблицы,
документ начинает весь перестраиваться,
и опять все очень медленно получается.
← →
Семен Сурков (2008-01-16 20:26) [8]Раньше было описание на сайте openoffice.
Убрали, наверное по требования MS :)
← →
Семен Сурков (2008-01-16 20:30) [9]2Автор. Имей в виду - формат очень непростой. Я серьезно сомневаюсь, что ты с ним справишься. Я в свое время его смотрел.
← →
rts111 © (2008-01-16 20:32) [10]
> Семен Сурков (16.01.08 20:26) [8]
> Раньше было описание на сайте openoffice.
> Убрали, наверное по требования MS :)
А вы не в курсе, сам этот формат очень трудный?
Может в нем разобраться скажем средний программист за неделю?
← →
rts111 © (2008-01-16 20:33) [11]
> Семен Сурков (16.01.08 20:30) [9]
> 2Автор. Имей в виду - формат очень непростой. Я серьезно
> сомневаюсь, что ты с ним справишься. Я в свое время его
> смотрел.
Ну и как, понял что к чему?
← →
Александр Иванов © (2008-01-16 20:36) [12]Мне формат показался простым. По крайней мере простые элементы типа параграфов, таблиц. Разбирался без справочника, простым сохранением в формат XML и просмотром получившегося кода.
← →
rts111 © (2008-01-16 20:38) [13]
> Семен Сурков (16.01.08 20:30) [9]
> 2Автор. Имей в виду - формат очень непростой. Я серьезно
> сомневаюсь, что ты с ним справишься. Я в свое время его
> смотрел.
А у Вас случайно не заволялось это описание? :)
← →
ketmar © (2008-01-16 20:41) [14]>[3] rts111 ©(16.01.08 20:13)
вроде бы старый в районе wotsid видел. или то rtf был?
кстати. а что, rtf нельзя по реигиозным причинам? оно отлично держит практически всё, что держит .doc.
← →
ketmar © (2008-01-16 20:44) [15]>[10] rts111 ©(16.01.08 20:32)
>А вы не в курсе, сам этот формат очень трудный?
это compound document. внутри лежат ещё несколько файлов -- сам документ, объекты всякие, etc. разобраться можно (вон, AbiWord и OO читают же %-), но смысл?
← →
rts111 © (2008-01-16 20:47) [16]
> ketmar © (16.01.08 20:41) [14]
Вот описание *.rtf мне тоже уже встречалось,
и даже кажется где-то у меня есть, а *.doc - это требование заказчика.
← →
Amoeba © (2008-01-16 20:52) [17]Еще могу добавить ко всему вышесказанному, что формат MSWord (по 2003 включительно) завязан на такую штуку в MS Windows (не знаю, насколько открыт он), как Structured Storages (доступ через ф-ии WinAPI, относящиеся к IStorage + IStream). А то, что внутри того, что похоже на дерево папок в файлами (структура легко доступна через вышеназванное API) - пес его знает. Так что понятие формата здесь неоднозначно и имеет немного общего, например, с RTF и т.п.. Вобщем, утешительного мало.
← →
Kerk © (2008-01-16 20:56) [18]Примеры работы с Structured Storages есть на http://code.progler.ru :)
← →
Семен Сурков (2008-01-16 20:57) [19]2Автор
Мой совет - не берись писать сам. Выкрутись, тот же rtf использовй, потому его открывай в word и сохраняй как doc. Сам не пиши.
Описания не завалялось, т.к. моей задачей был XLS. Я его тогда сделал. В принципе уровень нужен выше среднего, т.к. описано было не все, что-то пришлось имперически "поднимать".
Когда доделал был удивлен изрядно, что для XLS есть уже компонент, причем много мощнее моего - XLSReadWrite. Если бы знал, что есть, то его бы использовал. Могу тебе сказать совершенно точно, что достичь уровня XLSReadWrite вообще нереально (я его исподники видел - в осле лежали).
О чем это я? Да о том, что поищи придирчиво - может и для Word есть аналогичный компонент. Потрать время, ВОЗМОЖНО, что оно окупится.
← →
TStas © (2008-01-16 21:04) [20]Вообще-то СОМ тешнология торомзная от природы. ВордАппликейшн - не придел совершениства. Есть книжка, притом она продавалась еще недавно в БИблиоГлобусе "ПРограммирование документов и приложений МС офис в Дельфи". Конечно, возможностей там намного больше, чем TWordApplication. Писать самому не лучший выход, т. к. огромное кол-во сил будет убито на отладку т. е. зря.
Если речь идет о таблицах в ворде, то в этой книжке они как раз очень хорошо описаны.
← →
Семен Сурков (2008-01-16 21:06) [21]2tstas
там как раз отлаживать нечего, ибо единственный выход - точно знать формат. иного не дано. формат очень замороченный. сужу по xls, но полагаю, что в ворде схожий. как точно в ворде не помню, но дока страниц 200 была.
← →
Правильный_Вася (2008-01-16 21:10) [22]7zip понимает этот формат, а он - в исходниках
← →
rts111 © (2008-01-16 21:16) [23]Эх, мне бы описание! :)
← →
TStas © (2008-01-16 21:41) [24]И делалась минут 20 верно? Я по свойе проге сужу: докУмент на 10 страниц делает около минуты, ну, от компа, конечно, сильно зависит.
← →
rts111 © (2008-01-16 21:45) [25]У меня докамент генерится страниц эдак на 250. :)
← →
ketmar © (2008-01-16 21:46) [26]>[16] rts111 ©(16.01.08 20:47)
>*.doc — это требование заказчика.
хинт: если дать rtf-у раширение .doc — ворд его чудно слопает.
← →
rts111 © (2008-01-16 21:47) [27]
> ketmar © (16.01.08 21:46) [26]
> >[16] rts111 ©(16.01.08 20:47)
> >*.doc — это требование заказчика.
> хинт: если дать rtf-у раширение .doc — ворд его чудно слопает.
>
А это идея!!!
Нужно будет попробовать.
← →
rts111 © (2008-01-16 22:57) [28]
> ketmar © (16.01.08 21:46) [26]
> >[16] rts111 ©(16.01.08 20:47)
> >*.doc — это требование заказчика.
> хинт: если дать rtf-у раширение .doc — ворд его чудно слопает.
>
Сейчас проверил, все отлично работает!
И все структуры ( документ сложный ) и форматирование полностью сохраняются.
Если заказчика такой вариант устроит, то так наверное и сделаю.
Спасибо за подсказку!
← →
rts111 © (2008-01-16 23:01) [29]В принципе, *.rtf можно будет просто сохранить во временную папку,
потом открыть програмно в Word, и самим Word"ом уже сохранить как *.doc
← →
Piter © (2008-01-17 01:19) [30]Mystic © (16.01.08 20:21) [5]
А обосновать?
Word - достаточно грамотный продукт, я считаю. Действительно, грамотный, он управляет документами на десятки и даже сотни мегабайт и не тормозит. В общем, по многим признакам и мнениям Word - грамотный текстовый редактор. Поэтому сильно сомнительно, что обычный программер "за неделю" разборов сделал бы что-то более быстро работающее, даже пусть и в узкой области.
Тормоза связаны или с тем, что неправильно идет работа с Word"ом, неоптимально (скорее всего) или это действительно просто затратная операция и.
← →
korneley © (2008-01-17 01:33) [31]
> Тормоза связаны или с тем, что неправильно идет работа с
> Word"ом, неоптимально (скорее всего) или это действительно
> просто затратная операция
Любая операция на 250 (rts111 [25])листов в Ворде - "затратная". Через COM запаришься ждать... Вот когда заказчик хочет Экселевский документ (простой), кто делает *.xls, а не файл, разделённый запятыми/табуляцией/точкой с запятой ?
← →
ketmar © (2008-01-17 02:12) [32]>[28] rts111 ©(16.01.08 22:57)
а чего бы не устроило? я почти уверен, что .doc они хотят лишь для уменьшения «геморроя» — «чтобы я клацнул, а оно открыло». и для возможных пересылок куда-либо без конвертации. обе задачи «rtf с расширением doc» решает отлично. на это и делай упор (и ещё упор на то, что бинарный doc может «полететь» под разными версиями офиса, а rtf — нет) — тогда с 99.9% гарантией заказчик согласится.
← →
Семен Сурков (2008-01-17 02:27) [33]
> rts111 © (16.01.08 23:01) [29]
> В принципе, *.rtf можно будет просто сохранить во временную
> папку,потом открыть програмно в Word, и самим Word"ом уже
> сохранить как *.doc
внимательный ты аднака читатель.
тебе это несколько раз уже говорили, и я в том числе.
← →
rts111 © (2008-01-17 02:29) [34]Одна проблемма, файл(*.rtf) получается очень большой 100-150 Мб.
А вот если в формате *.doc - то на порядок меньше.
← →
ketmar © (2008-01-17 02:34) [35]>[34] rts111 ©(17.01.08 02:29)
ты от этого не спишь по ночам? посоветуй заказчикам брать винты побольше. имо, требование наличия на машине ворда (причём конктретных версий) или создание руками файла с недокументированым форматом — верх идиотизма, когда есть решение проще и универсальней.
← →
Германн © (2008-01-17 02:35) [36]
> Piter © (17.01.08 01:19) [30]
>
> Mystic © (16.01.08 20:21) [5]
> А обосновать?
>
> Word - достаточно грамотный продукт, я считаю. Действительно,
> грамотный, он управляет документами на десятки и даже сотни
> мегабайт и не тормозит. В общем, по многим признакам и мнениям
> Word - грамотный текстовый редактор. Поэтому сильно сомнительно,
> что обычный программер "за неделю" разборов сделал бы что-
> то более быстро работающее, даже пусть и в узкой области.
>
Ты видишь разницу между "текстовым редактором" и "COM технологией"?
По-моему нет.
← →
ketmar © (2008-01-17 02:35) [37]кстати, что это за файлы такого объёма? количество выпавешго за зиму снега с детальным описанием каждой снежинки? по-моему кто-то очень болен…
← →
rts111 © (2008-01-17 02:45) [38]
> Семен Сурков (17.01.08 02:27) [33]
...
> внимательный ты аднака читатель.
> тебе это несколько раз уже говорили, и я в том числе.
Да мне что-то и в голову не пришло,
что *.rtf полностью форматирование сохранит,
т.к. документ по структуре очень сложный,
разные там рамочки, вертикальные надписи, формулы, таблицы , рисунки, колонтитулы и т.д. ...
← →
rts111 © (2008-01-17 02:51) [39]
> ketmar © (17.01.08 02:35) [37]
> кстати, что это за файлы такого объёма? количество выпавешго
> за зиму снега с детальным описанием каждой снежинки? по-
> моему кто-то очень болен…
Это расчет зоны влияния антенн.
Там куча разных графиков(рисунков) и таблиц.
← →
Семен Сурков (2008-01-17 02:53) [40]
> rts111 © (17.01.08 02:45) [38]
Поверь - забудь идею, написать сам.
Это очень непросто. Я в свое время взялся писать для XLS. Мне просто по кайфу было сказать, что за 2 недели. Сделал за 3. Это челендж бил - я ночами не спал. Просто перло. Не знаю, как это описать понятней и культурней:)
Сейчас бы я за такое не взялся, ибо непросто это.
Резюм:
1. Останавливайся на RTF.
2. Иши open source компоненты для экспорта в *.doc.
PS. Если найдешь, то, пожалуйста, скинь информацию сюда.
Страницы: 1 2 3 вся ветка
Форум: "Прочее";
Текущий архив: 2008.02.17;
Скачать: [xml.tar.bz2];
Память: 0.56 MB
Время: 0.051 c