Browse Source
* commit '17c2807732b2dd7705d935d6cc01ab414081c123': REPORT-6702 添加margin和padding属性解析10.0
superman
7 years ago
7 changed files with 160 additions and 40 deletions
@ -0,0 +1,77 @@ |
|||||||
|
package com.fr.third.v2.lowagie.text.html; |
||||||
|
|
||||||
|
import java.util.Iterator; |
||||||
|
import java.util.Map; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author kerry |
||||||
|
* @date 2018/5/14 |
||||||
|
*/ |
||||||
|
public class ParseIndentAttrUtils { |
||||||
|
public static IndentAttribute parseSpace(String indent){ |
||||||
|
String[] a = indent.split(" "); |
||||||
|
if(a.length == 0){ |
||||||
|
return new IndentAttribute(); |
||||||
|
} |
||||||
|
float indentTop = Markup.parseLength(a[0]); |
||||||
|
if(a.length == 1){ |
||||||
|
return new IndentAttribute(indentTop, indentTop, indentTop, indentTop); |
||||||
|
} |
||||||
|
float indentLeft = Markup.parseLength(a[1]); |
||||||
|
if(a.length == 2){ |
||||||
|
return new IndentAttribute(indentTop, indentLeft, indentTop, indentLeft); |
||||||
|
} |
||||||
|
float indentBottom = Markup.parseLength(a[2]); |
||||||
|
if(a.length == 3){ |
||||||
|
return new IndentAttribute(indentTop, indentLeft, indentBottom, indentLeft); |
||||||
|
} |
||||||
|
float indentRight = Markup.parseLength(a[3]); |
||||||
|
return new IndentAttribute(indentTop, indentLeft, indentBottom, indentRight); |
||||||
|
} |
||||||
|
|
||||||
|
public static IndentAttribute parsePaddingAttribute(Map map){ |
||||||
|
IndentAttribute indentAttribute = new IndentAttribute(); |
||||||
|
Iterator iter = map.entrySet().iterator(); |
||||||
|
while (iter.hasNext()) { |
||||||
|
Map.Entry entry = (Map.Entry) iter.next(); |
||||||
|
String key = (String) entry.getKey(); |
||||||
|
if (CSS.Property.PADDING_LEFT.equals(key)) { |
||||||
|
indentAttribute.setLeft(Markup.parseLength((String) entry.getValue())); |
||||||
|
} else if (CSS.Property.PADDING_RIGHT.equals(key)) { |
||||||
|
indentAttribute.setRight(Markup.parseLength((String) entry.getValue())); |
||||||
|
} else if (CSS.Property.PADDING_TOP.equals(key)) { |
||||||
|
indentAttribute.setTop(Markup.parseLength((String) entry.getValue())); |
||||||
|
} else if (CSS.Property.PADDING_BOTTOM.equals(key)) { |
||||||
|
indentAttribute.setBottom(Markup.parseLength((String) entry.getValue())); |
||||||
|
} |
||||||
|
} |
||||||
|
return indentAttribute; |
||||||
|
} |
||||||
|
|
||||||
|
public static IndentAttribute parseMarginAttribute(Map map){ |
||||||
|
IndentAttribute indentAttribute = new IndentAttribute(); |
||||||
|
Iterator iter = map.entrySet().iterator(); |
||||||
|
while (iter.hasNext()) { |
||||||
|
Map.Entry entry = (Map.Entry) iter.next(); |
||||||
|
String key = (String) entry.getKey(); |
||||||
|
float val = Markup.parseLength((String) entry.getValue()); |
||||||
|
if (CSS.Property.MARGIN_LEFT.equals(key)) { |
||||||
|
indentAttribute.setLeft(val); |
||||||
|
} else if (CSS.Property.MARGIN_RIGHT.equals(key)) { |
||||||
|
indentAttribute.setRight(val); |
||||||
|
} else if (CSS.Property.MARGIN_TOP.equals(key)) { |
||||||
|
indentAttribute.setTop(val); |
||||||
|
} else if (CSS.Property.MARGIN_BOTTOM.equals(key)) { |
||||||
|
indentAttribute.setBottom(val); |
||||||
|
} |
||||||
|
} |
||||||
|
return indentAttribute; |
||||||
|
} |
||||||
|
|
||||||
|
public static void createIndent(StringBuffer stringBuffer, String attr, IndentAttribute indentAttribute){ |
||||||
|
stringBuffer.append(attr).append("-").append("left").append(":").append(indentAttribute.getLeft()).append("px;") |
||||||
|
.append(attr).append("-").append("right").append(":").append(indentAttribute.getRight()).append("px;") |
||||||
|
.append(attr).append("-").append("top").append(":").append(indentAttribute.getTop()).append("px;") |
||||||
|
.append(attr).append("-").append("bottom").append(":").append(indentAttribute.getBottom()).append("px;"); |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue