2010-01-03 4 views
3

«Документы» нашего приложения - это одиночные двоичные файлы.Создание формата документа в формате MS Office для отображения свойств документа

Наши клиенты спрашивают, можем ли мы добавить свойства документа, подобные Office Office, в наши файлы документов, чтобы пользователям было проще управлять ими. Легче управлять, я имею в виду способность Windows Explorer отображать общие свойства документа во всплывающих подсказках.

Мои исследования показывают, что мы должны рассматривать OLE Structured Storage как основу для наших файлов данных. Я видел эту технику, альтернативно описанную как MS Structured Storage, OLE 2 Compound Document Formats и метаданные файлов Windows.

Мое беспокойство по поводу использования OLE Structured Storage заключается в том, что он не выглядит так, что Office 2007 или 2010 больше используют этот формат файла, а для OLE Structured Storage требуется регистрация компонента ActiveX DSOFILE.DLL, который многие из наших клиентов не будут которые могут использоваться, поскольку они запускают наше программное обеспечение на заблокированных рабочих станциях, где у пользователей нет прав администратора на установку программного обеспечения. (Наше прикладное программное обеспечение является чистым развертыванием XCOPY).

Хотел бы услышать идеи о том, что у нас есть.

Спасибо, Malcolm

ответ

3

Я уверен, что ваш лучший ответ заключается в использовании составного документа OLE.

Возможно, Microsoft прекратила использовать это, но это связано с тем, что они перешли в формат файла XML. Если вы не хотите конвертировать из вашего текущего формата файла в XML, я не думаю, что новый стандарт для тегов будет интересен для вас.

Возможно, вы можете создать приложение для сохранения двух файлов, XML-файлов только для тегов и двоичных данных, но это просто означает боль для ваших пользователей. Весь смысл формата документа OLE - это разрешить несколько «файлов», связанных друг с другом в одном файле.

Кроме того, я был бы очень удивлен, если бы у современных Windows не было поддержки встроенных документов OLE, которые были встроены. Я уверен, что еще в Microsoft Word 6.0 более десяти лет назад документы были сохранены в этом Формат документа OLE. Зачем Windows XP или новее нужен дополнительный .DLL-файл, чтобы иметь возможность анализировать теги?

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

Итак, я предлагаю вам попробовать создать составной документ OLE, а затем просто посмотреть на файл в проводнике Windows в стандартной установке Windows XP. Посмотрите, можете ли вы видеть теги, не загружая и не устанавливая ActiveX .DLL. Я уверен, что это сработает. (Но я больше не делаю Windows, поэтому я не могу это проверить.)

EDIT: Хорошо, я просто сделал тест. Я на работе, и у меня здесь компьютер с Windows. Я использовал Word 2007 для создания документа, и я сохранил документ в формате Word 97. Я просмотрел свойства документа в Проводнике Windows; имя автора было видно в тегах. Я добавил текст в «комментарии», а затем открыл файл в Word 2007. Затем я смог просмотреть комментарии (щелкните по кругу значков «офис» в верхнем левом углу, выберите «Подготовить», выберите «Свойства»).

Итак, у моей теории есть некоторые доказательства для ее поддержки: мне не нужно было устанавливать какое-либо специальное программное обеспечение, мой проводник Windows просто работал с форматом документа OLE в формате Word с помощью тегов. (Возможно, Microsoft Office установил какой-то специальный .DLL, чтобы использовать теги в Проводнике Windows, у меня на этом компьютере установлен Microsoft Office 2007. Но у ваших клиентов, вероятно, также есть Microsoft Office, поэтому, даже если это так, я все еще подумайте, что это лучшее решение.)

Я предлагаю вам поиск в Google «Формат документа OLE» и посмотреть, как записать этот формат. Я нашел пример того, как читать теги здесь: http://support.microsoft.com/kb/186898

+0

Стив: Вы упомянули «новый стандарт для тегов» на основе формата файла XML. Мы можем конвертировать наши файлы в формат XML, если это позволит Windows автоматически извлекать содержимое определенных элементов и отображать их в подсказке. Возможно ли это (я искал этот подход без успеха). Или вы предлагаете нам написать собственное расширение оболочки для дополнительных метаданных из наших файлов для отображения всплывающей подсказки? Спасибо за помощь! – Malcolm

+0

Что я имел в виду, Microsoft Office теперь использует формат файла на основе XML, а не использует формат документа OLE. Если вы хотите делать теги так же, как новый тег Microsoft Office, вам нужно будет скопировать то, что они делают. Но я не рекомендую этого. Я думаю, что составной документ OLE - это то, что вам нужно. Это позволяет вам иметь несколько файлов, связанных друг с другом в виде одного файла, поэтому вы можете иметь текущий бинарный формат в одном внутреннем файле и специальные теги в качестве другого файла вместе в составном документе. Это то, что я рекомендую вам изучить. – steveha

+0

Я полагаю, что Microsoft, вероятно, написала расширение оболочки для Windows Explorer, и это новое расширение оболочки сообщает проводнику Windows, как понимать и обновлять теги в файле XML Microsoft Office. Таким образом, если вы попытаетесь сделать формат файла XML, вам также потребуется установить расширение оболочки. С другой стороны, формат документа OLE-составной части уже более десяти лет, и я готов поспорить, что Windows Explorer поддерживает теги файлов, встроенные с по крайней мере Windows XP (и, возможно, даже более старые версии Windows). – steveha

0

В Windows 2000 или выше вместо использования составного документа OLE вы также можете использовать store the summery information in the NTFS file metadata, поэтому приложения, такие как проводник Windows или Windows Desktop Search, могут использовать атрибуты в свойстве страниц, всплывающих подсказок, столбцов и поиска.

+0

Спасибо Шэн Цзян. – Malcolm