java ofd文件转换图片 您所在的位置:网站首页 ofd转换为pdf部分不显示不全 java ofd文件转换图片

java ofd文件转换图片

2023-10-23 05:21| 来源: 网络整理| 查看: 265

是根据开源项目写的:https://gitee.com/ofdrw/ofdrw?_from=gitee_search

该ofdrw工具可以转换pdf、图片等,本文章主要介绍ofd文件使用ofdrw转换图片

引入依赖

org.ofdrw ofdrw-converter 1.13.4 org.apache.logging.log4j log4j-slf4j-impl

建议引入图像支持库,可以避免Numbers of source Raster bands and source color space components do not matc等PageBlock无法渲染问题,这个也是坑之一,请确认是否需要该库

com.twelvemonkeys.imageio imageio-jpeg 3.4.1

工具类

package cn.xx; import org.apache.commons.lang3.StringUtils; import org.ofdrw.converter.ImageMaker; import org.ofdrw.reader.OFDReader; import java.awt.image.BufferedImage; import java.io.*; import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Base64; import java.util.List; /** * ofd文件工具类 */ public class OfdUtils { public static final Base64.Decoder DECODER = Base64.getDecoder(); private OfdUtils() { } /*** * ofdBase64转图片,返回base64编码集合 * * @param ofdBase64 pdf类型base64 * @return 图片base64 */ public static List ofdToImageBase64(String ofdBase64){ List list = new ArrayList(); if (StringUtils.isEmpty(ofdBase64)){ return list; } return ImageUtils.imageToBase64(OfdUtils.ofdToImage(ofdBase64)); } /*** * ofdBase64转图片,返回图片对象 * * @param ofdBase64 pdf类型base64 * @return BufferedImage */ public static List ofdToImage(String ofdBase64){ List list = new ArrayList(); if (StringUtils.isEmpty(ofdBase64)){ return list; } byte[] decode = DECODER.decode(ofdBase64.getBytes(StandardCharsets.UTF_8)); try( ByteArrayInputStream stream = new ByteArrayInputStream(decode); OFDReader reader = new OFDReader(stream); ) { ImageMaker imageMaker = new ImageMaker(reader, 15); for (int i = 0; i < imageMaker.pageSize(); i++) { // 指定页码转换图片 list.add(imageMaker.makePage(i)); } } catch (IOException e) { e.printStackTrace(); } return list; } }

ImageUtils 工具包在:Java 图片工具,支持图片合并,转换base64_java图片转换器_@&-平淡★:的博客-CSDN博客,配合转换后的BufferedImage对象进行操作



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有