blob: 2aa31b128a75154129a0d4a1909bf98a0f146033 [file] [log] [blame]
/*
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
*/
package org.odftoolkit.odfdom.dom.example;
import java.net.URI;
import org.junit.Ignore;
import org.junit.Test;
import org.odftoolkit.odfdom.doc.OdfDocument;
import org.odftoolkit.odfdom.doc.OdfSpreadsheetDocument;
import org.odftoolkit.odfdom.doc.OdfTextDocument;
import org.odftoolkit.odfdom.dom.element.draw.DrawFrameElement;
import org.odftoolkit.odfdom.dom.element.office.OfficeTextElement;
import org.odftoolkit.odfdom.dom.element.text.TextPElement;
import org.odftoolkit.odfdom.incubator.doc.draw.OdfDrawImage;
import org.odftoolkit.odfdom.pkg.OdfElement;
import org.odftoolkit.odfdom.pkg.OdfPackage;
/** The test was deactivated. As an invalid value will no longer throw an exception and cause the removal of the attribute. */
public class WikiExampleTest {
@Test
@Ignore
public void testWikiExamples1() throws Exception {
// WIKI EXAMPLE I from http://odftoolkit.org/projects/odfdom/pages/Home
// 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");
}
@Test
@Ignore
public void testWikiExamples2() throws Exception {
//********************************************************************
// WIKI EXAMPLE I from http://odftoolkit.org/projects/odfdom/pages/Layers
// loads the ODF document package from the path
OdfPackage pkg = OdfPackage.loadPackage("/home/myDocuments/myVacation.odt");
// loads the image from the URL and inserts the image in the package,
// adapting the manifest
pkg.insert(new URI("./myHoliday.png"), "Pictures/myHoliday.png", "image/png");
pkg.save("/home/myDocuments/myVacation.odt");
//********************************************************************
// WIKI EXAMPLE II from http://odftoolkit.org/projects/odfdom/pages/Layers
// Load file
OdfTextDocument odt = (OdfTextDocument) OdfDocument.loadDocument("ImageIn.odt");
// get root of all content of a text document
OfficeTextElement officeText = odt.getContentRoot();
// get first paragraph
TextPElement firstParagraph =
OdfElement.findFirstChildNode(TextPElement.class, officeText);
// XPath alternative to get the first paragraph
/*
XPath xpath = XPathFactory.newInstance().newXPath();
xpath.setNamespaceContext(new OdfNamespace());
OdfFileDom dom = odt.getContentDom();
firstParagraph = (TextPElement) xpath.evaluate("//text:p[1]", dom, XPathConstants.NODE);
*/
// insert a frame
DrawFrameElement frame = firstParagraph.newDrawFrameElement();
// insert an image: This is a class from the Document API
OdfDrawImage image = (OdfDrawImage) frame.newDrawImageElement();
image.newImage(new URI("./MySampleImage.png"));
// Save file
odt.save("ImageOut.odt");
//********************************************************************
// WIKI EXAMPLE III from http://odftoolkit.org/projects/odfdom/pages/Layers
// Load Image
odt = (OdfTextDocument) OdfDocument.loadDocument("ImageIn.odt");
// Play around with text
odt.addText("When there is no paragraph, the text will be embedded in a new paragraph");
odt.newParagraph("Create new paragraph");
odt.addText("\nThis is a new line");
// Insert Image and make last paragraph its anchor
odt.newImage(new URI("./MySampleImage.png"));
// Insert new spreadsheet as sub document into the package within directory "myOdsDirectoryPath/"
odt.insertDocument(OdfSpreadsheetDocument.newSpreadsheetDocument(), "myOdsDirectoryPath");
// Save file
odt.save("ImageOut.odt");
}
}