Создание формата файлов, подобного документам MS Office, для раскрытия свойств документов

StackOverflow https://stackoverflow.com/questions/1996162

Вопрос

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

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

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

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

Буду признателен за идеей слушать о том, каковы наши варианты.

Спасибо, Малкольм

Это было полезно?

Решение

Я уверен, что ваш лучший ответ - использовать OLE COMPUND DOCUMT.

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

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

Кроме того, я был бы очень удивлен, если бы Modern Windows не имела поддержки для OLE составных документов. Анкет Зачем Windows XP или Newer потребуется дополнительный файл .dll, чтобы разобрать теги?

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

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

РЕДАКТИРОВАТЬ: Хорошо, я только что сделал тест. Я на работе, и у меня здесь есть компьютер Windows. Я использовал Word 2007, чтобы сделать документ, и я сохранил документ как формат Word 97. Я посмотрел свойства документа в Windows Explorer; Название автора было видно в тегах. Я добавил текст в «Комментарии», а затем открыл файл в Word 2007. Затем я смог просмотреть комментарии (нажмите на круг значков «Офис» в левом верхнем углу, выберите «Подготовка», выберите «Свойства»).

Таким образом, у моей теории есть некоторые доказательства, подтверждающие это: мне не нужно было устанавливать какое -либо специальное программное обеспечение, мой проводник Windows только что работал с файлом слов OLE COMPUND DOCUMT FORMAT с тегами. (Может быть, Microsoft Office устанавливает какой -то специальную .dll для использования тегов с Windows Explorer; у меня есть Microsoft Office 2007, установленные на этом компьютере. Но у ваших клиентов, вероятно, есть Microsoft Office, так что даже если это так, я все еще Думаю, это лучшее решение.)

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

Другие советы

В Windows 2000 или выше, вместо использования составного документа OLE, вы также можете Храните летнюю информацию в метаданных файла NTFS Таким образом, такие приложения, как Windows Explorer или Windows Desktop Search, могут использовать атрибуты на страницах свойств, подсказки инструментов, столбцов и поиска.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top