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