前言

在很多的项目中都会遇到操作Word文件的需求,特别是To B的这种项目。像一些招聘网站最常见的一个功能那就是导出简历啦,可以导出doc,pdf,html等格式。

需求:

  • 用户上传Word模板,需要将数据替换到Word模板中,然后输出PDF文件。
  • 上传的模板需要在网页中显示,也就是输出的PDF文件是什么样子,网页中也要显示什么样子。

基于上面的需求,最基本的功能还是得修改Word文件,修改完成之后然后再转PDF, 如何在网页中显示呢?比如说我们可以生成html格式,嵌入到网页中,生成图片也是可以的。

最常见的操作框架有POI, OpenOffice也挺强大,可以直接通过命令的方式转换格式。上面的需求你用其他的框架肯定能实现,可能会比较麻烦,今天给大家推荐一个非常好用的神器XDOC。

我之所以称为神器,原因是确实非常好用,主要是简单,不需要任何jar包依赖,不需要安装任务软件,直接有云服务支持,并且是免费的。

官网地址:www.xdocin.com/

使用

使用有下面几种方式:

  • 直接调用接口
  • 采用封装好的jar

为了简单我们直接使用封装好的,要么引入jar,要么复制XDocService.java

XDocService用于在java应用中和操作系统命令行中调用xdoc服务。

程序库 :www.xdocin.com/XDocService… 源代码 :www.xdocin.com/XDocService…

首先我们先来简单的对一个word文件转pdf操作, 在E:\test目录下创建一个test.docx文件,如下图:

文件中有文字,字体设置,有图片,接下来开始编写转换代码:

XDocService service = new XDocService();
try {service.to("E:\\test\\test.docx", new File("E:\\test\\test.pdf"));
} catch (IOException e) {e.printStackTrace();
}
复制代码

只需要2行代码,我们就可以实现word转pdf的操作,是不是很简单。

接下来实现一个稍微复杂点的需求,在将word转pdf的时候,动态去修改word中的内容,我们修改下docx文件,将标题变成动态的,使用${文字}格式编写。

也就是说这个模板是固定的,但是我们可以在生成的时候去设置这个标题的文字,看代码:

XDocService service = new XDocService();
try {Map<String, Object> param = new HashMap<String, Object>();param.put("标题", "微服务");service.run("E:\\test\\test.docx", param, new File("E:\\test\\test.pdf"));
} catch (IOException e) {e.printStackTrace();
}
复制代码

涉及到参数的传递我们用run方法,效果如下:

最后再讲一个点,将docx中的图片也能动态替换,同样的修改模板,改成占位符就可以了。

代码需要将图片作为参数传入,有2种方式,一种是传递图片的地址,需要是http://xx.png,能够通过网络访问,还有一种就是本地图片,本地图片需要转成DataURI方式传入。

XDocService service = new XDocService();
try {Map<String, Object> param = new HashMap<String, Object>();param.put("标题", "微服务");param.put("图片", "http://cxytiandi.com/images/gongzhonghao.jpg");service.run("E:\\test\\test.docx", param, new File("E:\\test\\test.pdf"));
} catch (IOException e) {e.printStackTrace();
}
复制代码

就写这么多吧,更多的使用方式,请自行去官网查看文档。总之就是一句话,很好用。

新书购买:单本75折包邮

Word转PDF,PNG,HTML神器XDOC相关推荐

  1. html输出doc,Word转PDF,PNG,HTML神器XDOC

    Word转PDF,PNG,HTML神器XDOC 原创 猿天地2020-08-02 17:09:10©著作权 文章标签 神器: 阅读数 601 ©著作权归作者所有:来自51CTO博客作者猿天地的原创作品 ...

  2. .net core word转pdf_免费在线转换PDF转Word、Word转PDF,办公必备神器

    哈哈哈,早上好 我是勤奋更新的菜鸟 今天好几个同事问我 有没有办法把Word转PDF 当时我就笑了,这是个问题吗 后来想了想 确实不少人会遇到这个问题 PDF不能编辑,转换不好出乱码啥的 想想还挺闹心 ...

  3. Java使用XDOC实现word,pdf等格式的生成及转换

    Java使用XDOC实现word,pdf等格式的生成及转换 最近业务上有个需求,要将生成的简报以word或者pdf等格式下载下来 刚开始我设想的是用io流的方法直接写,但是这样无疑是比较麻烦的 直到我 ...

  4. office 文档 在线预览功能实现(word,excel,pdf,ppt等多种格式)——使用https://view.xdocin.com/view 提示文档过期——基础积累

    web实现office文档在线预览功能--基础积累 最近遇到一个需求,就是要实现多种文档链接的在线预览,最简单的方式就是通过window.open(url地址)的方式来实现. 但是如果要求是在一个弹窗 ...

  5. poi的导出Excel,word,PDF格式

    啰嗦两句吧,之前一直用jxl进行导入导出,但人家不更新了,也不能导出成word和PDF格式,网上说主流的下载都是POI了,我没用过这神器,手痒,就写了借鉴一些前辈们的代码写了如下的代码,但在导出Exc ...

  6. 小圆象PDF转换器:Word转PDF转换软件有哪些?Word转PDF简单方法分享

    当我们刚接触到电脑时,我们最先使用的文档格式一般是 Word 格式,这种格式适合我们记录文件,在记录和书写方面有很大的优势.但是我们编辑完Word文档后,我们会选择转换成PDF格式保存,因为PDF格式 ...

  7. 【技术】基于 SpringBoot实现 Word 和 PDF 识别

    基于 SpringBoot实现 Word 和 PDF 识别 基于 SpringBoot 实现 Word 和 PDF 识别 识别 Word 识别 PDF 基于 SpringBoot 实现 Word 和 ...

  8. openOffice word转pdf,pdf转图片优化版

    之前写了一个版本的,不过代码繁琐而且不好用,效率有些问题.尤其pdf转图片速度太慢.下面是优化版本的代码. spriing_boot 版本信息:2.0.1.RELEASE 1.配置信息: packag ...

  9. python word转pdf

    原理 使用python win32 库 调用word底层vba,将word转成pdf 安装pywin32 pip install pywin32 python代码 from win32com.clie ...

最新文章

  1. html轮廓位置,html – 具有边框/轮廓的六边形
  2. mojo 关闭utf8
  3. 如何使用gnvm自动更新Windows10操作系统上的nodejs
  4. Android Studio Tips -- 提取方法
  5. 我常用的几款数据软件
  6. 算法4(一、递归学习)
  7. (1)pytorch 实现 minist手写数据集(cpu/gpu)版本
  8. 计算机二级题库病毒,计算机二级MS Office题库
  9. CSS单行文本溢出显示省略号(…)
  10. 磅、号、ppi、dpi、字号和分辨率关系
  11. 怎么删除服务器的ibd文件,mysql数据库ibd文件
  12. Exoplayer的详细使用UI篇
  13. 【成像】【4】产生连续波Terahertz辐射
  14. python clicknium 微信发送消息以及获取好友列表
  15. 1334177-81-9,S-acetyl-PEG8-alcohol乙酰硫基可以脱保护生成巯基
  16. HTML5学习01-基础讲解、新特性
  17. 软负载均衡和硬负载均衡
  18. python画小猪_利用python画小猪佩奇
  19. IATF16949认证辅导,对顾客特殊要求进行评估和确定并包含在质量管理体系范围
  20. 一款 Java 开源的即时通讯 IM 聊天系统

热门文章

  1. 阿里云的OSS云存储 上传文件
  2. text-indent html,css text-indent属性怎么用
  3. 数据中台 -- 学习笔记(一)
  4. mqtt 串口_移柯L620模组使用MQTT协议连接移动OneNet云平台
  5. 北京站3G网络测试_摩托罗拉 XT910(RAZR)_3G评测-中关村在线
  6. ARMv8(aarch64)指令集特性
  7. mathtype安装words ,完成毕业论文全流程
  8. 招标代理服务收费管理_代理指标在服务管理中的使用
  9. 050.前端开发之HTML基础及常用标签
  10. 大数据带来信息安全隐忧 陕西拟启动网络安全智库建设