Crear un formato de archivo similar a un documento de MS Office para exponer las propiedades del documento

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

Pregunta

Los "documentos" de nuestra aplicación son archivos binarios únicos.

Nuestros clientes han preguntado si podemos agregar propiedades de documentos similares a MS Office a nuestros archivos de documentos para que sean más fáciles de administrar para los usuarios.Por más fácil de administrar, me refiero a la capacidad del Explorador de Windows para mostrar propiedades comunes de los documentos en la información sobre herramientas.

Mi investigación parece indicar que deberíamos considerar el almacenamiento estructurado OLE como base para nuestros archivos de datos.He visto esta técnica descrita alternativamente como almacenamiento estructurado de MS, formatos de documentos compuestos OLE 2 y metadatos de archivos de Windows.

Mi preocupación sobre el uso de OLE Structured Storage es que parece que Office 2007 o 2010 ya no usa este formato de archivo y OLE Structured Storage requiere el registro de un componente ActiveX DSOFILE.DLL que muchos de nuestros clientes no podrán usar porque ejecutan nuestro software en estaciones de trabajo bloqueadas donde los usuarios no tienen derechos de administrador para instalar el software.(Nuestro software de aplicación es una implementación pura de XCOPY).

Agradecería escuchar ideas sobre cuáles son nuestras opciones.

Gracias, Malcolm

¿Fue útil?

Solución

Estoy bastante seguro de que su mejor respuesta es utilizar el documento compuesto OLE.

Es posible que Microsoft haya dejado de usar esto, pero eso se debe a que han pasado a un formato de archivo XML.A menos que esté dispuesto a convertir su formato de archivo actual a XML, no creo que el nuevo estándar para etiquetas le resulte interesante.

Posiblemente podría hacer que su aplicación guarde dos archivos, el XML solo para etiquetas y el de datos binarios, pero eso solo significa dolor para sus usuarios.El objetivo del formato de documento compuesto OLE era permitir múltiples "archivos" unidos en un solo archivo.

Además, me sorprendería mucho que el Windows moderno no tuviera soporte para documentos compuestos OLE integrados.Estoy bastante seguro de que ya en Microsoft Word 6.0, hace más de una década, los documentos se guardaban en este formato de documento compuesto OLE.¿Por qué Windows XP o posterior requeriría un archivo .DLL adicional para poder analizar las etiquetas?

Lo mejor de usar el formato de documento compuesto OLE es que las etiquetas de usuario acompañarán al archivo, pase lo que pase:si el usuario escribe el archivo en un servidor de archivos, si el usuario coloca el archivo en un correo electrónico, si el usuario graba el archivo en un CD, lo que sea.(La primera respuesta que escribí, que borré, era mala;incluso si hubiera funcionado, habría puesto las etiquetas de usuario fuera del archivo, y cuanto más lo pienso, menos feliz estoy con ese pensamiento).

Por lo tanto, le sugiero que intente crear un documento compuesto OLE y luego mire el archivo en el Explorador de Windows en una instalación estándar de Windows XP.Vea si puede ver las etiquetas sin necesidad de descargar e instalar un archivo ActiveX .DLL.Estoy bastante seguro de que funcionará.(Pero ya no uso mucho Windows, por lo que no puedo probarlo convenientemente).

EDITAR:Vale, acabo de hacer una prueba.Estoy en el trabajo y tengo una computadora con Windows aquí.Utilicé Word 2007 para crear un documento y lo guardé en formato Word 97.Miré las propiedades del documento en el Explorador de Windows;el nombre del autor era visible en las etiquetas.Agregué texto a "comentarios" y luego abrí el archivo en Word 2007.Luego pude ver los comentarios (haga clic en el círculo del icono de "oficina" en la parte superior izquierda, elija "Preparar", elija "Propiedades").

Entonces, mi teoría tiene alguna evidencia que la respalda:No tuve que instalar ningún software especial, mi Explorador de Windows simplemente funcionaba con el archivo de Word en formato de documento compuesto OLE con las etiquetas.(Podría ser que Microsoft Office instale algún .DLL especial para usar las etiquetas con el Explorador de Windows;Tengo Microsoft Office 2007 instalado en esa computadora.Pero es probable que sus clientes también tengan Microsoft Office, por lo que incluso si ese es el caso, sigo pensando que esta es la mejor solución).

Le sugiero que busque en Google "formato de documento compuesto OLE" y vea cómo escribir este formato.Encontré un ejemplo de cómo leer las etiquetas aquí: http://support.microsoft.com/kb/186898

Otros consejos

En Windows 2000 o superior, en lugar de utilizar documentos compuestos OLE, también puede almacenar la información veraniega en el archivo de metadatos NTFS para aplicaciones tales como Windows Explorer o Windows Desktop Search pueden utilizar los atributos de páginas de propiedades, información sobre herramientas, columnas y búsqueda.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top