Examples of OdfDocument


Examples of org.odftoolkit.odfdom.doc.OdfDocument

  @Test
  public void testembeddedDocumentWithSubPath() {
    try {
      OdfTextDocument odtDoc1 = OdfTextDocument.newTextDocument();
      odtDoc1.insertDocument(OdfTextDocument.newTextDocument(), "DOCA/");
      OdfDocument docA = odtDoc1.loadSubDocument("DOCA");
      docA.newImage(ResourceUtilities.getURI(TEST_PIC));
      docA.insertDocument(OdfSpreadsheetDocument.newSpreadsheetDocument(), "DOCB/");
      OdfFileDom contentA = docA.getContentDom();
      XPath xpath = contentA.getXPath();
      TextPElement lastPara = (TextPElement) xpath.evaluate("//text:p[last()]", contentA, XPathConstants.NODE);
      addFrameForEmbeddedDoc(contentA, lastPara, "./DOCB");
      OdfDocument docB = odtDoc1.loadSubDocument("DOCA/DOCB/");
      docB.newImage(ResourceUtilities.getURI(TEST_PIC_ANOTHER));
      OdfTable table1 = docB.getTableList().get(0);
      table1.setTableName("NewTable");
      Assert.assertNotNull(docB);
      Assert.assertNull(odtDoc1.loadSubDocument("DOCB/"));
      docA.save(TEST_FILE_FOLDER + TEST_FILE_EMBEDDED_INCLUDED_SAVE_OUT);
      OdfDocument testLoad = OdfDocument.loadDocument(TEST_FILE_FOLDER + TEST_FILE_EMBEDDED_INCLUDED_SAVE_OUT);
      OdfFileEntry imageEntry = testLoad.getPackage().getFileEntry(OdfPackage.OdfFile.IMAGE_DIRECTORY.getPath() + SLASH + TEST_PIC);
      Assert.assertNotNull(imageEntry);
      Map<String, OdfDocument> embDocs = testLoad.loadSubDocuments(OdfDocument.OdfMediaType.SPREADSHEET);
      for (String childDocPath : embDocs.keySet()) { 
        OdfDocument doc1 = embDocs.get(childDocPath);
        imageEntry = doc1.getPackage().getFileEntry(doc1.getDocumentPath() + OdfPackage.OdfFile.IMAGE_DIRECTORY.getPath() + SLASH + TEST_PIC_ANOTHER);
        Assert.assertNotNull(doc1.getTableByName("NewTable"));
      }
    } catch (Exception ex) {
      LOG.log(Level.SEVERE, null, ex);
      Assert.fail("Failed with " + ex.getClass().getName() + ": '" + ex.getMessage() + "'");
    }
View Full Code Here

Examples of org.odftoolkit.odfdom.doc.OdfDocument

   * This test case is used to show how to save the E1 to a stand alone document.
   */
  @Test
  public void testSaveEmbeddedDocument() {
    try {
      OdfDocument doc = OdfDocument.loadDocument(ResourceUtilities.getAbsolutePath(TEST_FILE_EMBEDDED));
      Map<String, OdfDocument> embeddedDocs = doc.loadSubDocuments();
      for (String childDocPath : embeddedDocs.keySet()) {
        OdfDocument childDoc = embeddedDocs.get(childDocPath);
        String embedFileName = childDoc.getDocumentPath();
        OdfMediaType embedMediaType = OdfMediaType.getOdfMediaType(childDoc.getMediaTypeString());
        //use '_' replace '/', because '/' is not the valid char in file path
        embedFileName = embedFileName.replaceAll("/", "_") + "." + embedMediaType.getSuffix();
        childDoc.save(TEST_FILE_FOLDER + embedFileName);
        LOG.log(Level.INFO, "Save file : {0}", TEST_FILE_FOLDER + embedFileName);
        OdfDocument embeddedDoc = OdfDocument.loadDocument(ResourceUtilities.getAbsolutePath(embedFileName));
        Assert.assertEquals(embeddedDoc.getMediaTypeString(), embedMediaType.getMediaTypeString());
      }
    } catch (Exception ex) {
      LOG.log(Level.SEVERE, null, ex);
      Assert.fail("Failed with " + ex.getClass().getName() + ": '" + ex.getMessage() + "'");
    }
View Full Code Here

Examples of org.odftoolkit.odfdom.doc.OdfDocument

   * load the saved standalone document, and check the content of it
   */
  @Test
  public void testEmbedModifiedEmbeddedDocument() {
    try {
      OdfDocument doc = OdfDocument.loadDocument(ResourceUtilities.getAbsolutePath(TEST_FILE_EMBEDDED));
      OdfDocument saveDoc = OdfTextDocument.newTextDocument();
      OdfDocument embeddedDoc = doc.loadSubDocument("Object 1/");
      //modify content of "Object 1"
      OdfFileDom embedContentDom = embeddedDoc.getContentDom();
      XPath xpath = embedContentDom.getXPath();
      TextHElement header = (TextHElement) xpath.evaluate("//text:h[1]", embedContentDom, XPathConstants.NODE);
      LOG.log(Level.INFO, "First para: {0}", header.getTextContent());
      OdfTextSpan spanElem = new OdfTextSpan(embedContentDom);
      spanElem.setTextContent(TEST_SPAN_TEXT);
      header.appendChild(spanElem);
      //insert image to "Object 1"
      embeddedDoc.newImage(ResourceUtilities.getURI(TEST_PIC));
      //embed "Object 1" to TestModifiedEmbeddedDoc.odt as the path /DocA
      String embedPath = "DocA";
      saveDoc.insertDocument(embeddedDoc, embedPath);
      saveDoc.save(TEST_FILE_FOLDER + TEST_FILE_MODIFIED_EMBEDDED);
      saveDoc.close();
      //reload TestModifiedEmbeddedDoc.odt
      saveDoc = OdfDocument.loadDocument(ResourceUtilities.getAbsolutePath(TEST_FILE_MODIFIED_EMBEDDED));
      embeddedDoc = saveDoc.loadSubDocument(embedPath);
      //check the content of "DocA" and modify it again
      embedContentDom = embeddedDoc.getContentDom();
      header = (TextHElement) xpath.evaluate("//text:h[1]", embedContentDom, XPathConstants.NODE);
      Assert.assertTrue(header.getTextContent().contains(TEST_SPAN_TEXT));
      header.setTextContent("");
      String packagePath = embeddedDoc.getDocumentPath() + SLASH + OdfPackage.OdfFile.IMAGE_DIRECTORY.getPath() + SLASH + TEST_PIC;
      OdfFileEntry imageEntry = embeddedDoc.getPackage().getFileEntry(packagePath);
      Assert.assertNotNull(imageEntry);
      embeddedDoc.newImage(ResourceUtilities.getURI(TEST_PIC_ANOTHER));
      //save the "DocA" as the standalone document
      embeddedDoc.save(TEST_FILE_FOLDER + TEST_FILE_MODIFIED_EMBEDDED_SAVE_STANDALONE);
      //load the standalone document and check the content
      OdfDocument standaloneDoc = OdfDocument.loadDocument(ResourceUtilities.getAbsolutePath(TEST_FILE_MODIFIED_EMBEDDED_SAVE_STANDALONE));
      embedContentDom = standaloneDoc.getContentDom();
      header = (TextHElement) xpath.evaluate("//text:h[1]", embedContentDom, XPathConstants.NODE);
      Assert.assertTrue(header.getTextContent().length() == 0);
      imageEntry = standaloneDoc.getPackage().getFileEntry(OdfPackage.OdfFile.IMAGE_DIRECTORY.getPath() + SLASH + TEST_PIC);
      Assert.assertNotNull(imageEntry);
      OdfFileEntry anotherImageEntry = standaloneDoc.getPackage().getFileEntry(OdfPackage.OdfFile.IMAGE_DIRECTORY.getPath() + SLASH + TEST_PIC_ANOTHER);
      Assert.assertNotNull(anotherImageEntry);
    } catch (Exception ex) {
      LOG.log(Level.SEVERE, null, ex);
      Assert.fail("Failed with " + ex.getClass().getName() + ": '" + ex.getMessage() + "'");
    }
View Full Code Here

Examples of org.odftoolkit.odfdom.doc.OdfDocument

  }

  @Test
  public void testRemoveEmbeddedDocument() {
    try {
      OdfDocument doc = OdfDocument.loadDocument(ResourceUtilities.getAbsolutePath(TEST_FILE_EMBEDDED));
      Map<String, OdfDocument> embeddedDocs = doc.loadSubDocuments();
      List<String> subDocNames = new ArrayList<String>();
      for (String childDocPath : embeddedDocs.keySet()) {
        OdfDocument childDoc = embeddedDocs.get(childDocPath);
        Assert.assertNotNull(childDoc);
        String embedFileName = childDoc.getDocumentPath();
        subDocNames.add(embedFileName);
        doc.removeDocument(embedFileName);
      }
      doc.save(TEST_FILE_FOLDER + TEST_FILE_REMOVE_EMBEDDED_SAVE_OUT);
      doc.close();
View Full Code Here

Examples of org.odftoolkit.odfdom.doc.OdfDocument

  // Bug 294 Enable Tables to be inserted in Header Footer
  @Test
  public void testTableInHeaderFooter() {
    try {
      OdfDocument odfDoc = OdfDocument.loadDocument(ResourceUtilities.getAbsolutePath(mOdtTestFileName + ".odt"));
      Map<String, StyleMasterPageElement> masterPages1 = odfDoc.getMasterPages();
      StyleMasterPageElement masterPage1 = masterPages1.get("Standard");
      Assert.assertNotNull(masterPage1);
      int rowCount = 4;
      int columnCount = 5;
      OdfTable.newTable(masterPage1.newStyleHeaderElement(), getTestTableRowLabel(rowCount), getTestTableRowLabel(columnCount), getTestTableDataDouble(rowCount, columnCount));
      OdfTable.newTable(masterPage1.newStyleFooterElement(), getTestTableRowLabel(rowCount), getTestTableRowLabel(columnCount), getTestTableDataDouble(rowCount, columnCount));

      // ToDo: Should be added as test when header/footer styles are supported in ODFDOM
//      HashMap<String, String> pageProps1 = getPageStyleProps(odfDoc, masterPage1);
//      HashMap<String, String> footerProps1 = getFooterStyleProps(odfDoc, masterPage1);
//      HashMap<String, String> headerProps1 = getHeaderStyleProps(odfDoc, masterPage1);

      odfDoc.save(ResourceUtilities.newTestOutputFile("TestHeaderFooter.odt"));
      odfDoc = OdfDocument.loadDocument(ResourceUtilities.getAbsolutePath("TestHeaderFooter.odt"));
      Map<String, StyleMasterPageElement> masterPages2 = odfDoc.getMasterPages();
      StyleMasterPageElement masterPage2 = masterPages2.get("Standard");

        // Test if the new footer exists
      StyleHeaderElement headerContentRoot2 = OdfElement.findFirstChildNode(StyleHeaderElement.class, masterPage2);
      Assert.assertNotNull(headerContentRoot2);
View Full Code Here

Examples of org.odftoolkit.odfdom.doc.OdfDocument

// Uncertain about the previuos statement, as the duplicated RDF triple do not have an identical subject..
//    TestCase.assertEquals(duplicated, m3.size());
//    TestCase.assertEquals(size1 + size2 - duplicated, m.size());

    // test the embeded document
    OdfDocument subDoc = odt.loadSubDocument("embeded.odt");
    m1 = subDoc.getManifestRDFMetadata();
    size1 = m1.size();
    TestCase.assertEquals(5, size1);

    m2 = subDoc.getInContentMetadata();
    size2 = m2.size();
    LOG.info("RDF Model - embedded document in content:\n" + m2.toString());
    TestCase.assertEquals(6, size2);

    m = subDoc.getRDFMetadata();

    // This triple is duplicated in m1 and m2:
    // (test_rdfmeta.odt/embeded.odt rdf:type
    // http://docs.oasis-open.org/ns/office/1.2/meta/pkg#Document)
//    duplicated = 1;
View Full Code Here

Examples of org.odftoolkit.odfdom.doc.OdfDocument

         */
        @Test
        public void testXPathDuplicatePrefixForForeignNamespace() throws Exception{
           try {

            OdfDocument odfDoc = OdfDocument.loadDocument(ResourceUtilities.getAbsolutePath(SOURCE_FILE_3));
            OdfFileDom fileDom = odfDoc.getFileDom("meta/meta.rdf");
           
            // add additional duplicate NS prefixes to the DOM
            fileDom.setNamespace("anx", "http://editor.bungeni.org/1.0/anx/");
            fileDom.setNamespace("myrdf", "http://www.w3.org/1999/02/22-rdf-syntax-ns#");

View Full Code Here

Examples of org.odftoolkit.odfdom.doc.OdfDocument

   *           is the row index of the last cell in this cell range.
   */
  OdfTableCellRange(OdfTable table, int startColumn, int startRow, int endColumn, int endRow) {
    maOwnerTable = table;

    OdfDocument doc = (OdfDocument) ((OdfFileDom) maOwnerTable.getOdfElement().getOwnerDocument()).getDocument();
    if (doc instanceof OdfSpreadsheetDocument) {
      mbSpreadsheet = true;
    }

    //the first cell is the covered cell, then the cell range should be enlarged
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.