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