para openoffice open office jre instalar entorno ejecucion descargar como java openoffice.org odt

openoffice - ¿Cómo crear un archivo odt programáticamente con java?



openoffice exe (6)

¿Cómo puedo crear un archivo odt (LibreOffice / OpenOffice Writer) con Java mediante programación? Un ejemplo de "hola mundo" será suficiente. Miré el sitio web de OpenOffice pero la documentación no estaba clara.


Eche un vistazo a ODFDOM - la API de OpenDocument

ODFDOM es una biblioteca gratuita de formato OpenDocument (ODF). Su propósito es proporcionar una forma común fácil de crear, acceder y manipular archivos ODF, sin requerir un conocimiento detallado de la especificación ODF. Está diseñado para proporcionar a la comunidad de desarrolladores ODF una API de programación de lightwork fácil de portar a cualquier lenguaje orientado a objetos.

La implementación de referencia actual está escrita en Java.

// Create a text document from a standard template (empty documents within the JAR) OdfTextDocument odt = OdfTextDocument.newTextDocument(); // Append text to the end of the document. odt.addText("This is my very first ODF test"); // Save document odt.save("MyFilename.odt");

luego

En el momento de redactar este documento (2016-02), se nos informa que estas clases están en desuso ... a lo grande, y la documentación de la API OdfTextDocument le informa:

A partir de la versión 0.8.8, reemplazado por org.odftoolkit.simple.TextDocument en API simple.

Esto significa que aún incluye el mismo archivo .jar activo en su proyecto, simple-odf-0.8.1-incubating-jar-with-dependencies.jar , pero desea desempacar el siguiente .jar para obtener la documentación: simple-odf-0.8.1-incubating-javadoc.jar , en lugar de odfdom-java-0.8.10-incubating-javadoc.jar .

Por cierto, el enlace de documentación descarga un montón de archivos jar dentro de un .zip que dice "0.6.1" ... pero la mayoría de las cosas dentro parece ser más como 0.8.1. No tengo idea de por qué dicen "a partir de 0.8.8" en la documentación de las clases "desaprobadas": casi todo está marcado como desaprobado.

El código simple equivalente al anterior es entonces:

odt_doc = org.odftoolkit.simple.TextDocument.newTextDocument() para = odt_doc.getParagraphByIndex( 0, False ) para.appendTextContent( ''stuff and nonsense'' ) odt_doc.save( ''mySpankingNewFile.odt'' )

PS estoy usando Jython, pero el Java debería ser obvio.


He escrito un DSL jruby para manipular mediante programación los documentos ODF.

https://github.com/noah/ocelot

No es estrictamente Java, pero pretende ser mucho más simple de usar que el ODFDOM.

Crear un documento de hello world es tan fácil como:

% cat examples/hello.rb include OCELOT Text::create "hello" do paragraph "Hello, world!" end

Hay algunos ejemplos más (incluido un ejemplo de hoja de cálculo o dos) here .


He estado buscando una respuesta sobre esta pregunta por mí mismo. Estoy trabajando en un proyecto para generar documentos con diferentes formatos y tenía una gran necesidad de biblioteca para generar archivos ODT. Finalmente puedo decir que ODFToolkit con la última versión de la biblioteca simple-odf es la respuesta para generar documentos de texto. Puede encontrar la página oficial aquí: Apache ODF Toolkit (Incubating) - Simple API Aquí hay una página para descargar la versión 0.8.1 (la última versión de Simple API) ya que no encontré la última versión en la página oficial, solo version 0.6.1

Y aquí puede encontrar el libro de cocina de Apache ODF Toolkit (incubación)


No lo he probado, pero usar JOpenDocument puede ser una opción. (Parece ser una biblioteca Java pura para generar archivos OpenDocument).


Puede intentar usar JasperReports para generar sus informes y luego exportarlos a ODS . Lo bueno de este enfoque es

  1. obtiene un amplio soporte para todos los formatos de salida de JasperReports, por ejemplo, PDF, XLS, HTML, etc.
  2. Jasper Studio facilita el diseño de tus informes

Un complemento de las soluciones proporcionadas anteriormente sería JODReports , que permite crear documentos e informes de oficina en formato ODT (a partir de plantillas, compuestas con el procesador de textos LibreOffice / OpenOffice.org Writer).

DocumentTemplateFactory templateFactory = new DocumentTemplateFactory(); DocumentTemplate template = templateFactory .getTemplate(new File("template.odt")); Map data = new HashMap(); data.put("title", "Title of my doc"); data.put("picture", new RenderedImageSource(ImageIO.read(new File("/tmp/lena.png")))); data.put("answer", "42"); //... template.createDocument(data, new FileOutputStream("output.odt"));

Opcionalmente, los documentos se pueden convertir a PDF, Word, RTF, etc. con JODConverter .

Editar / actualizar

Here puede encontrar un proyecto de ejemplo utilizando JODReports (con casos de formato no trivial).