精华内容
下载资源
问答
  • 使用网页生成试卷在通过浏览器的打印转成pdf存在一些缺陷,网页上布局使用相对和绝对定位处理,会存在图片太大显示全的问题、公式无法自动换行的问题,页面样式转pdf后无法保证pdf样式的完整性。试卷太多的时候...

    java word 导出数学公式latex、katex与图片自适应

    需求

    公司之前在做导出数学试卷的时候使用网页的方式生成试卷(零时解决方案),通过网页的打印pdf方式来生成试卷,使用网页生成试卷在通过浏览器的打印转成pdf存在一些缺陷,网页上布局使用相对和绝对定位处理,会存在图片太大显示不全的问题、公式无法自动换行的问题,页面样式转pdf后无法保证pdf样式的完整性。试卷太多的时候不同学生的试卷不同,使用自动化脚本转pdf根本不适用,费时费力而且无法保证试卷的样式,打印成纸质的问题太多,因此迫切需要将所有学生的试卷一键下载成zip包:
    这里补充一下,为什么不直接转pdf,主要是个人未找到latex在pdf中如何显示的问题,如果数学公式转存图片然后放pdf中又会存在公式图片太长超过pdf宽度导致公式线上不全的问题

    实现效果

    在这里插入图片描述

    技术问题

    要完成数学试卷一键下载成zip包,需要解决几个技术问题
    1、 latex、katex 转word 的数学公式标准
    2、 试卷中图片大小、格式问题等比例缩放问题
    3、 导出的性能问题
    4、word版本,(我这里使用的word2019),200个学生60秒完成导出

    解决技术问题

    1、首先latex katex数学公式转word公式标准omml,之前了解过latex转图片,或者使用mathml标准在浏览器显示然后通过html转pdf或者word ,主要是因数学公式在网页上线上使用mathjax 处理,在java上没有找到办法在java中加载代码,当然个人尝试过使用javax.script.ScriptEngine 去执行js代码来处理,ScriptEngine 无法获取到doment对象,因此放弃了使用html 转word或pdf的方案 。采用fmath包与 latex_toword包 直接转omml,这两个包经过测试部分公式无法转换成功,
    2、目前采用的方案是先将latex转mathml转omml、latex转mathml使用fmath转出来的mathml1.0标准,因此在转omml转出的公式无法在word显示或者导致word报错,word无法打开等问题。因此放弃使用fmath,经过大量的实现找替代方案终于找到
    3、mathml 转omml ,通过xsl 执行转换

     <dependency>
    			<groupId>com.thoughtworks.xstream</groupId>
    			<artifactId>xstream</artifactId>
    			<version>1.4.11.1</version>
    			<scope>compile</scope>
    		</dependency>
    

    可以完美解决
    /**
    * latex 转 mathml
    * @param latex
    * @return mathml
    * @throws IOException
    /
    public String toMath(String latex) throws IOException {
    SnuggleEngine engine = new SnuggleEngine();
    SnuggleSession session = engine.createSession();
    /
    加载、存储、操作和处理MathML XML文档的API。 */
    SnuggleInput input = new SnuggleInput(latex);
    session.parseInput(input);
    String xmlString = session.buildXMLString();
    return xmlString;
    }

    /**
       *  mathml 转omml
        * xml:是解析的内容
        */
       @SneakyThrows
       public static String xslConvert(String xml) throws FileNotFoundException {
       	TransformerFactory tFac = TransformerFactory.newInstance();
       	StringWriter writer = new StringWriter();
       	StringBuffer stringBuilder=new StringBuffer();
       	try {
       		Transformer t = tFac.newTransformer(new StreamSource(new StringReader(xslString)));
       		Source source = new StreamSource(new StringReader(xml));
       		Result result = new StreamResult(writer);
       		t.transform(source, result);
       		stringBuilder.append(writer.getBuffer().toString());
       	} catch (TransformerException e) {
       		//stringBuilder.append("公式转换出错");
       		e.printStackTrace();
       	} finally {
       		if(writer!=null){
       			writer.close();
       		}
       	}
       	return stringBuilder.toString();
       }
       ```
       今天就先写到这儿。
    
    
    
    
    
    
    
    
    
    展开全文
  • 通用文档转换器Universal Document Converter是最完整的文件转成PDF,JPEG,TIFF或其他图形文件的解决方案,帮您把任何文档转换成图片格式可编辑PDF和流行的图片文件。该程序的根本基础是虚拟打印技术。 使用方法...
  • word使用技巧大全

    热门讨论 2011-03-18 20:37:53
    ★快速删除Word不常用的按钮和菜单 22 ★更改菜单打开方式 22 ★更改默认的度量单位 22 ★将同一高度和宽度应用于不同对象 23 ★添加更多的智能标记 23 ★在任务栏上显示多余文档图标 23 ★自动滚动,我可以 23 ★...
  • 罗刚君Word精灵 v3.0.rar

    2019-07-13 05:22:16
    罗刚君Word精灵包含72个工具,用于强化WORD的功能,它支持32位和64位的Word,支持Word 2010、2013、2016和2019,支持WORD 2003和2007。也支持WPS 2016和2019。   罗刚君Word精灵名称与功能详细介绍 导出所有...
  • 如何将PPT转word

    2011-12-10 22:58:29
    我们通常用Word来录入、编辑、打印材料,而有时需要将已经编辑、打印好的材料,做成PowerPoint演示文稿,以供演示、讲座使用。如果在PowerPoint中重新录入,既麻烦又浪费时间。如果在两者之间,通过一块块地复制、...
  • 1.5 屏幕上你看到的,一定都会被打印! 12 1.6 被滥用的空格键! 14 1.7 回车还有软硬之分? 16 1.8 回车并是用来调节段落间距的! 18 1.9 靠空格来控制文字位置?看标尺! 20 1.10 文字怎么总是对齐?...
  • pb开发实例完整

    2015-04-28 16:12:19
    报表打印 案例1 报表打印预览 案例2 报表的打印 案例3 数据窗口的预览和打印实现 案例4 使用混合编程实现打印控制 案例5 使用PowerPrinter动态链接库实现打印扩展 案例6 数据窗口的打印 ...
  • asp商城平台完整

    2010-12-15 19:26:30
    ○新增订单打印功能,首先生成整洁的纯文本打印件,再执行打印操作,而不是像许多同类系统仅仅是调用打印命令打印网页,打印件中有太多杂而无用的内容。 ○销售统计,对所有完成的订单进行统计,了解销售情况。 ○...
  • 4.导入图片并按页面排版:批量导入图片到工作表中,然后自动设置图片大小及页边距,从而每张图片都能完整打印出来,不会显示在两页中。有每页显示3行*2列、4行*3列和4行*2列共三种排列方式。 5.导入网络图片:当...
  • 【系统常用工具】 系统常用工具的快捷调用,例如:计算器、记事本、WORD、画图板。 【隐藏选项卡】 可以隐藏Excel2007及2010功能区的各选项卡(如:开始、插入、开发工具等)。 图 片 工 具 【选择本表图片】 将...
  • 为了方便阅读,本人在上传前添加了完整的书签。 全书压缩打包成3部分,这是第2部分。 注:本系列图书的第I、II卷再版时均相应改名为《xxx开发实例大全》(基础卷)及(提高卷),但内容基本无变化,需要的童鞋可自由...
  • Qt5开发及实例(完整版PDF)part1

    热门讨论 2015-03-06 13:35:41
    第17章 综合实例:Qt版Word字处理软件 535 17.1 核心功能界面演示 535 17.2 界面设计与开发 537 17.2.1 建立MDI程序框架 537 17.2.2 菜单系统设计 542 17.2.3 工具栏设计 556 17.2.4 子窗口管理 561 17.2.5 界面生成...
  • Qt5开发及实例(完整版PDF).part2

    热门讨论 2015-03-06 13:37:18
    第17章 综合实例:Qt版Word字处理软件 535 17.1 核心功能界面演示 535 17.2 界面设计与开发 537 17.2.1 建立MDI程序框架 537 17.2.2 菜单系统设计 542 17.2.3 工具栏设计 556 17.2.4 子窗口管理 561 17.2.5 界面生成...
  • 【系统常用工具】 系统常用工具的快捷调用,例如:计算器、记事本、WORD、画图板。 【隐藏选项卡】 可以隐藏Excel2007及2010功能区的各选项卡(如:开始、插入、开发工具等)。 图 片 工 具 【选择本表图片】 将工作...
  • 实例069 查询时显示重复记录 135 实例070 列出数据中的重复记录和记录条数 136 3.9 排序、分组统计 138 实例071 对数据进行降序查询 138 实例072 对数据进行多条件排序 139 实例073 对统计结果进行排序 141 ...
  • 实例069 查询时显示重复记录 135 实例070 列出数据中的重复记录和记录条数 136 3.9 排序、分组统计 138 实例071 对数据进行降序查询 138 实例072 对数据进行多条件排序 139 实例073 对统计结果进行排序 141 ...
  • 一:必须是完整版OFFICE,能是绿色版、精简版,它们支持COM加载宏 二:必须关闭Excel状态下安装或者删除工具,安装后重启Excel即可 三:如果是VISTA或WIN 7,必须以管理员用户安装,且从控制面板中关掉用户...
  • 最初,因为它在很大程度上仅把不同类型的Office文档链接在一起,所以利用它,例如,可以把一个小型Excel电子表格放在Word文档中。之后,它逐步演化为COM、DCOM(Distributed COM,分布式组件对象模型)和最终的COM+。...
  • VC SuperReport

    热门讨论 2007-05-24 10:08:18
    4、可以支持图片、动画甚至是音乐和Flash 5、支持报表打印、预览、查找、保存、更新和页面设置等功能 如问题可以给我发mail,我的信箱:zhang_zkun@cvicse.com <br><br><br>注:使用word编辑报表模版时,请保存...
  • 为了方便阅读,本人在上传前添加了完整的书签。 全书压缩打包成3部分,这是第3部分。 注:本系列图书的第I、II卷再版时均相应改名为《xxx开发实例大全》(基础卷)及(提高卷),但内容基本无变化,需要的童鞋可自由...
  • SuperReport

    2007-05-15 11:03:06
    本软件带有软码,大家可以使用到任何一个地方,解压缩后在testReport/Release目录下是完整的可执行程序,可以... 3、可以支持图片、动画甚至是音乐和Flash 4、支持报表打印、预览、查找、保存、更新和页面设置等功能
  • VC++ SuperReport

    2007-05-15 11:44:47
    本软件带有软码,大家可以使用到任何一个地方,解... 4、可以支持图片、动画甚至是音乐和Flash 5、支持报表打印、预览、查找、保存、更新和页面设置等功能 如问题可以给我发mail,我的信箱:zhang_zkun@cvicse.com
  • 增加即时提示(Tooltip)功能:在设计器中,当鼠标悬停在完整显示的文字上面时,即时提示窗口弹出并完整显示出文字。 在拖动与缩放部件框的时候,在标尺上指示位置。 更精细控制属性项的显示,根据属性名称控制...
  • 注:原电子版图书无书签,为阅读方便,本人重新排列页码并添加了详细完整的书签。 全书体积较大,压缩打包成3部分,这是第1部分。 注:本系列图书的第I、II卷再版时均相应改名为《xxx开发实例大全》(基础卷)及(提高...
  • 注:原电子版图书无书签,为阅读方便,本人重新排列页码并添加了详细完整的书签。 全书体积较大,压缩打包成3部分,这是第2部分。 注:本系列图书的第I、II卷再版时均相应改名为《xxx开发实例大全》(基础卷)及(提高...
  • 注:原电子版图书无书签,为阅读方便,本人重新排列页码并添加了详细完整的书签。 全书体积较大,压缩打包成3部分,这是第3部分。 注:本系列图书的第I、II卷再版时均相应改名为《xxx开发实例大全》(基础卷)及(提高...
  • Excel百宝箱8.0

    2011-06-07 21:32:17
    【报表分栏工具箱】【删除工资条恢复明细表】【制作工资条】【建立分页小计】【删除分页小计】【建立图片目录】【批量导入图片(精确匹配)】【批量导入图片(模糊匹配)】【批量导入图片到批注】【删除所有图片】...

空空如也

空空如也

1 2 3 4 5 6
收藏数 102
精华内容 40
关键字:

word图片打印不完整