You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by se...@apache.org on 2011/07/21 06:25:40 UTC

svn commit: r1149035 - /poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/converter/WordToHtmlConverter.java

Author: sergey
Date: Thu Jul 21 04:25:39 2011
New Revision: 1149035

URL: http://svn.apache.org/viewvc?rev=1149035&view=rev
Log:
more compact HTML in Word-to-HTML converter

Modified:
    poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/converter/WordToHtmlConverter.java

Modified: poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/converter/WordToHtmlConverter.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/converter/WordToHtmlConverter.java?rev=1149035&r1=1149034&r2=1149035&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/converter/WordToHtmlConverter.java (original)
+++ poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/converter/WordToHtmlConverter.java Thu Jul 21 04:25:39 2011
@@ -45,6 +45,8 @@ import org.apache.poi.util.POILogFactory
 import org.apache.poi.util.POILogger;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
 import org.w3c.dom.Text;
 
 import static org.apache.poi.hwpf.converter.AbstractWordUtils.TWIPS_PER_INCH;
@@ -523,6 +525,32 @@ public class WordToHtmlConverter extends
                     htmlDocumentFacade.getOrCreateCssClass(
                             pElement.getTagName(), "p", style.toString() ) );
 
+        {
+            // compact spans
+            NodeList childNodes = pElement.getChildNodes();
+            for ( int i = 0; i < childNodes.getLength() - 1; i++ )
+            {
+                Node child1 = childNodes.item( i );
+                Node child2 = childNodes.item( i + 1 );
+                if ( child1.getNodeType() != Node.ELEMENT_NODE
+                        || child2.getNodeType() != Node.ELEMENT_NODE
+                        || !WordToHtmlUtils.equals( "span",
+                                ( (Element) child1 ).getTagName() )
+                        || !WordToHtmlUtils.equals( "span",
+                                ( (Element) child2 ).getTagName() )
+                        || !WordToHtmlUtils.equals(
+                                ( (Element) child1 ).getAttribute( "class" ),
+                                ( (Element) child2 ).getAttribute( "class" ) ) )
+                    continue;
+
+                // merge
+                while ( child2.getChildNodes().getLength() > 0 )
+                    child1.appendChild( child2.getFirstChild() );
+                child2.getParentNode().removeChild( child2 );
+                i--;
+            }
+        }
+
         return;
     }
 



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org