• 大小: 65KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-12
  • 语言: 其他
  • 标签: java  word  docx4j  

资源简介

docx4j解析word导入试题入库,支持图片解析,mathType公式解析,word自带数学公式解析

资源截图

代码片段和文件信息

/**
 * Mainbo.com Inc.
 * Copyright (c) 2015-2017 All Rights Reserved.
 */
package com.mainbo.u3.personaltopic.util;

import net.arnx.wmf2svg.gdi.svg.SvgGdi;
import net.arnx.wmf2svg.gdi.wmf.WmfParser;
import org.apache.batik.transcoder.TranscoderInput;
import org.apache.batik.transcoder.TranscoderOutput;
import org.apache.batik.transcoder.image.ImageTranscoder;
import org.apache.batik.transcoder.image.JPEGTranscoder;
import org.w3c.dom.Document;

import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;

/**
 * 

 *
 * 

 *
 * @author long
 * @version $Id: ImageConvert.java v 1.0 2017年11月13日 13:46. long Exp $
 */
public class ImageConvert {


    public static byte[] convert(byte[] bytes) {
        try {
            return svgToJpg(wmfToSvg(bytes));
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

    /**
     * 将svg转化为JPG
     *
     * @param bytes
     */
    public static byte[] svgToJpg(byte[] bytes) {
        ByteArrayInputStream svgInputStream = null;
        ByteArrayOutputStream jpg = null;
        try {
            JPEGTranscoder it = new JPEGTranscoder();
            it.addTranscodingHint(JPEGTranscoder.KEY_QUALITY new Float(1f));
            it.addTranscodingHint(ImageTranscoder.KEY_WIDTH new Float(100));
            jpg = new ByteArrayOutputStream();
            svgInputStream = new ByteArrayInputStream(bytes);
            it.transcode( new TranscoderInput(svgInputStream) new TranscoderOutput(jpg));
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                if (svgInputStream != null) {
                    svgInputStream.close();
                }
                if (jpg != null) {
                    jpg.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return jpg.toByteArray();
    }

    /**
     * 将wmf转换为svg
     * bytes
     */
    public static byte[] wmfToSvg(byte[] bytes) {
        boolean compatible = false;
        InputStream in = null;
        ByteArrayOutputStream out = null;
        try {
            in = new ByteArrayInputStream(bytes);
            WmfParser parser = new WmfParser();
            final SvgGdi gdi = new SvgGdi(compatible);
            parser.parse(in gdi);
            out = new ByteArrayOutputStream();
            return output(gdi.getDocument() out);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                if (in != null) {
                    in.close();

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       4066  2017-11-21 11:08  Demo\ImageConvert.java

     文件       1639  2017-11-30 18:06  Demo\NodeUtil.java

     文件       2401  2017-11-30 15:19  Demo\Omml2LatexUtil.java

     文件        886  2017-12-01 14:30  Demo\pom依赖.txt

     文件      14163  2017-12-01 14:28  Demo\Split.java

     目录          0  2017-12-01 14:30  Demo

----------- ---------  ---------- -----  ----

                23155                    6


评论

共有 条评论