word域代码转换html丢失解决办法
更新时间:2023-05-04 07:42:01 阅读量: 实用文档 文档下载
- word的域代码转换推荐度:
- 相关推荐
Word转html存在域代码丢失。
Aspose , jacob , poi 者E无法解
决
在使用jocob转换成html时域代码会被
private void processFormula(List
Un supportedE ncod in gExcepti
on{ for
(int i = no des .size()-1; i >=0; i --){
Node node = no des .get( i );
if ( node instanceof Element){
Element e = (Element) node ;
processFormula( e.childNodes());
} else if ( node instanceof Comment){
String commentText = node .toString();
if ( commentText .contains( "","") .replace((char) 10 +
"","") .replace((char) 13 + "","");
Docume nt doc = Jsoup.parse(html);
Eleme nts sups = doc.select("sup");
Eleme nts subs = doc.select("sub");
//纠正上标
for(Eleme nt sup:sups){ String text = sup.text(); sup.tagName("spa n");
sup.text("\\s("+text+", )");
//纠正下标
for(Eleme nt sub:subs){ String text = sub.text(); sub.tagName("spa n"); sub.text("\\s(,"+text+")");
String eqtext = doc.body().text();
eqtext = mergeSubSup(eqtext);
//无法被StringUtil判断为空白的空白
eqtext = eqtext.replace((char) 8203 + "","");
eqtext = eqtext.replace((char) 160 + "", " ").replace("\\ ", "");
eqtext = eqtext.trim();
// System.out.println(eqtext+" ------------->");
if(eqtext.startsWith("eq")){
eqtext = eqtext.replaceFirst("eq", "").trim();
eqtext = eqtext.replace("\\"+LEFTBRACKET, "\\"+LEFTBRACKETRE).replace("\\"+RIGHTBRACKET,
"\\"+RIGHTBRACKETRE).replace("\\"+COMMA, "\\"+COMMARE);
Stri ng latex = parserEleme nts(eqtext);
return latex.replace("\\"+LEFTBRACKETRE, "\\"+LEFTBRACKET).replace("\\"+RIGHTBRACKETRE,
"\\"+RIGHTBRACKET).replace("\\"+COMMARE, "\\"+COMMA);
}
return "";
}
private static String mergeSubSup(String latex){
// 这里需要合并上下标例如:eq \i\su(\s(i, )\s( = , )\s(1, ),\s( ,3),x)
〃--->eq \i\su(\s(i = 1, ),\s( ,3),x)
//TODO
return latex;
}
/**
*
* @param eqtext
* @return
*/
private static String parserEleme nts(Stri ng eqtext){
Stri ng latex ="";
if(eqtext.co ntai ns("\\")&&eqtext.co nta in s(LEFTBRACKET)&&eqtext.co ntai ns(RIGHTBR ACKET)){
String preText = eqtext.substri ng(0,eqtext.i ndexOf("\\"));
int startI ndex = eqtext.i ndexOf("\\");
int endln dex= getNextLeftBra(startI ndex,'(',eqtext);
int n extBra = getNextBra In dex(e ndln dex+1,eqtext);
String name = eqtext.substring(startIndex,endlndex);
String text = eqtext.substring(endlndex+1,nextBra);
String suffText= eqtext.substring(nextBra+1,eqtext.length());
latex = parserEleme nts(preText) + parserToLatex (n ame.trim(),text)
+parserEleme nts(suffText);
}else{
latex = eqtext;
}
return latex;
}
private static int getNextLeftBra(int start,char sym,String eqtext){ for(i nt i =start;i char leftbra = eqtext.charAt(i); if(leftbra == sym){ return i; } } return eqtext .len gth(); /** 获取配对括号的位置 * @param text 文本 * @return 位置 */ private static int getNextBraIndex(int start,String text){ int leftbra = 0; int rightbra = 0; for(i nt i = start-1 ; i char c = text.charAt(i); if(c == ')'){ leftbra ++; } if(c =='('){ rightbra++; } if(rightbra!=O&&leftbra==rightbra&&>=start){ return i; } } return 0; } private static String parserToLatex(String name,String text){ Stri ng latex =""; n ame = n ame.toLowerCase(); //分式 if(n ame.equals("\\f')){ latex +=getFLatex (n ame, text); //根式 }else if(n ame.equals("\\r")){ latex +=getRLatex (n ame, text); //上下标 }else if(n ame.startsWith("\\s")){ latex+=getSLatex (n ame, text); //\a矩阵\al左对齐;\ac居中;\ar右对齐;\con元素排成n列;\vsn行间增加n磅;\hsn 列间增加n磅 }else if(n ame.startsWith("\\a")){ latex += getALatex (n ame, text); }else if(n ame.startsWith("\\b")){ latex+=getBLatex (n ame, text); //平移 }else if(n ame.startsWith("\\d")){ latex+=getDLatex (n ame, text); //积分 }else if(n ame.startsWith("\\i")){ latex+=getILatex (n ame, text); //列表 }else if(n ame.startsWith("\\l")){ latex+=getLLatex (n ame, text); //重叠 }else if(n ame.startsWith("\\o")){ latex+=getOLatex (n ame, text); //框 }else if(n ame.startsWith("\\x")){ latex+=getXLatex (n ame, text); //空白 }else if(Stri ngUtils.isBla nk(n ame)){ latex+=parserEleme nts(text); }else{ System.err.pri ntln ("error parserToLatex"); } return latex; } /** *根式多次根式 * @param n ame n ame * @param text text * @return latex */ private static String getRLatex(String name,String text){ Stri ng latex =""; List latex +=parserEleme nts(args.get(0)); latex +="]{"; latex +=parserEleme nts(args.get(1)); latex +="}"; }else if(args.size()==1){ latex +=" \\sqrt{"; latex +=parserEleme nts(args.get(0)); latex +="}"; }else{ System.err.pri ntln ("error getRLatex"); } return latex; } *分式 * @param n ame n ame * @param text text * @return latex */ private static String getFLatex(String name,String text){ Stri ng latex =""; List latex +=parserEleme nts(args.get(0)); latex +="}{"; latex +=parserEleme nts(args.get(1)); latex +="}"; }else{ System.err.pri ntln ("error getFLatex"); } return latex; } * //\a矩阵\al左对齐;\ac居中;\ar右对齐;\con元素排成n列;\vsn行间增加n 磅;\hsn列间增加n磅 * @param n ame n ame * @param text text * @return latex */ private static String getALatex(String name,String text){ Stri ng latex =""; List Stri ng n = name.replaceAII("A[\\S\\s]*\\\\co([0-9]*)[\\S\\s]*$", "$1"); //列数 int col = 1; if(n.matches("[0-9]*")) col = Integer.valueOf(n); for(i nt i = 0 ;i if(i!=0&&i %col==0){ latex += " \\\\ "; } latex += parserEleme nts(args.get(i)); }
正在阅读:
word域代码转换html丢失解决办法05-04
XX、XXX单位工程建设管理报告06-02
中考古诗文试题分课汇编:岳阳楼记01-23
刘延-九年级英语第一学期教学计划07-10
家长教案06-06
公司请假条格式02-17
物联网发展现状及趋势研究03-14
玩游戏作文400字02-06
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 丢失
- 转换
- 代码
- 办法
- 解决
- word
- html
- 2016年喷码防伪技术发展现状及市场前景分析 (目录)
- 倒装句练习(有答案)
- 2018年内蒙古医科大学第二附属医院306西医综合之生物化学考研强化五套模拟题
- 《海外与国际工程《项目管理》》课程大纲-薛大龙博士
- 2018-2019年太原市万柏林区太白街小学校一年级上册语文模拟期末测试无答案
- 专题04 乘法公式易错(解析版)-2020-2021学年八年级数学寒假温故知新汇编(人教版)
- 蜂巢蜜的功效和作用
- 2012高考物理二轮专题训练15 电磁感应与电路的基本问题
- 海信集团月度考核制度
- 运梁车炮车安全操作规程
- 《通信经济学》综合练习,附答案
- 卫生信息数据元值域代码
- 心理与精神护理教学大纲
- 四川省成都市2019_2020学年高二地理上学期期末调研考试1月试题-含答案
- 交叉作业安全管理办法
- 2019-2020年高中物理 第4章 光的波动性 4.6 全反射与光导纤维 4.7 激光课后训练 沪科版选修3-4
- 资阳市产业园区规划及招商引资报告
- 电工学下第七版秦曾煌版直流稳压电源
- 中国遮阳板行业发展趋势与投资决策研究预测报告2016-2020年
- 新闻学概论课程讲义