{"id":325,"date":"2009-05-25T16:38:00","date_gmt":"2009-05-25T16:38:00","guid":{"rendered":"http:\/\/www.tutego.de\/blog\/javainsel\/?p=325"},"modified":"2009-05-25T16:38:00","modified_gmt":"2009-05-25T16:38:00","slug":"jopendocument-api","status":"publish","type":"post","link":"https:\/\/www.tutego.de\/blog\/javainsel\/2009\/05\/jopendocument-api\/","title":{"rendered":"JOpenDocument API"},"content":{"rendered":"<p>Zum Zugriff auf Dokumente und Spreadsheets von OpenOffice ist <a title=\"http:\/\/www.jopendocument.org\/\" href=\"http:\/\/www.jopendocument.org\/\">http:\/\/www.jopendocument.org\/<\/a> eine GPL-Bibliothek, die das mit einer einfachen API unterst\u00fctzt. Etwa das laden und ver\u00e4ndern von Spreadsheets:<\/p>\n<p>File file = new File( &#8222;c:\/in.ods&#8220; );<br \/>SpreadSheet createFromFile = SpreadSheet.createFromFile( file );<br \/>Sheet sheet = createFromFile.getSheet( 0 );<br \/>sheet.setValueAt( &#8222;Filling test&#8220;, 1, 1 );<br \/>sheet.getCellAt( &#8222;A1&#8220; ).setValue( &#8222;On site support&#8220; );<br \/>sheet.getCellAt( &#8222;I10&#8220; ).setValue( new Date() );<br \/>sheet.getCellAt( &#8222;F24&#8220; ).setValue( 3 );  <\/p>\n<p>File outputFile = new File( &#8222;c:\/out.ods&#8220; );<br \/>sheet.getSpreadSheet().saveAs( outputFile ); <\/p>\n<p>Weitere Beispiele gibt <a title=\"http:\/\/www.jopendocument.org\/documentation.html\" href=\"http:\/\/www.jopendocument.org\/documentation.html\">http:\/\/www.jopendocument.org\/documentation.html<\/a>. <\/p>\n<p>Interessant ein ein purer Java-Viewer, und damit die M\u00f6glichkeit in PDF zu exportieren, ohne dass man OO dazu fernsteuern muss. <\/p>\n<p>Beim Testen der SpreadSheet-API sind mir leider einige Nachteile aufgefallen: <\/p>\n<ul>\n<li>Es gibt keine <a href=\"http:\/\/groups.google.com\/group\/jopendocument\/browse_thread\/thread\/170c4723e86ee14d\">Named References<\/a><\/li>\n<li>Die API ist sehr Datei-orientiert. <a href=\"http:\/\/groups.google.com\/group\/jopendocument\/browse_thread\/thread\/b459855917625aca\">Nur im Speicher Dokumente<\/a> anzulesen und zu verarbeiten ist nicht m\u00f6glich. Ich sehe erst einmal keine Methode, wie ein Servlet z.B. sich den InputStream auf ein OO-Dokuments holen und als OutputStream an den Client verschicken kann, ohne dass man vorher das OO-Dokument in eine Datei schreibt.<\/li>\n<li>Soll der eingebauter Viewer verwendet werden, k\u00f6nnen <a href=\"http:\/\/groups.google.com\/group\/jopendocument\/browse_thread\/thread\/2fe307c67706df78\">TIFF-Bilder nicht angezeigt<\/a> werden.<\/li>\n<li>GPL k\u00f6nnte f\u00fcr einige Bereiche ein Problem sein. Es werden aber kommerzielle Lizenzen verkauft.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Zum Zugriff auf Dokumente und Spreadsheets von OpenOffice ist http:\/\/www.jopendocument.org\/ eine GPL-Bibliothek, die das mit einer einfachen API unterst\u00fctzt. Etwa das laden und ver\u00e4ndern von Spreadsheets: File file = new File( &#8222;c:\/in.ods&#8220; );SpreadSheet createFromFile = SpreadSheet.createFromFile( file );Sheet sheet = createFromFile.getSheet( 0 );sheet.setValueAt( &#8222;Filling test&#8220;, 1, 1 );sheet.getCellAt( &#8222;A1&#8220; ).setValue( &#8222;On site support&#8220; );sheet.getCellAt( &#8222;I10&#8220; [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","_links_to":"","_links_to_target":""},"categories":[4],"tags":[],"class_list":["post-325","post","type-post","status-publish","format-standard","hentry","category-open-source"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/325","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/comments?post=325"}],"version-history":[{"count":0,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/325\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/media?parent=325"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/categories?post=325"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/tags?post=325"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}