OpenOffice y.NET
openoffice.org (5)
¿Hay una API .NET para OpenOffice?
EDITAR: ¿Hay un SDK de OpenOffice para .NET?
Depende de tus necesidades La mayoría de los formatos de documentos de OpenOffice son legibles en XML y se pueden crear.
Novela tiene una rama de OOo que agrega capacidades mono, por lo que puedes usar estas compilaciones para crear scripts a través de .Net dentro de OOo. Los formatos de documento para OOo (excepto Base) son recursos XML + en un contenedor zip. Si necesita acceso programático más allá de la manipulación manual de archivos, su mejor opción es usar el control ActiveX con COM Interop. Si desea utilizar Base como fuente de datos en .Net, es casi imposible, ya que es una estructura de base de datos Java incorporada sin un puerto .net maduro.
API de formato de documento abierto para .NET Framework
La API admite el formato de documento abierto como se define en el Formato de documento abierto de OASIS . ODF .NET le permite escribir aplicaciones para crear, modificar y analizar documentos de texto y hojas de cálculo. Admite todas las versiones de .NET Framework, .NET Compact Framework y Mono.
Si tiene OpenOffice instalado, puede usar el "SDK de OpenOffice" ( versión actual aquí ) para controlar esa instancia desde varios entornos de programación, incluido .NET. Puede usar OpenOffice de esta manera para lograr una serie de cosas diferentes; un ejemplo es convertir archivos de un formato de archivo a otro. Es análogo a cómo puede controlar Microsoft Office a través de COM.
Un conjunto de enlaces CLI / .NET viene con el SDK, y están instalados por defecto en ( ejemplo para SDK v3.0 ):
C: / Archivos de programa / OpenOffice.org_3.0_SDK / sdk / cli
He encontrado que Crear un documento de Calibración de OpenOffice con C # de Mark Alexander Bain es el artículo introductorio más directo y directo para controlar OpenOffice de esa manera.
Los enlaces CLI son principalmente un puerto / mapeo del modelo de objetos no-.NET, por lo que querrá entrar en cosas como la Guía del desarrollador de API OpenOffice no específica de .NET.
Hasta ahora, la principal diferencia que he encontrado entre los enlaces de la CLI y la otra documentación es que con los enlaces de la CLI se lanza un objeto a una nueva interfaz utilizando la sintaxis normal de .NET en lugar del método UnoRuntime.queryInterface (). Por ejemplo, en lugar de
XComponentLoader xComponentLoader =
(XComponentLoader)UnoRuntime.queryInterface(XComponentLoader.class, desktop);
Solo usa
XComponentLoader xComponentLoader = (XComponentLoader)desktop;
También hay algunos documentos bastante técnicos sobre cómo las cosas de OpenOffice / UNO se asignan a los conceptos de .NET en el enlace de la CLI aquí: http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/ProUNO/CLI/CLI_Language_Binding
"AODL es el módulo .NET del ODF Toolkit. La biblioteca está completamente escrita en C # puro y se puede usar para extender su software basado en .NET para admitir el formato OpenDocument. Para usar AODL en sus proyectos o software, no es necesario un conocimiento profundo del formato OpenDocument en sí. Sería útil comprender qué hay detrás de escena y escribir sus propias extensiones, pero como se mencionó antes, este no es un requisito fundamental ".
Este módulo ha sido abandonado durante la transición de la incubadora de Apache, las últimas descargas binarias oficiales o de fuentes no están disponibles (vea la publicación 1 del grupo de noticias , la publicación 2 del grupo de noticias , la publicación 3 del grupo de noticias) .
La descarga binaria más reciente es la v1.2.0.1 disponible dentro de la antigua página del proyecto ADL SourceForge , mientras que lo que parece ser el código fuente más reciente que resulta en una bifurcación (abandonada) está disponible en Bitbucket (la documentación y el registro de cambios incluidos en el árbol de fuente leer v1.3.0.0) y compila muy bien.
En el futuro, podría haber una alternativa oficial en el nuevo ODFDOM, cuyo generador se supone que es compatible con .NET / C # / etc un día:
El generador de código ODFDOM se utiliza para generar las clases principales para ODFDOM, que son un mapeo tipeado de los elementos ODF en clases reales de Java. Para el futuro también planeamos generar ODFDOM, por ejemplo, C # (.NET) para otros lenguajes de programación con este generador.