Browse Source
* commit '9446dd28ebbde671fb5fdcbd91ef30aecc6c8f8b': 无jira任务,persist合final REPORT-34320 块标签前的块标签含文本且文本尾部不是空格时会多出空白行 REPORT-33863 html图片变成了图片后文字的背景图;html图片宽度大于实际盒子宽度时,图片后的文字丢失 REPORT-32796 h1-h6标签,默认字体加粗不生效,默认margin值不生效 REPORT-32986 html大写标签不生效qufenxi
superman
4 years ago
7 changed files with 117 additions and 17 deletions
@ -0,0 +1,90 @@ |
|||||||
|
package com.fr.third.v2.lowagie.text.html.utils; |
||||||
|
|
||||||
|
import com.fr.third.v2.lowagie.text.html.HtmlTags; |
||||||
|
import com.fr.third.v2.lowagie.text.html.Markup; |
||||||
|
import java.util.HashMap; |
||||||
|
import java.util.Properties; |
||||||
|
|
||||||
|
/** |
||||||
|
* 处理标签默认属性值 |
||||||
|
* |
||||||
|
* @author Hugh.C |
||||||
|
* @version 1.0 |
||||||
|
* Created by Hugh.C on 2020/7/3 |
||||||
|
*/ |
||||||
|
public class DefaultPropertiesHandleUtils { |
||||||
|
|
||||||
|
//h1-h6 标签默认字体大小
|
||||||
|
private static final HashMap<String, String> H_TAG_DEFAULT_FONT_SIZE = new HashMap<String, String>(6); |
||||||
|
|
||||||
|
//h1-h6 标签默认margin-top and bottom大小
|
||||||
|
private static final HashMap<String, String> H_TAG_DEFAULT_MARGIN = new HashMap<String, String>(6); |
||||||
|
|
||||||
|
|
||||||
|
static { |
||||||
|
H_TAG_DEFAULT_FONT_SIZE.put("h1", "2em"); |
||||||
|
H_TAG_DEFAULT_FONT_SIZE.put("h2", "1.5em"); |
||||||
|
H_TAG_DEFAULT_FONT_SIZE.put("h3", "1.17em"); |
||||||
|
H_TAG_DEFAULT_FONT_SIZE.put("h4", "1em"); |
||||||
|
H_TAG_DEFAULT_FONT_SIZE.put("h5", "0.83em"); |
||||||
|
H_TAG_DEFAULT_FONT_SIZE.put("h6", "0.67em"); |
||||||
|
|
||||||
|
H_TAG_DEFAULT_MARGIN.put("h1", "0.67em"); |
||||||
|
H_TAG_DEFAULT_MARGIN.put("h2", "0.83em"); |
||||||
|
H_TAG_DEFAULT_MARGIN.put("h3", "1em"); |
||||||
|
H_TAG_DEFAULT_MARGIN.put("h4", "1.33em"); |
||||||
|
H_TAG_DEFAULT_MARGIN.put("h5", "1.67em"); |
||||||
|
H_TAG_DEFAULT_MARGIN.put("h6", "2.33em"); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 填充默认属性值 |
||||||
|
* |
||||||
|
* @param tag |
||||||
|
* @param h |
||||||
|
*/ |
||||||
|
public static void fillDefaultProperties(String tag, HashMap h) { |
||||||
|
if (null == tag || null == h) { |
||||||
|
return; |
||||||
|
} |
||||||
|
if (HtmlTags.HEADERCELL.endsWith(tag)) { |
||||||
|
h.put("b", null); |
||||||
|
return; |
||||||
|
} |
||||||
|
if (HtmlTags.ANCHOR.equals(tag)) { |
||||||
|
h.put("u", null); |
||||||
|
h.put("color", "blue"); |
||||||
|
return; |
||||||
|
} |
||||||
|
|
||||||
|
String style = (String) h.get("style"); |
||||||
|
if (HtmlTags.PARAGRAPH.equals(tag)) { |
||||||
|
Properties props = Markup.parseAttributes(style); |
||||||
|
if (!props.containsKey(Markup.CSS_KEY_MARGINTOP)) { |
||||||
|
h.put(Markup.CSS_KEY_MARGINTOP, "1em"); |
||||||
|
} |
||||||
|
if (!props.containsKey(Markup.CSS_KEY_MARGINBOTTOM)) { |
||||||
|
h.put(Markup.CSS_KEY_MARGINBOTTOM, "1em"); |
||||||
|
} |
||||||
|
return; |
||||||
|
} |
||||||
|
|
||||||
|
if (H_TAG_DEFAULT_FONT_SIZE.containsKey(tag)) { |
||||||
|
h.put("b", null); |
||||||
|
Properties props = Markup.parseAttributes(style); |
||||||
|
if (!props.containsKey(Markup.CSS_KEY_MARGINTOP)) { |
||||||
|
h.put(Markup.CSS_KEY_MARGINTOP, H_TAG_DEFAULT_MARGIN.get(tag)); |
||||||
|
} |
||||||
|
if (!props.containsKey(Markup.CSS_KEY_MARGINBOTTOM)) { |
||||||
|
h.put(Markup.CSS_KEY_MARGINBOTTOM, H_TAG_DEFAULT_MARGIN.get(tag)); |
||||||
|
} |
||||||
|
if (!props.containsKey(Markup.CSS_KEY_FONTSIZE)) { |
||||||
|
h.put("style", new StringBuilder(null == style ? "" : style).append(";") |
||||||
|
.append(Markup.CSS_KEY_FONTSIZE).append(":").append(H_TAG_DEFAULT_FONT_SIZE.get(tag)).append(";").toString()); |
||||||
|
} |
||||||
|
return; |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
} |
Loading…
Reference in new issue