Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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.049 c
1-1194517113
DDDeN
2007-11-08 13:18
2008.02.17
Реализация механизма расписания


6-1180443920
Chaser
2007-05-29 17:05
2008.02.17
Путь к папке "Program Files" на удаленном компьютере


4-1182808934
Денис178
2007-06-26 02:02
2008.02.17
Измение текста static контрола


15-1199947531
saNat
2008-01-10 09:45
2008.02.17
Настройка NAT (?)


15-1200452599
Slider007
2008-01-16 06:03
2008.02.17
С днем рождения ! 16 января 2008 среда





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский