simplify HTML CSS creation code
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1155357 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
73bfd88166
commit
339e6e29fa
@ -524,11 +524,8 @@ public class ExcelToHtmlConverter
|
||||
innerDivStyle.append( "pt;white-space:nowrap;" );
|
||||
ExcelToHtmlUtils.appendAlign( innerDivStyle,
|
||||
cellStyle.getAlignment() );
|
||||
innerDiv.setAttribute(
|
||||
"class",
|
||||
htmlDocumentFacade.getOrCreateCssClass(
|
||||
outerDiv.getTagName(), "d",
|
||||
innerDivStyle.toString() ) );
|
||||
htmlDocumentFacade.addStyleClass( outerDiv, "d",
|
||||
innerDivStyle.toString() );
|
||||
|
||||
innerDiv.appendChild( text );
|
||||
outerDiv.appendChild( innerDiv );
|
||||
@ -761,11 +758,8 @@ public class ExcelToHtmlConverter
|
||||
continue;
|
||||
|
||||
Element tableRowElement = htmlDocumentFacade.createTableRow();
|
||||
tableRowElement.setAttribute(
|
||||
"class",
|
||||
htmlDocumentFacade.getOrCreateCssClass(
|
||||
tableRowElement.getTagName(), "r", "height:"
|
||||
+ ( row.getHeight() / 20f ) + "pt;" ) );
|
||||
htmlDocumentFacade.addStyleClass( tableRowElement, "r", "height:"
|
||||
+ ( row.getHeight() / 20f ) + "pt;" );
|
||||
|
||||
int maxRowColumnNumber = processRow( mergedRanges, row,
|
||||
tableRowElement );
|
||||
|
@ -57,10 +57,7 @@ public class HtmlDocumentFacade
|
||||
html.appendChild( body );
|
||||
head.appendChild( stylesheetElement );
|
||||
|
||||
body.setAttribute(
|
||||
"class",
|
||||
getOrCreateCssClass( "body", "b",
|
||||
"white-space-collapsing: preserve; " ) );
|
||||
addStyleClass( body, "b", "white-space-collapsing:preserve;" );
|
||||
}
|
||||
|
||||
public void addAuthor( String value )
|
||||
@ -86,6 +83,17 @@ public class HtmlDocumentFacade
|
||||
head.appendChild( meta );
|
||||
}
|
||||
|
||||
public void addStyleClass( Element element, String classNamePrefix,
|
||||
String style )
|
||||
{
|
||||
String exising = element.getAttribute( "class" );
|
||||
String addition = getOrCreateCssClass( element.getTagName(),
|
||||
classNamePrefix, style );
|
||||
String newClassValue = WordToHtmlUtils.isEmpty( exising ) ? addition
|
||||
: ( exising + " " + addition );
|
||||
element.setAttribute( "class", newClassValue );
|
||||
}
|
||||
|
||||
public Element createBlock()
|
||||
{
|
||||
return document.createElement( "div" );
|
||||
|
@ -217,8 +217,7 @@ public class WordToHtmlConverter extends AbstractWordConverter
|
||||
|
||||
WordToHtmlUtils.addCharactersProperties( characterRun, style );
|
||||
if ( style.length() != 0 )
|
||||
span.setAttribute( "class", htmlDocumentFacade.getOrCreateCssClass(
|
||||
span.getTagName(), "s", style.toString() ) );
|
||||
htmlDocumentFacade.addStyleClass( span, "s", style.toString() );
|
||||
|
||||
Text textNode = htmlDocumentFacade.createText( text );
|
||||
span.appendChild( textNode );
|
||||
@ -405,26 +404,22 @@ public class WordToHtmlConverter extends AbstractWordConverter
|
||||
- cropBottom );
|
||||
|
||||
root = htmlDocumentFacade.createBlock();
|
||||
root.setAttribute( "class", htmlDocumentFacade.getOrCreateCssClass(
|
||||
root.getTagName(), "d", "vertical-align:text-bottom;width:"
|
||||
+ visibleWidth + "in;height:" + visibleHeight
|
||||
+ "in;" ) );
|
||||
htmlDocumentFacade.addStyleClass( root, "d",
|
||||
"vertical-align:text-bottom;width:" + visibleWidth
|
||||
+ "in;height:" + visibleHeight + "in;" );
|
||||
|
||||
// complex
|
||||
Element inner = htmlDocumentFacade.createBlock();
|
||||
inner.setAttribute( "class", htmlDocumentFacade
|
||||
.getOrCreateCssClass( inner.getTagName(), "d",
|
||||
"position:relative;width:" + visibleWidth
|
||||
+ "in;height:" + visibleHeight
|
||||
+ "in;overflow:hidden;" ) );
|
||||
htmlDocumentFacade.addStyleClass( inner, "d",
|
||||
"position:relative;width:" + visibleWidth + "in;height:"
|
||||
+ visibleHeight + "in;overflow:hidden;" );
|
||||
root.appendChild( inner );
|
||||
|
||||
Element image = htmlDocumentFacade.createImage( imageSourcePath );
|
||||
image.setAttribute( "class", htmlDocumentFacade
|
||||
.getOrCreateCssClass( image.getTagName(), "i",
|
||||
"position:absolute;left:-" + cropLeft + ";top:-"
|
||||
+ cropTop + ";width:" + imageWidth
|
||||
+ "in;height:" + imageHeight + "in;" ) );
|
||||
htmlDocumentFacade.addStyleClass( image, "i",
|
||||
"position:absolute;left:-" + cropLeft + ";top:-" + cropTop
|
||||
+ ";width:" + imageWidth + "in;height:"
|
||||
+ imageHeight + "in;" );
|
||||
inner.appendChild( image );
|
||||
|
||||
style.append( "overflow:hidden;" );
|
||||
@ -560,10 +555,7 @@ public class WordToHtmlConverter extends AbstractWordConverter
|
||||
}
|
||||
|
||||
if ( style.length() > 0 )
|
||||
pElement.setAttribute(
|
||||
"class",
|
||||
htmlDocumentFacade.getOrCreateCssClass(
|
||||
pElement.getTagName(), "p", style.toString() ) );
|
||||
htmlDocumentFacade.addStyleClass( pElement, "p", style.toString() );
|
||||
|
||||
WordToHtmlUtils.compactSpans( pElement );
|
||||
return;
|
||||
@ -573,8 +565,7 @@ public class WordToHtmlConverter extends AbstractWordConverter
|
||||
Section section, int sectionCounter )
|
||||
{
|
||||
Element div = htmlDocumentFacade.createBlock();
|
||||
div.setAttribute( "class", htmlDocumentFacade.getOrCreateCssClass(
|
||||
div.getTagName(), "d", getSectionStyle( section ) ) );
|
||||
htmlDocumentFacade.addStyleClass( div, "d", getSectionStyle( section ) );
|
||||
htmlDocumentFacade.body.appendChild( div );
|
||||
|
||||
processParagraphes( wordDocument, div, section, Integer.MIN_VALUE );
|
||||
@ -584,9 +575,8 @@ public class WordToHtmlConverter extends AbstractWordConverter
|
||||
protected void processSingleSection( HWPFDocumentCore wordDocument,
|
||||
Section section )
|
||||
{
|
||||
htmlDocumentFacade.body
|
||||
.setAttribute( "class", htmlDocumentFacade.getOrCreateCssClass(
|
||||
"body", "b", getSectionStyle( section ) ) );
|
||||
htmlDocumentFacade.addStyleClass( htmlDocumentFacade.body, "b",
|
||||
getSectionStyle( section ) );
|
||||
|
||||
processParagraphes( wordDocument, htmlDocumentFacade.body, section,
|
||||
Integer.MIN_VALUE );
|
||||
@ -672,11 +662,9 @@ public class WordToHtmlConverter extends AbstractWordConverter
|
||||
.createParagraph() );
|
||||
}
|
||||
if ( tableCellStyle.length() > 0 )
|
||||
tableCellElement.setAttribute( "class", htmlDocumentFacade
|
||||
.getOrCreateCssClass(
|
||||
tableCellElement.getTagName(),
|
||||
tableCellElement.getTagName(),
|
||||
tableCellStyle.toString() ) );
|
||||
htmlDocumentFacade.addStyleClass( tableCellElement,
|
||||
tableCellElement.getTagName(),
|
||||
tableCellStyle.toString() );
|
||||
|
||||
tableRowElement.appendChild( tableCellElement );
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user