当前位置: 首页 > news >正文

Java操作Miscrosoft Office各类文件格式的开源免费工具库

Aspose.Words库
是一个商业Java库,还封装了常用的word、pdf、防伪码、水印等诸多功能。

Apache 库需要注意的前置问题

问题1:Word的两个格式doc和docx,POI并没有提供统一的处理类。分别用 HWPFDocument 处理doc文档,用 XWPFTemplate 处理docx文档。
HWPFDocument 处理doc文档
XWPFTemplate 处理docx文档
解决方法1:将.doc文件转成.docx格式,处理完后再转回来。
解决方法2:(待验证)可以前置统一将.doc名字重命名成.docx,如果严格要求格式,处理完后再把名字改回去。
Excel(xls和xlsx)同理。
Miscrosoft Office各类文件格式的读写:
Apache POI库
Apache POI是一个开源的Java库,用于操作Microsoft Office格式的文件。
它支持各种Office文档的读写功能,包括Word文档、Excel电子表格、PowerPoint演示文稿、Outlook电子邮件等。
Apache POI提供了一组API,使得Java开发者能够轻松地在Java应用程序中处理Office文件。
Java 将 Word 文档转换为 PDF
使用PdfConverter工具类,如下:
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.converter.pdf.PdfConverter;
import org.apache.poi.xwpf.converter.pdf.PdfOptions;
public class Word2PdfByApachePOI {public start void main(String[] args) throws Exception {// 读取word目标文件XWPFDocument docx = new XWPFDocument(new FileInputStream("xxxx/input.docx"));//创建pdf选项PdfOptions options = PdfOptions.create();// word转为pdfPdfConverter.getInstance().convert(docx, new FileOutputStream("output.pdf"),options);}
}
PDF操作
Apache PDFBox库是一个开源的Java工具,专门用于处理PDF文档。
它允许用户创建全新的PDF文件,编辑现有的PDF文档,以及从PDF文件中提取内容。功能:创建、渲染、打印、合并、拆分、加密、解密、签名等多种操作PDF文件的功能,包括一个命令行工具,可以用于执行各种PDF处理任务。
支持文本提取和搜索,以及将PDF转换为其他格式,如图片和文本。Apache PDFBox具备以下主要功能:从PDF文件中提取Unicode文本。将单个PDF文件拆分成多个文件,或将多个PDF文件合并成一个。从PDF表单中提取数据,或填写PDF表单。验证PDF文件是否符合PDF/A-1b标准。使用标准的Java打印API打印PDF文件。将PDF文件另存为图像格式,如PNG或JPEG。从零开始创建PDF文件,包括嵌入字体和图像。对PDF文件进行数字签名。
http://www.lryc.cn/news/435045.html

相关文章:

  • Redis 缓存淘汰算法策略详解
  • Kubernetes PV生命周期的四个阶段
  • Azure OpenAI models being unable to correctly identify model
  • 项目小结二()
  • 《论层次架构及其在软件系统中的应用》写作框架,软考高级系统架构设计师
  • 校篮球联赛系统小程序的设计
  • 在 HKCR 新增项和值
  • Spring Boot 注解探秘:JSON 处理的魔法世界
  • 利用AI驱动智能BI数据可视化-深度评测Amazon Quicksight(一)
  • Linux常见指令、ls、pwd、cd、touch、mkdir、rmdir、rm等的介绍
  • 【Kubernetes】常见面试题汇总(八)
  • CentOS 7系统双网卡配置动态链路聚合(bond4)
  • ubuntu 20.04 一直卡在登录界面,即使密码正确也无法登录(失败记录)
  • 【深度学习】神经网络-怎么理解DNN、CNN、RNN?
  • 组织应在其网络安全策略中考虑MLSecOps吗?
  • Windows安装HeidiSQL教程(图文)
  • 存储课程学习笔记5_iouring的练习(io_uring,rust_echo_bench,fio)
  • 前端HTML+CSS+JS的入门学习
  • 通信电路和信道的区别与联系
  • 基于深度学习的蛋白质结构预测
  • 基于 Redis 的分布式锁实现原理及步骤
  • 21_动态规划与数据结构结合
  • React与Vue的对比
  • 精密量测软件(仿KLA免费浏览器程序ProfilmOnline)
  • Java项目: 基于SpringBoot+mybatis+maven实现的IT技术交流和分享平台(含源码+数据库+毕业论文)
  • STL02——手写简单版本的list
  • 基于SpringBoot的校园自助洗衣服务管理系统
  • 音视频入门基础:AAC专题(2)——使用FFmpeg命令生成AAC裸流文件
  • 第 6 篇 自定义 Helm Chart
  • Jenkis部署vue前端项目提示:sh: vue-cli-service: command not found