Examples of OdfFileDom


Examples of org.odftoolkit.odfdom.pkg.OdfFileDom

   */
  public void applyHeading(boolean isHeading, int level) {
    if (isHeading) {
      if (!isHeading()) {
        // create new heading element, clone children nodes.
        OdfFileDom ownerDocument = (OdfFileDom) getOdfElement().getOwnerDocument();
        mHeadingElement = ownerDocument.newOdfElement(TextHElement.class);
        Node firstChild = mParagraphElement.getFirstChild();
        while (firstChild != null) {
          // mHeadingElement.appendChild(firstChild.cloneNode(true));
          // firstChild = firstChild.getNextSibling();
          Node thisChild = firstChild;
          firstChild = firstChild.getNextSibling();
          mParagraphElement.removeChild(thisChild);
          mHeadingElement.appendChild(thisChild);
        }
        // update style
        mHeadingElement.setStyleName(mParagraphElement.getStyleName());
        // unregister component
        Component.unregisterComponent(mParagraphElement);
        // replace paragraph with heading
        OdfElement parentOdfElement = (OdfElement) mParagraphElement.getParentNode();
        parentOdfElement.replaceChild(mHeadingElement, mParagraphElement);
        mParagraphElement = null;
        // re-register component.
        Component.registerComponent(this, mHeadingElement);
      }
      // update outline level.
      mHeadingElement.setTextOutlineLevelAttribute(level);
    } else {
      if (isHeading()) {
        // need create new paragraph element and clone content.
        OdfFileDom ownerDocument = (OdfFileDom) getOdfElement().getOwnerDocument();
        mParagraphElement = ownerDocument.newOdfElement(TextPElement.class);
        Node firstChild = mHeadingElement.getFirstChild();
        while (firstChild != null) {
          Node thisChild = firstChild;
          firstChild = firstChild.getNextSibling();
          mHeadingElement.removeChild(thisChild);
View Full Code Here

Examples of org.odftoolkit.odfdom.pkg.OdfFileDom

      mTextboxContainerImpl = new TextboxContainerImpl();
    return mTextboxContainerImpl;
  }

  static void appendTextElements(OdfElement ownerElement, String content, boolean isWhitespaceCollapsed) {
    OdfFileDom ownerDocument = (OdfFileDom) ownerElement.getOwnerDocument();
    if (isWhitespaceCollapsed) {
      int i = 0, length = content.length();
      String str = "";
      while (i < length) {
        char ch = content.charAt(i);
        if (ch == ' ') {
          int j = 1;
          i++;
          while ((i < length) && (content.charAt(i) == ' ')) {
            j++;
            i++;
          }
          if (j == 1) {
            str += ' ';
          } else {
            str += ' ';
            Text textnode = ownerDocument.createTextNode(str);
            ownerElement.appendChild(textnode);
            str = "";
            TextSElement spaceElement = ownerDocument.newOdfElement(TextSElement.class);
            ownerElement.appendChild(spaceElement);
            spaceElement.setTextCAttribute(j - 1);
          }
        } else if (ch == '\n') {
          if (str.length() > 0) {
            Text textnode = ownerDocument.createTextNode(str);
            ownerElement.appendChild(textnode);
            str = "";
          }
          TextLineBreakElement lineBreakElement = ownerDocument.newOdfElement(TextLineBreakElement.class);
          ownerElement.appendChild(lineBreakElement);
          i++;
        } else if (ch == '\t') {
          if (str.length() > 0) {
            Text textnode = ownerElement.getOwnerDocument().createTextNode(str);
            ownerElement.appendChild(textnode);
            str = "";
          }
          TextTabElement tabElement = ownerDocument.newOdfElement(TextTabElement.class);
          ownerElement.appendChild(tabElement);
          i++;
        } else if (ch == '\r') {
          i++;
        } else {
          str += ch;
          i++;
        }
      }
      if (str.length() > 0) {
        Text textnode = ownerDocument.createTextNode(str);
        ownerElement.appendChild(textnode);
      }
    } else {
      Text textnode = ownerDocument.createTextNode(content);
      ownerElement.appendChild(textnode);
    }
  }
View Full Code Here

Examples of org.odftoolkit.odfdom.pkg.OdfFileDom

    mbFinishFindInHeaderFooter = false;
  }

  //the matched text might exist in header/footer
  private TextSelection findInHeaderFooter(TextSelection selected) {
    OdfFileDom styledom = null;
    OdfOfficeMasterStyles masterpage = null;
    OdfElement element = null;

    if (selected != null) {
      OdfElement containerElement = selected.getContainerElement();
      int index = selected.getIndex();
      OdfWhitespaceProcessor textProcessor = new OdfWhitespaceProcessor();
      String content = textProcessor.getText(containerElement);

      int nextIndex = -1;
      Pattern pattern = Pattern.compile(mPatternText);
      Matcher matcher = pattern.matcher(content);
      //start from the end index of the selected item
      if (matcher.find(index + selected.getText().length())) {
        // here just consider \n\r\t occupy one char
        nextIndex = matcher.start();
        int eIndex = matcher.end();
        mCurrentText = content.substring(nextIndex, eIndex);
      }
      if (nextIndex != -1) {
        TextSelection item = new TextSelection(mCurrentText, selected.getContainerElement(), nextIndex);
        return item;
      }
    }
    try {
      styledom = mTextDocument.getStylesDom();
      NodeList list = styledom.getElementsByTagName("office:master-styles");
      if (styledom == null) {
        return null;
      }
      if (list.getLength() > 0) {
        masterpage = (OdfOfficeMasterStyles) list.item(0);
View Full Code Here

Examples of org.odftoolkit.odfdom.pkg.OdfFileDom

   * @param srcDoc  the specified <code>OdfPresentationDocument</code> that need to be appended
   */
  public void appendPresentation(OdfPresentationDocument srcDoc) {
    checkAllSlideName();
    OfficePresentationElement contentRoot = null;
    OdfFileDom contentDom = null;
    OfficePresentationElement srcContentRoot = null;
    try {
      contentRoot = getContentRoot();
      contentDom = getContentDom();
      srcContentRoot = srcDoc.getContentRoot();
View Full Code Here

Examples of org.odftoolkit.odfdom.pkg.OdfFileDom

   */
  public OdfSlide copyForeignSlide(int destIndex,
      OdfPresentationDocument srcDoc, int srcIndex) {
    checkAllSlideName();
    OfficePresentationElement contentRoot = null;
    OdfFileDom contentDom = null;
    try {
      contentRoot = getContentRoot();
      contentDom = getContentDom();
    } catch (Exception e) {
      Logger.getLogger(OdfPresentationDocument.class.getName()).log(Level.SEVERE, null, e);
View Full Code Here

Examples of org.odftoolkit.odfdom.pkg.OdfFileDom

  //if the current package contains the same name with the referred object path,
  //rename the object path and path reference of this slide element
  //notes: the source clone element is the copied one to avoid changing the content of the source document.
  private void copyForeignLinkRef(OdfElement sourceCloneEle) {
    try {
      OdfFileDom fileDom = (OdfFileDom) sourceCloneEle.getOwnerDocument();
      XPath xpath;
      if (fileDom instanceof OdfContentDom) {
        xpath = ((OdfContentDom) fileDom).getXPath();
      } else {
        xpath = ((OdfStylesDom) fileDom).getXPath();
      }
      OdfPackageDocument srcDoc = fileDom.getDocument();
      //new a map to put the original name and the rename string, in case that the same name might be referred by the slide several times.
      HashMap<String, String> objectRenameMap = new HashMap<String, String>();
      NodeList linkNodes = (NodeList) xpath.evaluate(".//*[@xlink:href]", sourceCloneEle, XPathConstants.NODESET);
      for (int i = 0; i <= linkNodes.getLength(); i++) {
        OdfElement object = null;
View Full Code Here

Examples of org.odftoolkit.odfdom.pkg.OdfFileDom

      }

      if (mOwnerTable.mIsSpreadsheet) {
        newImage = Image.newImage(this, imageUri);
      } else {
        OdfFileDom dom = (OdfFileDom) mCellElement.getOwnerDocument();
        TextPElement pElement = dom.newOdfElement(TextPElement.class);
        mCellElement.appendChild(pElement);
        newImage = Image.newImage(Paragraph.getInstanceof(pElement), imageUri);
      }
      if (imageUri != null) {
        FrameRectangle rect = newImage.getRectangle();
View Full Code Here

Examples of org.odftoolkit.odfdom.pkg.OdfFileDom

        DrawFrameElement drawFrame = OdfElement.findFirstChildNode(DrawFrameElement.class, pElement);
        if (drawFrame != null) {
          DrawImageElement imageElement = OdfElement.findFirstChildNode(DrawImageElement.class, drawFrame);
          if (imageElement != null) {
            String packagePath = imageElement.getXlinkHrefAttribute();
            OdfFileDom dom = (OdfFileDom) mCellElement.getOwnerDocument();
            OdfPackage mOdfPackage = dom.getDocument().getPackage();
            InputStream is = mOdfPackage.getInputStream(packagePath);
            BufferedImage image = ImageIO.read(is);
            return image;
          }
        }
View Full Code Here

Examples of org.odftoolkit.odfdom.pkg.OdfFileDom

   */
  public void setNoteText(String note) {
    splitRepeatedCells();
    OfficeAnnotationElement annotation = OdfElement.findFirstChildNode(OfficeAnnotationElement.class, mCellElement);
    if (annotation == null) {
      OdfFileDom dom = (OdfFileDom) mCellElement.getOwnerDocument();
      annotation = (OfficeAnnotationElement) OdfXMLFactory.newOdfElement(dom, OdfName.newName(
          OdfDocumentNamespace.OFFICE, "annotation"));
    }
    TextPElement noteElement = OdfElement.findFirstChildNode(TextPElement.class, annotation);
    if (noteElement == null) {
View Full Code Here

Examples of org.openoffice.odf.doc.OdfFileDom

        // export
        try
        {
            OdfSpreadsheetDocument doc = OdfSpreadsheetDocument.createSpreadsheetDocument();
            OdfFileDom contentDoc = doc.getContentDom();

            // Remove the default table added in construction
            Element spreadsheetElement = ( Element ) contentDoc.getElementsByTagNameNS( OdfNamespace.OFFICE.getUri(),
                "spreadsheet" ).item( 0 );
            OdfTable table = ( OdfTable ) ( spreadsheetElement.getElementsByTagNameNS( OdfNamespace.TABLE.getUri(),
                "table" ).item( 0 ) );
            table.getParentNode().removeChild( table );

            // create the table
            table = new OdfTable( contentDoc );
            table.setName( "Export" ); //$NON-NLS-1$
            Element officeSpreadsheet = ( Element ) contentDoc.getElementsByTagNameNS( OdfNamespace.OFFICE.getUri(),
                "spreadsheet" ).item( 0 );
            officeSpreadsheet.appendChild( table );

            // header
            OdfTableRow headerRow = new OdfTableRow( contentDoc );
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.