Criação de um formato de arquivo do tipo MS Office para expor as propriedades do documento

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

Pergunta

Os "documentos" do nosso aplicativo são arquivos binários únicos.

Nossos clientes perguntaram se podemos adicionar propriedades de documentos semelhantes ao MS Office aos nossos arquivos de documentos, para que sejam mais fáceis para os usuários de gerenciar. Por mais fácil de gerenciar, quero dizer a capacidade do Windows Explorer de exibir propriedades comuns de documentos nas dicas de ferramentas.

Minha pesquisa parece indicar que devemos considerar o armazenamento estruturado OLE como base para nossos arquivos de dados. Eu vi essa técnica descrita alternativamente como MS Structured Storage, Ole 2 compostos formatos de documentos e metadados do arquivo Windows.

Minhas preocupações sobre o uso do armazenamento estruturado OLE é que não parece que o Office 2007 ou 2010 use este formato de arquivo mais e o armazenamento estruturado OLE requer o registro de um componente DSOFILE.DLL ActiveX que muitos de nossos clientes não poderão usar porque Eles executam nosso software em estações de trabalho bloqueadas, onde os usuários não têm direitos de administrador para instalar o software. (Nosso software de aplicativo é uma implantação pura do XCOPY).

Agradeceria idéias de ouvir sobre quais são nossas opções.

Obrigado Malcolm

Foi útil?

Solução

Tenho certeza de que sua melhor resposta é usar o documento composto OLE.

A Microsoft pode ter parada de usar isso, mas isso ocorre porque eles foram a um formato de arquivo XML. A menos que você esteja disposto a converter do formato de arquivo atual para XML, não acho que o novo padrão para tags seja interessante para você.

Você pode fazer com que seu aplicativo salve dois arquivos, o XML One apenas para tags e os dados binários, mas isso significa apenas dor para seus usuários. O ponto principal do formato do documento composto OLE era permitir vários "arquivos" unidos em um arquivo.

Além disso, eu ficaria muito surpreso se o Windows Modern não tivesse suporte para documentos compostos OLE integrados. Tenho certeza de que, desde o Microsoft Word 6.0, há mais de uma década, os documentos foram salvos neste formato de documento composto OLE . Por que o Windows XP ou mais recentes exigiriam um arquivo .dll extra para poder analisar as tags?

A melhor coisa sobre o uso do formato do documento composto OLE é que as tags do usuário irão com o arquivo, não importa o quê: se o usuário gravar o arquivo em um servidor de arquivos, se o usuário soltar o arquivo em um email, se o usuário queimar O arquivo para um CD, qualquer que seja. (A primeira resposta que escrevi, que excluí, foi ruim; mesmo que tivesse funcionado, teria colocado as tags do usuário fora do arquivo, e quanto mais eu penso nisso, menos feliz por estar nesse pensamento.)

Então, sugiro que você tente criar um documento composto OLE e, em seguida, basta olhar para o arquivo no Windows Explorer em uma instalação padrão do Windows XP. Veja se você pode ver as tags sem precisar fazer o download e instalar um ActiveX .dll. Tenho certeza de que vai funcionar. (Mas eu realmente não faço mais janelas, então não posso testar convenientemente isso para você.)

EDIT: Ok, acabei de fazer um teste. Estou no trabalho e tenho um computador Windows aqui. Usei o Word 2007 para fazer um documento e salvei o documento como formato Word 97. Eu olhei para as propriedades do documento no Windows Explorer; O nome do autor era visível nas tags. Adicionei texto a "Comentários" e depois abri o arquivo no Word 2007. Consegui ver os comentários (clique no círculo do ícone "Office" no canto superior esquerdo, escolha "Prepare", escolha "Propriedades").

Portanto, minha teoria tem algumas evidências para apoiá -la: eu não precisava instalar nenhum software especial, meu Windows Explorer acabou de trabalhar com o arquivo Word Format Word do Documento Ole com as tags. (Pode ser que o Microsoft Office instale algumas .dll especiais para usar as tags com o Windows Explorer; eu tenho o Microsoft Office 2007 instalado nesse computador. Mas seus clientes provavelmente também têm o Microsoft Office, portanto, mesmo que seja esse o caso, eu ainda acho que esta é a melhor solução.)

Sugiro que você pesquise no Google por "formato de documento composto OLE" e veja como escrever este formato. Encontrei um exemplo de como ler as tags aqui: http://support.microsoft.com/kb/186898

Outras dicas

No Windows 2000 ou superior, em vez de usar o documento composto OLE, você também pode Armazene as informações do verão nos metadados do arquivo NTFS Portanto, aplicativos como o Windows Explorer ou a pesquisa de desktop do Windows podem usar os atributos nas páginas de propriedades, dicas de ferramentas, colunas e pesquisas.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top