Как стать автором
Обновить

Комментарии 27

Я конечно не знаю, но очень похоже на (незнаю как мягче сказать, из недавней цитаты с баша:) грабли-жопа
Неуж нет фрамеворка для работы с doc'ами
Как говорится, знал бы прикуп — жил бы в Сочи.
А вообще doc — закрытый формат (теперь уже был) Поэтому для работы с ним, найти что-либо очень сложно.
НЛО прилетело и опубликовало эту надпись здесь
А, может, легче в rtf-формате передавать? Или odt в крайнем случае?
Проблема в том, что файлы уже в DOC. И никто их в RTF переводить не будет.
а что из себя представляют эти документы?
Совершенно любые текстовые документы. Могут быть курсовые-лабораторные. Таблицы, картинки, графика.

Просто задача такая: обрабатывать DOC.
НЛО прилетело и опубликовало эту надпись здесь
Можно и логотипы внедрять, а можно содержимое индексировать ;-)
Возможности не ограничены.
НЛО прилетело и опубликовало эту надпись здесь
Пожалуйста, если не нужно уберите.
Хочу заметить, что сохранение позволяет получить документ БЕЗ макросов
минус проприетарщины в том, что она ориентирована на большинство пользователей. К сожалению.
У каждый технологии или продукта есть область его применения. Если вы используете продукт неестественным образом — это только и исключительно ваша проблема, Word тут не является узким местом.
В общем, как видно из статьи, моя проблема решена.
Просто мое решение может пригодиться кому-нибудь еще.

Не вижу ничего противоестественного в использовании продукта таким образом.
Может обращение к Word через COM/OLE или открытие DOC с помощью Microsoft Word?

> Word тут не является узким местом.
А что же?
MS ничего лучше не предлагает. Нет у них ни одной библиотеки для работы с doc, xml, ppt напрямую, не инициализируя COM сервер.

А жаль, в некоторых случаях winword на сервере можно было бы убрать :(
Для xls можно через ODBC, смотирте тут — www.connectionstrings.com/excel, для doc/ppt это не так очевидно, как там организовать доступ к данным. Если бы мне сейчас что-то такое предложили сделать, я бы использовал связку конвертора в docx (b2xtranslator.sourceforge.net) и собственно OpenXML SDK — openxmldeveloper.org/archive/2008/06/11/3342.aspx

А COM просто запускае рядом Word, для серверной работы это вообще маразм.
В своё время делал крошечную программку на Delphi, использовавшую офис для сохранения вордовских файлов в формате хтмл. Работало всегда как часы (преобразовывало пачками из несколько тысяч файлов). Однако, кроме Word.Document я использовал и Word.Application — с чистым Word.Document были проблемы, суть которых я уже не вспомню; ну и скорость, каждый раз запускать копию ворда не так уж и хорошо.
Перезагружаю ворд, для избавления от остатков от прошлых документов. С чистым, как-то спокойнее работать.
Кроме того у Word бывают такие проблемы: выскочит какое-нибудь окошко с предложением нажать ОК. А через COM его не нажмешь. И не отображается оно, так как Word скрыт. И работать дальше Word отказывается. И единственный выход — выкинуть процесс и начать все заново.
Тогда Вам тем более к Word.Application.DisplayAlerts
думаю, дальнейшее развитие возможно лишь дополнением «костылями». Например, более умное поведение обработчика. В случае использования конверторов «туда-обратно» (как было предложено тов. dmach) вполне возможно нарушение структуры документа.
Хотите открою одну страшную тайну, о которой тут упоминаний не нашел пока что…

Сохраните любой документ ворда, что называется, «как веб-страницу», а затем откройте и посмотрите… Там, конечно, будет много ненужной вордовской грязи, он где-то в инете лежит простой шаблончик ворд-документа в этом формате, и вы можете туда текст вставлять как обычный html, и со стилями там тоже вроде как все в порядке, css Вам в помощь. Что же насчет картинок и вообще — объектов (если это все у вас используется), то, я думаю, там ничего сложного (сам я глубоко не лазил в это дело, чисто взял себе на заметку на будущее)

Плюсы:
отпадает надобность во всяких win-серверах и ком-оле объектах соответственно, все тормоза ворда теперь вас не касаются. Вы просто берете шаблон как обычный файл и делаете с ним что надо. Если бы я с этим работал, в рукаве бы уже был какой-нибудь самописный класс (или найденный, если имеется таковой), которым я бы поделился с Вами.

Минусы:
Чесслово, не знаю, так как не тестил, не пробовал (не считая создания документа hello word, что удалось на отлично и способ занял свое заслуженное место в моей копилке решений..). Но подозреваю, что надо будет шаманить насчет вставки картинок в документ и других, более сложных объектов.
У твоего секрета есть один существенный недостаток:
Как сохранить документ «как-веб страницу» не имея при этом win-сервера?
Да, я немного не вник в конкретную суть вопроса.

Тогда можно в таком направлении подумать: для бинарного формата Excel есть парсеры на PHP, нет ли таких же для Word?

Хотя конечно это уже костыли напоминает, потому что форматы doc'ов отличаются разительно, и для каждого черт знает где и какой парсер брать… Это уже слишком) Гораздо надежнее получается, действительно, иметь win-сервер
Читать спецификацию .doc документов и реализовывать свой парсер… :D
вряд ли игра стоит свеч :)
> Следует заметить, что открытые спецификации не лишены «белых пятен», в представленной документации отсутствует описание некоторых полей и особенностей работы.

Источник www.opennet.ru/opennews/art.shtml?num=14318

но в общем, через какое-то время, должны появится работающие инструменты
Полезно.

Хотя в идеале бы все в RTF`е делать, но задача у Вас такова, что ворд нужен.

С нуля удобно в RTF.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации