Browse Source

REPORT-14108 预览效果不正确

bugfix/10.0
kerry 6 years ago
parent
commit
645159f9a3
  1. 3
      fine-itext/src/com/fr/third/v2/lowagie/text/html/simpleparser/IncTable.java
  2. 28
      fine-itext/src/com/fr/third/v2/lowagie/text/pdf/BorderStyle.java
  3. 6
      fine-itext/src/com/fr/third/v2/lowagie/text/pdf/TableProperties.java

3
fine-itext/src/com/fr/third/v2/lowagie/text/html/simpleparser/IncTable.java

@ -176,7 +176,8 @@ public class IncTable {
tableProperties.setBorderStyle(borderStyle);
String value = (String)props.get("border");
if(value != null){
borderStyle.setBorderWidth(CSSUtils.parseFloat(value));
borderStyle.parseBorderStyle(value);
}
value = (String)props.get("border-color");
if(value != null){

28
fine-itext/src/com/fr/third/v2/lowagie/text/pdf/BorderStyle.java

@ -1,6 +1,5 @@
package com.fr.third.v2.lowagie.text.pdf;
import com.fr.third.v2.lowagie.text.DocumentException;
import com.fr.third.v2.lowagie.text.html.CSSUtils;
import com.fr.third.v2.lowagie.text.html.Markup;
@ -10,6 +9,10 @@ public class BorderStyle {
private float borderWidth = 0.0f;
private Color borderColor = Color.black;
private String borderPattern = "solid";
//形如 border:1px
private static final int BORDER_WIDTH = 1;
//形如 border:1px solid black
private static final int BORDER_PROPERTY = 3;
public float getBorderWidth() {
return borderWidth;
@ -42,17 +45,26 @@ public class BorderStyle {
public BorderStyle(int borderWidth, String borderPattern, Color borderColor) {
this.borderWidth = borderWidth;
this.borderPattern = borderPattern;
this.borderWidth = borderWidth;
this.borderColor = borderColor;
}
public static BorderStyle parseBorderStyle(String borderString) throws DocumentException {
BorderStyle borderStyle = new BorderStyle();
public void parseBorderStyle(String borderString) {
String[] borderPros = borderString.split(" ");
borderStyle.setBorderWidth(CSSUtils.parseFloat(borderPros[0]));
borderStyle.setBorderPattern(borderPros[1]);
borderStyle.setBorderColor(Markup.decodeColor(borderPros[2]));
return borderStyle;
switch (borderPros.length) {
case BORDER_WIDTH:
this.setBorderWidth(CSSUtils.parseFloat(borderPros[0]));
break;
case BORDER_PROPERTY:
this.setBorderWidth(CSSUtils.parseFloat(borderPros[0]));
this.setBorderPattern(borderPros[1]);
this.setBorderColor(Markup.decodeColor(borderPros[2]));
break;
default:
break;
}
}
}

6
fine-itext/src/com/fr/third/v2/lowagie/text/pdf/TableProperties.java

@ -44,8 +44,10 @@ public class TableProperties {
public String toHtmlString(){
StringBuffer sb = new StringBuffer();
sb.append("cellspacing").append("=").append(cellspacing).append(" ");
sb.append("cellpadding").append("=").append(cellpadding).append(" ");
if(!isCollapse()){
sb.append("cellspacing").append("=").append(cellspacing).append(" ");
sb.append("cellpadding").append("=").append(cellpadding).append(" ");
}
sb.append("border").append("=").append(borderStyle.getBorderWidth()).append(" ");
return sb.toString();
}

Loading…
Cancel
Save