Java将Word转换成PDF-aspose

Java将Word转换成PDF

本文将演示用aspose-word.jar包来实现将Word转换成PDF,且可以保留图表和图片。


文章目录

  • Java将Word转换成PDF
  • 前言
  • 一、aspose是什么?
  • 二、使用步骤
    • 1.下载jar包
    • 2.引入库
    • 3.word 转pdf
  • 补充
    • 1.根据模板生成word
      • (1)FreeMarker模板引擎
      • (2)word中的书签来实现
  • 总结


前言

在公司OA项目开发中, 需要将word版本的合同模板上传,业务员只能下载pdf版本合同模板,需要实现将Word转换成PDF,并且动态填充项目编号以及甲乙方信息等。


一、aspose是什么?

Aspose.Words for Java是一个原生库,为开发人员提供了丰富的功能来创建、编辑和转换 Word、PDF、Web 文档,而无需在系统上安装 Microsoft Word 环境。该 Java 库是依赖于文档对象模型 (DOM) 的类和方法的集合,使开发人员能够在元素级别直接访问文档的内部工作方式。使用我们的产品,Java 开发人员可以高效地创建复杂的文档并修改其格式、布局和内容。
对于寻求综合工具来简化文档编辑和文档生成任务的开发人员来说,这个原生 Java API 是一个可靠的文档处理解决方案;大规模自动化文档密集型业务流程;减少人工干预、错误和延迟。

二、使用步骤

1.下载jar包

2.引入库

<dependency><groupId>com.aspose</groupId><artifactId>aspose-words</artifactId><version>21.1</version><classifier>jdk17</classifier><scope>system</scope><systemPath>${project.basedir}/src/main/resources/lib/aspose-words-21.1-jdk17.jar</systemPath></dependency>

3.word 转pdf

代码如下(示例):

   Document doc = new Document("C:\\Users\\Administrator\\Desktop\\架构软考\\架构知识点.docx");doc.save("C:\\Users\\Administrator\\Desktop\\out.pdf", SaveFormat.PDF);

补充

1.根据模板生成word

(1)FreeMarker模板引擎

FreeMarker模板引擎来生成word是最简单的,最主要的一点就是前期模板文件的生成,适用于模板文件固定的场景。

(2)word中的书签来实现

通过在word里设置书签,然后调用aspose-word中的获取书签并且填充内容来实现,这种方式的好处前期模板文件好生成,只要会用word的基本上就可以学会怎么生成一个模板文件。适用于模板文件不固定的场景,生成模板文件简单快捷。

总结

以上就是今天要讲的内容,本文仅仅简单介绍了aspose-word中word转pdf的功能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/109764.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何管理前端状态?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

计算机网络中的CSMA/CD算法的操作流程(《自顶向下》里的提炼总结)

具有碰撞检测的载波侦听多路访问&#xff08;CSMA/CD算法&#xff09; 以下内容总结&#xff0c;对应《计算机网络自顶向下第七版》第六章链路层和局域网P299 操作流程&#xff1a; NIC&#xff08;适配器&#xff0c;即网络接口&#xff09;从网络层接收数据报&#xff0c;…

OneDrive打不开了,怎么办?使用管理员身份也无效,分享解决办法如下

文章目录 1、问题描述2、解决办法2.1 修改注册表信息2.2 修改本地组策略 1、问题描述 电脑自带的 OneDrive 突然打不开了&#xff0c;双击也没有任何反应&#xff0c;以管理员身份打开也不行。去看了好多资料才解决这个问题&#xff0c;现分享如下&#xff1b; 2、解决办法 …

用友GRP-U8 SQL注入漏洞复现

0x01 产品简介 用友GRP-U8R10行政事业财务管理软件是用友公司专注于国家电子政务事业&#xff0c;基于云计算技术所推出的新一代产品&#xff0c;是我国行政事业财务领域最专业的政府财务管理软件。 0x02 漏洞概述 用友GRP-U8的bx_historyDataCheck jsp、slbmbygr.jsp等接口存…

视频批量加水印:保护版权,提升效率

在当今的自媒体时代&#xff0c;视频制作已经成为许多人的一项必备技能。然而&#xff0c;在视频制作过程中&#xff0c;如何为自己的视频添加独特的水印以保护知识产权&#xff0c;常常让许多制作者感到困扰。本文将为你揭示如何通过固乔剪辑助手软件&#xff0c;简单几步批量…

性能测试:测试常见的指标(超详细~)

前言 今天想和大家来聊聊性能测试常见的指标&#xff0c;我在这里也不喜欢说废话我们直接开始吧。 同时&#xff0c;我也为大家准备了一份软件测试视频教程&#xff08;含面试、接口、自动化、性能测试等&#xff09;&#xff0c;就在下方&#xff0c;需要的可以直接去观看&am…

JavaScript常用函数

JS字符串方法大全 JS-2490. 回环句 const list str.split( ); JS-2506. 统计相似字符串对的数目 words words.map(item > [...new Set(item)].sort().join())

电子器件系列49:CD4050B缓冲器

同相和反向缓冲器 还搞不懂缓冲电路&#xff1f;看这一文&#xff0c;工作原理作用电路设计使用方法 - 知乎 (zhihu.com) 缓冲器_百度百科 (baidu.com) 1、缓冲器的定义 缓冲器是数字元件的其中一种&#xff0c;它对输入值不执行任何运算&#xff0c;其输出值和输入值一样&…

【vim 学习系列文章 11 -- vim filetype | execute | runtimepath 详细介绍】

文章目录 filetype plugin indent on 什么功能&#xff1f;vim runtimepath 详细介绍vim 中 execute 命令详细介绍execute pathogen#infect() 详细介绍 filetype plugin indent on 什么功能&#xff1f; 在网上我们经常可以看到vimrc配置中有 filetype plugin indent on 这个配…

Python进阶(更新中)

typing Python的typing模块是Python 3.5版本引入的一个标准库&#xff0c;它提供了一种在Python代码中显式声明类型的方式&#xff0c;可以帮助开发人员更好地理解和使用Python的类型系统。 使用typing模块&#xff0c;您可以在函数、类、变量等地方添加类型注解&#xff0c;以…

VR智能家居虚拟连接仿真培训系统重塑传统家居行业

家居行业基于对场景的打造及设计&#xff0c;拥有广阔前景&#xff0c;是众多行业里面成为最有可能进行元宇宙落地的应用场景之一。 家居行业十分注重场景的打造及设计&#xff0c;而元宇宙恰恰能通过将人工智能、虚拟现实、大数据、物联网等技术融合提升&#xff0c;带来身临其…

vue使用腾讯地图,实现点标记,搜索

效果图&#xff1a; 1、public文件夹下index.html添加 // public/index.html <script src"https://map.qq.com/api/js?v2.exp&key你的ksy"></script> <script src"https://map.qq.com/api/gljs?v1.exp&librariesservice&key你…

【LeetCode】26. 删除有序数组中的重复项

1 问题 给你一个 非严格递增排列 的数组 nums &#xff0c;请你 原地 删除重复出现的元素&#xff0c;使每个元素 只出现一次 &#xff0c;返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的唯一元素的数量为 k &…

spring Boot使用Mybatis实践

Mybatis作为一款优秀的持久层框架&#xff0c;具有简化SQL编写、灵活性、易于集成、等特点深受开发人员青睐&#xff0c;下文将为大家讲到在Spring Boot中如何使用Mybatis 1、依赖引入 数据库驱动 <dependency><groupId>mysql</groupId><artifactId>…

django系列之事务操作

Django 默认的事务行为是自动提交&#xff0c;除非事务正在执行&#xff0c;否则每个查询将会马上自动提交到数据库。 1. 全局开启事务 在 Web 里&#xff0c;处理事务比较常用的方式是将每个请求封装在一个事务中。 在你想启用该行为的数据库中&#xff0c;把 settings 配置…

YOLOv5-训练自己的VOC格式数据集(VOC、自建数据集)

YOLOv5&#xff1a;训练自己的 VOC 格式数据集 1. 自定义数据集 1.1 环境安装 pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple注意&#xff1a; 安装 lxmlPillow 版本要低于 10.0.0&#xff0c;解释链接: module ‘PIL.Image’ has no attri…

Hadoop3教程(十六):MapReduce中的OutputFormat

文章目录 &#xff08;105&#xff09;OutputFormat概述&#xff08;106&#xff09;自定义OutputFormat案例需求分析&#xff08;107/108&#xff09;自定义OutputFormat案例实现自定义Mapper自定义Reducer自定义OutputFormatDriver 参考文献 &#xff08;105&#xff09;Outp…

Jetpack:012-Jetpack中的弹出菜单

文章目录 1. 概念介绍2. 使用方法2.1 DropdownMenu2.2 DropdownMenuItem 3. 示例代码3.1 代码和注释3.2 代码难点3.3 运行效果 4. 内容总结 我们在上一章回中介绍了Jetpack中标题栏相关的内容&#xff0c;本章回中主要 弹出菜单。闲话休提&#xff0c;让我们一起Talk Android …

AI系统ChatGPT源码+详细搭建部署教程+支持GPT4.0+支持ai绘画(Midjourney)/支持OpenAI GPT全模型+国内AI全模型

一、AI创作系统 SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统AI绘画系统&#xff0c;支持OpenAI GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署…

【vSphere 8 自签名证书】企业 CA 签名证书替换 vSphere Machine SSL 证书Ⅱ—— 创建和添加证书模板

目录 博文摘要3. 使用 Microsoft 证书颁发机构创建 Machine SSL 和 Solution User 证书模板3.1 打开 Certificate Template Console3.2 复制模板3.3 修改 Compatibility 选项卡3.4 修改 General 选项卡3.5 修改 Extensions 选项卡3.6 修改 Subject Name 选项卡3.7 确认新模板 4…