-
ofd与pdf互转
之前有博客写了ofd与pdf文件进行相互转化, 【pdf与ofd相互转化 】,但是spire-pdf的jar包进行ofd转为pdf时,如果是双层ofd文件,最后转化的结果会丢失上层内容。因此可以使用spire.free.pdf进行pdf转化为ofd,使用ofdr进行ofd转为pdf。
-
ofd转为pdf
ofdrw-full git 官方文档 ofdrw-full能完整转化spire转化不了的双层ofd文件。
引入依赖:<dependency> <groupId>org.ofdrw</groupId> <artifactId>ofdrw-full</artifactId> <version>1.20.2</version> </dependency>
如果出现报错,log4j-slf4j-impl依赖与spring-boot引用的log4j依赖有冲出,直接排除引用即可
<dependency> <groupId>org.ofdrw</groupId> <artifactId>ofdrw-full</artifactId> <version>1.20.2</version> <exclusions> <exclusion> <artifactId>log4j-slf4j-impl</artifactId> <groupId>org.apache.logging.log4j</groupId> </exclusion> </exclusions> </dependency>
转化代码:
//ofd文件Content-Type内容 public static final String fileType = "octet-stream"; public static final String ofdType = "ofd"; /** * @return * @Author xiangyong.zeng * @Description 转化ofd文件,为pdf文件,返回文件路径 * @Date 18:05 2022/11/29 * @Param **/ public static String transOfdToPdf(String path) { if (StringUtils.isBlank(path)) { return null; } String pdfPath = null; if (path.toLowerCase().contains(fileType)) { pdfPath = path.toLowerCase().replace(fileType, "pdf"); } else if (path.toLowerCase().contains(ofdType)) { pdfPath = path.toLowerCase().replace(ofdType, "pdf"); } //如果路径没有包含ofd的文件内容,则无需进行转化,返回空 if (StringUtils.isBlank(pdfPath)) { return null; } ConvertHelper.ofd2pdf(path, pdfPath); return pdfPath; }
java ofd文件格式转化为pdf,双层ofd转为pdf
最新推荐文章于 2023-10-12 17:15:26 发布